ShareSDK接入实现微信分享功能

ShareSDK接入实现微信分享功能

首先需要去Mob官网(http://www.mob.com/)下载shareSDK For Unity3d

这里写图片描述

下载完成,解压,将以下plugins文件夹移入Unity项目的Assets文件夹里,并将项目平台转换为安卓平台

ShareSDK接入实现微信分享功能_第1张图片

ShareSDK接入实现微信分享功能_第2张图片

在场景里创建几个cube作为场景内容,创建一个button作为分享按钮,最后创建一个text来显示分享返回信息

ShareSDK接入实现微信分享功能_第3张图片

为场景内的摄像机(或者其他任意gameobject)添加ShareSDK脚本,同时创建一个demo脚本挂在摄像机上

ShareSDK接入实现微信分享功能_第4张图片

ShareSDK脚本需要填写AppKey和AppSecret,可以去mob平台官网注册一个账号,添加一个应用后获得。接下来需要开启我们想使用的分享平台关闭我们不需要使用的分享平台,如图,当某个平台不勾选enable时,无法使用这个平台的分享功能,本例使用微信分享,因此关闭了其他的平台(注:相关平台需要Appkey和AppSecret需要注册获得,例如微信则需要去注册微信开放平台获得)


上图中如勾选了BypassApproval,则在分享时会绕过微信验证,但是功能不全,只能一图片方式分享图片(这样是否就不需要微信提供的Appkey和AppSecret呢?暂时未验证)。

以上设置准备工作做完就可以开始编辑我们的代码了。

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

public class demo : MonoBehaviour {
    public ShareSDK sharesdk;
    private string objectname;
    public Text text;
    public Button button;
	// Use this for initialization
	void Start () {
        //获取到ShareSDK脚本组件
        sharesdk = GetComponent();
        //获取到场景的Text用以显示信息
        text = GameObject.Find("Text").GetComponent();
        //获取到场景的button用以执行分享操作
        button = GameObject.Find("Button").GetComponent
编写完脚本以后,就可以把项目发布成apk进行测试了。注:在发布apk时使用的包名和签名,要和项目中所用的微信开放平台给的appkey所对应的包名和签名一致。测试结果如下:

ShareSDK接入实现微信分享功能_第5张图片ShareSDK接入实现微信分享功能_第6张图片ShareSDK接入实现微信分享功能_第7张图片

上图中黄圈里面的“虫虫总动员2018”是项目中使用的微信开放平台的appkey对应的应用名,微信自动给添加。

但是在测试时发现回调函数并没有执行,如图:

ShareSDK接入实现微信分享功能_第8张图片

屏幕中间的text并没有显示回调函数里面的信息,说明回调函数没有执行,为此,我们还需要设置安卓配置文件并且修改DemoCallback.jar包。

首先,修改安卓配置文件,如图

ShareSDK接入实现微信分享功能_第9张图片

ShareSDK接入实现微信分享功能_第10张图片

将上图中红框里的包名改为使用的微信开放平台appkey所对应的包名。

然后修改DemoCallback.jar包,如图:

ShareSDK接入实现微信分享功能_第11张图片

将这个jar包导入eclipse,然后修改包名为使用的微信开放平台appkey所对应的包名,导出,替换掉项目里的jar包以后即可实现回调(注:本例只使用了微信分享功能,故在libs文件夹里将其他平台的jar包删除,只留下了微信分享相关的jar包和shareSDK必须的jar包(结果如图),不需要的平台jar包可以删除,并且有一个telegram平台分享在使用sharesdk.ShowPlatformList方法时会自己出现,无法在shareSDK组件里取消enable勾选来关闭,故不想显示这个平台的话需要手动删除telegram平台的jar包)。

运行结果如图:

ShareSDK接入实现微信分享功能_第12张图片ShareSDK接入实现微信分享功能_第13张图片







你可能感兴趣的:(unity3d)