【ShareSDK】Unity3d 使用ShareSDK 做安卓分享
来源:互联网 发布:linux 查看登陆用户 编辑:程序博客网 时间:2024/05/18 14:42
原文地址:http://blog.csdn.net/u012322710/article/details/52851254
一. 从 http://www.mob.com/ 下载Unity3D的ShareSDK包。
二. 注册一个账号,随便创建一个应用,获得一个APP Key ( 这一步不是必须的,但是可以统计分析数据,很实用)。
三. 导入ShareSDKForU3D.unitypackage插件包,在Unity里,随便在一个物体上拖进shareSDK这个脚本,选择为安卓项目。
四. 修改shareSDK组建,填入刚才获得的APP Key ,修改下面的各种平台的对接参数,需要去各个平台申请,如果不修改这个脚本的话,使用的都是官方的测试数据。不需要的平台可以直接在ShareSDKDevInfo.cs中注释掉。
五. 写代码
using UnityEngine;using System.Collections;using UnityEngine.UI;using cn.sharesdk.unity3d; //导入ShareSdkpublic class ShareDemo : MonoBehaviour { private ShareSDK shareSdk; public Text message; void Start () { shareSdk = GetComponent<ShareSDK>(); //分享回调事件 shareSdk.shareHandler += ShareResultHandler; //授权回调事件 shareSdk.authHandler += AuthResultHandler; //用户信息事件 shareSdk.showUserHandler += GetUserInfoResultHandler;} //分享 public void OnShareClick() { ShareContent content = new ShareContent(); //这个地方要参考不同平台需要的参数 可以看ShareSDK提供的 分享内容参数表.docx content.SetText("快来和我一起玩这个游戏吧!"); //分享文字 content.SetImageUrl("https://f1.webshare.mob.com/code/demo/img/4.jpg"); //分享图片 content.SetTitle("标题title"); //分享标题 content.SetTitleUrl("http://www.qq.com"); content.SetSite("Mob-ShareSDK"); content.SetSiteUrl("http://www.mob.com"); content.SetUrl("http://www.sina.com"); //分享网址 content.SetComment("描述"); content.SetMusicUrl("http://up.mcyt.net/md5/53/OTg1NjA5OQ_Qq4329912.mp3");//分享类型为音乐时用 content.SetShareType(ContentType.Webpage); //shareSdk.ShowPlatformList(null, content, 100, 100); //弹出分享菜单选择列表 shareSdk.ShowShareContentEditor(PlatformType.QQ, 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 !");}} //授权 public void OnAuthClick() { //请求QQ授权//请求这个授权是为了获取用户信息来第三方登录 shareSdk.Authorize(PlatformType.QQ); } //授权结果回调 void AuthResultHandler(int reqID, ResponseState state, PlatformType type, Hashtable result) { if (state == ResponseState.Success) { message.text = ("authorize success !"); //授权成功的话,获取用户信息 shareSdk.GetUserInfo(type); } 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 !"); } } //获取用户信息 void GetUserInfoResultHandler(int reqID, ResponseState state, PlatformType type, Hashtable result) { if (state == ResponseState.Success) { //获取成功的话 可以写一个类放不同平台的结构体,用PlatformType来判断,用户的Json转化成结构体,来做第三方登录。 switch (type) { case PlatformType.QQ: message.text = (MiniJSON.jsonEncode(result)); //Json break; } } 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 !"); } }}
六. 修改安卓配置文件 AndroidManifest.xml
这个地方写了很多ShareSDK需要的安卓权限什么的,不修改也是能运行的,以后如果要和其他安卓功能结合需要修改。
结束语:还可以,挺好用的,支持安卓和iOS,而且还带统计,据说还是免费的。但是他本身带的MiniJSON真的没有LitJson好用,如果要做第三方登录还是用LitJson来解析比较好。还有授权以后转会应用,就重新打开了,导致接受不到信息。这个以后再研究吧。
Demo下载地址: http://download.csdn.NET/detail/u012322710/9657229
阅读全文
0 0
- 【ShareSDK】Unity3d 使用ShareSDK 做安卓分享
- shareSDK使用分享
- ShareSDK分享使用步骤
- Unity3d 使用ShareSDK做分享和第三方登录功能
- ShareSDK分享
- ShareSDK分享
- ShareSDK分享
- ShareSDK 分享
- shareSDK 分享
- ShareSDK分享
- ShareSDK分享
- shareSdk分享
- shareSDK分享
- 使用ShareSDK,实现快捷分享
- 使用sharesdk做分享登录
- 社交分享--ShareSDK的使用
- 使用ShareSDK无法微信分享的解决方法,sharesdk分享
- ShareSDK使用
- [总结]FFMPEG视音频编解码零基础学习方法
- 深入理解C语言的函数调用过程
- Unity DES AES加密数据 序列化和反序列化 通用方法
- 【PAT甲级】1075. PAT Judge (25)
- echarts之tooltip-trigger
- 【ShareSDK】Unity3d 使用ShareSDK 做安卓分享
- HashSet的实现
- Linux 通配符 及特殊字符 $、\、`、
- Selenium学习笔记19-操作控件设置高亮
- 一次完整的自动化测试-2017-7-4
- 第一次的博客
- Unity RSA 加密数据 序列化和反序列化 通用方法
- Spring MVC之LocaleResolver(解析用户区域)
- 627. Swap Salary