1. 准备工作
结构如下图所示:
SDK2. SDK置入
创建一个工程, 导入ShareSDKForU3D.unitypackage (注: ShareSDK为我们提供一个test场景,可以自己去分析一下. 当然这里的ShareSDK账号申请以及创建APP等操作就不再说明 我们直接使用官方为我们提供的数据即可)
报错解决: BuildSetting中把当前的环境改成Android
![]()
环境错误接下来我们进入正题:
3. 搭建界面
![]()
如图所示![]()
4. 脚本
a. 给Camera挂载ShareSDK脚本.这个脚本是用来配置分享的平台信息的 (注: 如果你已经注册了相应分享平台的AppKey和AppSecret, 就直接在Inspector面板配置即可,这里我就不带着去做.)
b. 如果你只想支持部分平台的分享, 只需要去修改 ShareSDKDevInfo 脚本中 DevInfoSet 类. 注释掉不需要的分享的平台即可
c. 在给摄像机添加一个ShareTest脚本, 用来实现分享按钮和登录按钮的点击事件以及ShareSDK分享和登录的回调事件
脚本: /* *Author *Jens */ using UnityEngine; using System.Collections; using cn.sharesdk.unity3d; using UnityEngine.UI; public class ShareTest : MonoBehaviour { private ShareSDK shareSdk; //显示回调信息的文本框 public Text msgText; void Start () { shareSdk = GetComponent <ShareSDK> (); //分享回调事件 绑定 shareSdk.shareHandler += ShareResultHandle; //授权回调事件 shareSdk.authHandler += AuthResultHandle; //用户信息事件 shareSdk.showUserHandler += GetUserInfoResultHandle; } #region 分享 //点击分享按钮调用的方法 public void OnClickedToShare () { ShareContent content = new ShareContent (); //文本 content.SetText ("美女帅哥进来看看啊~~"); //图片 content.SetImageUrl ("http://ww3.sinaimg.cn/mw690/be159dedgw1evgxdt9h3fj218g0xctod.jpg"); //标题 content.SetTitle ("你好帅"); content.SetTitleUrl ("http://www.baidu.com"); content.SetSite ("Mob-ShareSDK"); content.SetSiteUrl ("http://www.mob.com"); //分享网址 content.SetUrl ("http://www.mob.com"); content.SetComment ("描述"); //分享类型为音乐时使用 content.SetMusicUrl ("http://mp3.mwap8.com/destdir/Music/2009/20090601/ZuiXuanMinZuFeng20090601119.mp3"); content.SetShareType (ContentType.Webpage); //弹出分享菜单选择列表 shareSdk.ShowPlatformList (null, content, 100, 100); //指定平台分享 //shareSdk.ShowShareContentEditor (PlatformType.QQ,content); } //分享结果回调 void ShareResultHandle (int reqID, ResponseState state,PlatformType type,Hashtable data) { if (state == ResponseState.Success) { msgText.text = MiniJSON.jsonEncode (data); } else if (state == ResponseState.Fail) { print ("fail! throwable stack = " + data ["stack"] + "; error msg = " + data ["msg"]); } else if (state == ResponseState.Cancel) { msgText.text = "Cancel !~!~~~~~~"; } } #endregion #region qq授权登录 //点击登录按钮调用的方法 public void OnClickedToLogin () { //请求授权来获用户信息从而实现第三方登录 shareSdk.Authorize (PlatformType.QQ); } //授权登录的回调 void AuthResultHandle (int reqID, ResponseState state,PlatformType type,Hashtable data) { if (state == ResponseState.Success) { msgText.text = "授权登录成功"; //授权成功的话, 获取用户的资料 shareSdk.GetUserInfo (type); } else if (state == ResponseState.Fail) { print ("fail! throwable stack = " + data ["stack"] + "; error msg = " + data ["msg"]); } else if (state == ResponseState.Cancel) { msgText.text = "Cancel !~!~~~~~~"; } } #endregion #region 获取用户信息的回调 void GetUserInfoResultHandle (int reqID, ResponseState state,PlatformType type,Hashtable data) { if (state == ResponseState.Success) { //利用PlatformType来判断不同的平台获取用户信息的回调 //将返回数据编码成Json格式的数据, 进行json解析展示到界面即可 switch (type) { case PlatformType.QQ: msgText.text = MiniJSON.jsonEncode (data); break; } } else if (state == ResponseState.Fail) { print ("fail! throwable stack = " + data ["stack"] + "; error msg = " + data ["msg"]); } else if (state == ResponseState.Cancel) { msgText.text = "Cancel !~!~~~~~~"; } } #endregion }
4. 打包测试
![]()
分享注: 这个地方会发现显示的是"美的厨房" , 只需要你去腾讯开发者平台注册属于你的应用获取AppKey和AppSecret, 并在Inspector面板修改即可.
附带工程: 链接: https://pan.baidu.com/s/1jI6wMeq 密码: k9jy 最后如果有疑问,欢迎留言联系.
作者:Jens丶
链接:http://www.jianshu.com/p/c642e59d4761
來源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
转载自 : http://www.jianshu.com/p/c642e59d4761
Unity快速集成ShareSDK实现分享和授权登录
最新推荐文章于 2021-11-29 18:59:21 发布