新建Unity3d工程,在新建工程里Assets选择Import Package里的Custom Package倒入ShareSDK包android
这是由于在ShareSDK里只有在Android和iOS环境里才会定义appKey和appSecret,转化编译环境为Android,选择菜单里的File下的Buid Settings,选择Android和Switch Platform json
绑定ShareSDK脚本到Main Camera对象api
到微信开放平台https://open.weixin.qq.com/注册开发者帐号,申请应用取得AppID和AppSecret缓存
应用签名能够经过安装应用和应用签名apk,输入应用包名后得到,应用签名经过开发者后台菜单里的资源中内心下载微信
右键src文件夹导出 app
选择以前建立的三个包,选择输出目录C:\Users\Administrator\Desktop\DemoCallback.jar,再把DemoCallback.jar覆盖到默认的工程目录下的Assets->Plugins->Android->ShareSDK->libsui
下的Democallback.jar就能够了spa
新建ShareIt脚本,绑定在MainCamera上 插件
using System.Collections; using System.Collections.Generic; using UnityEngine; using cn.sharesdk.unity3d; using UnityEngine.UI; public class ShareIt : MonoBehaviour { private ShareSDK shareSdk; public Text message; void Start() { message.text = ("开始"); shareSdk = GetComponent<ShareSDK>(); //分享回调事件 shareSdk.shareHandler += ShareResultHandler; } //分享 public void OnShareClick() { ShareContent content = new ShareContent(); ScreenCapture.CaptureScreenshot("capture.png"); content.SetImagePath(Application.persistentDataPath + "/capture.png"); content.SetTitle("标题title"); //分享标题 content.SetShareType(ContentType.Image); shareSdk.ShowPlatformList(null, content, 100, 100); //弹出分享菜单选择列表 //shareSdk.ShowShareContentEditor(PlatformType.WeChat, content); //指定平台直接分享 } // 分享结果回调 void ShareResultHandler(int reqID, ResponseState state, PlatformType type, Hashtable result) { //成功 if (state == ResponseState.Success) { message.text = ("share result :"); message.text = (MiniJSON.jsonEncode(result)); } //失败 else if (state == ResponseState.Fail) { message.text = ("fail! error code = " + result["error_code"] + "; error msg = " + result["error_msg"]); } //关闭 else if (state == ResponseState.Cancel) { message.text = ("cancel !"); } else { message.text = "ShareResultHandler = " + state.ToString(); } } //受权 public void OnAuthClick() { //请求微信受权//请求这个受权是为了获取用户信息来第三方登陆 shareSdk.Authorize(PlatformType.WeChat); Debug.Log("OnAuth"); //message.text = ("受权中"); } }