Unity | 微信分享链接到好友及朋友圈

一、准备工作:

1. 获取ShareSDK:登录Mob官网,下载ShareSDK(点击右上角“SDK下载”按钮,进入SDK下载页,选择“其他”,下载Unity3D平台的ShareSDK插件:New-Unity-For-ShareSDK-master)

2. 获取项目AppKey及AppSecret:点击右上角“产品中心”,进入“开发者平台”,点击“创建应用”,添加LOGO,输入名称,选择“ShareSDK”,进入项目即可获取App Key及App Secret。

3.获取应用AppID及AppSecret:登录微信开放平台(现在注册需要填写公司信息),“管理中心”->创建移动应用,填写相关信息,这里需要注意的两点是:1.包名,2.需要填写签名(见下一步),然后等待微信开放平台审核就OK。

4.获取项目签名:用上一步中的包名作为unity项目打包时的Package Name,打包项目后安装到手机上,再安装一个叫GenSignature的APP(该APP可以从这里获取)。

二、Unity中的开发:

1.将New-Unity-For-ShareSDK-master下的ShareSDK.unitypackage导入到Unity中,MainCamera物体上添加ShareSDK组件;

2.将项目设置为Android平台(File->Build Setting->Switch Platform);

3.修改ShareSDK组件的appKey与appSecret参数;

4.修改ShareSDK组件下Dev Info下与微信有关的AppID及APPSecret,取消Bypass Approval(绕过审核)的勾选。如果我们开启了这个bool,那么就只能分享图文,不能分享链接。

5.修改AndroidManifest文件:

  • 修改包名:

  •  修改微信分享回调:

  • 修改App Key及App Secret:

6.添加代码:分享的相关参数可以见这里

using cn.sharesdk.unity3d;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class ShareWX : MonoBehaviour
{

    private ShareSDK shareSDK;
    public Text log;
    public Button shareWXBtn;//分享微信好友
    public Button shareWXFBtn;//分享微信朋友圈
    private void Awake()
    {
        shareSDK = this.GetComponent<ShareSDK>();
        shareWXBtn.onClick.AddListener(OnClickBtn1Down);
        shareWXFBtn.onClick.AddListener(OnClickBtn2Down);
    }
    void Start()
    {
        shareSDK.shareHandler = OnShareResultHandler;
    }
    /// <summary>
    /// 回调
    /// </summary>
    /// <param name="reqID"></param>
    /// <param name="state"></param>
    /// <param name="type"></param>
    /// <param name="data"></param>
    private void OnShareResultHandler(int reqID, ResponseState state, PlatformType type, Hashtable data)
    {
        if (state == ResponseState.Success)
        {
            print("share success");
            log.text = MiniJSON.jsonEncode(data);
        }
        else if (state == ResponseState.Fail)
        {
            log.text = "Share Failed:" + MiniJSON.jsonEncode(data);

        }
        else if (state == ResponseState.Cancel)
        {
            log.text = "Share Canceled:" + MiniJSON.jsonEncode(data);
        }
    }
    /// <summary>
    /// 分享到微信好友
    /// </summary>
    void OnClickBtn1Down()
    {
        ShareContent content = new ShareContent();
        content.SetTitle("test title");//title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间使用
        //content.SetImagePath(""); //imagePath是图片的本地路径,Linked - In以外的平台都支持此参数, 使用 imagePath 必须保证SDcard下面存在此张图片
        content.SetImageUrl("http://ww3.sinaimg.cn/mw690/be159dedgw1evgxdt9h3fj218g0xctod.jpg");//imagePath与imageUrl 必须保留一个,否则微信不能分享
        content.SetText("this is a test string.");//text是分享文本,所有平台都需要这个字段
        content.SetUrl("https://blog.csdn.net/weixin_39766005");//url仅在微信(包括好友和朋友圈)中使用

        //content.SetTitleUrl("");// titleUrl是标题的网络链接,仅在人人网和QQ空间使用
        //content.SetComment("我是测试评论文本");    // comment是我对这条分享的评论,仅在人人网和QQ空间使用
        //content.SetSite("");  // site是分享此内容的网站名称,仅在QQ空间使用
        //content.SetSiteUrl("");  // siteUrl是分享此内容的网站地址,仅在QQ空间使用

        content.SetShareType(ContentType.Webpage);
        shareSDK.ShareContent(PlatformType.WeChat, content);
    }
    /// <summary>
    /// 分享到微信朋友圈
    /// </summary>
    void OnClickBtn2Down()
    {
        ShareContent content = new ShareContent();
        content.SetTitle("test title");
        content.SetImageUrl("http://ww3.sinaimg.cn/mw690/be159dedgw1evgxdt9h3fj218g0xctod.jpg");
        content.SetText("this is a test string.");
        content.SetUrl("https://blog.csdn.net/weixin_39766005");
        content.SetShareType(ContentType.Webpage);
        shareSDK.ShareContent(PlatformType.WeChatMoments, content);
    }
}

7.设置Package Name为微信开放平台申请项目时的包名,此时打包可以实现分享功能,但回调还实现不了,需要在Eclipse里进行开发。(打包出错,可以将Build System设置为Internal)。

8.分享到好友及朋友圈的样子如下:

      

三、回调配置:

这部分需要做的就是自己导出一个DemoCallback.jar包,替换Unity中Plugins->Android ->ShareSDK->libs下的DemoCallback.jar,具体的操作步骤可以查看这篇博客,我自己研究了很长时间,Eclipse项目一直报错,打包出来的DemoCallback.jar没起到任何作用,最后找的官方人员(去官网找QQ联系)帮我打的jar包,只需要把你的包名告诉客服即可。

 最后的app分享效果:

发布了165 篇原创文章 · 获赞 22 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/weixin_39766005/article/details/104380024