ShakeSDK集成说明
功能:
ShakeSDK是用于实现第三方(如微信、微博、QQ等)平台的授权登陆、分享功能的插件。
官网:
http://www.mob.com/
官方集成文档:
http://wiki.mob.com/unity3d%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E6%8C%87%E5%8D%97/
框架内提供:
1、框架内提供了两个版本的ShakeSDK的unitypackage,可以直接在Unity内导入进行集成。
2、两个unitypackage实为同一版本的ShareSDK,区别为是否集成了IOS一键打包的功能。名称中带有WithEditor的包为集成了IOS一键打包的版本。
3、插件路径所在路径为:Assets->FrameWork->Expand-plugin->ShakeSDKForU3D(注:框架内提供的插件非最新版本,如需用到最新版本请到官网下载最新版)
4、不带有一键打包的版本不会自己在发布IOS平台时把ShareSDK打包进Xcode工程,如在Xcode内有缺少ShareSDK的错误,请在Unity工程内换成WithEditor版本的ShareSDK
5、最新版本的ShareSDK已不再分为WithEditor和非WithEditor两个版本。框架内的插件为老版本的插件
集成步骤:
1、工程切换至安卓或者IOS平台,在pc平台插件会报错
2、在工程内导入ShareSDK的unitypackage
3、在游戏物体上增加ShareSDK脚本,并配置平台信息
4、对安卓和IOS进行单独配置,配置步骤如下:
安卓:
- 修改安卓的AndroidManifest配置文件:
把Plugins->ShareSDK->AndroidManifest.xml里的包名修改为项目的包名
- 修改微信回调的Jar包:
- 需要重新使用Eclipse导出一个Jar包,Jar包所在的路径为Plugins->Android->ShareSDK->libs->DemoCallback.jar
- 安装Eclipse并配置安卓的环境,注:安装ADT需要使用VPN,Eclipse使用的AndroidSDK非国内服务器的版本,所以哪怕电脑里已经安装过AndroidSDK也需要重新安装
可参考:{+}https://blog.csdn.net/lzhitwh/article/details/72466111+
- 从GitHub上下载ShareSDK的安卓工程,工程名称为Android_Java_Demo。重新修改包名为自己的包名并导出新的DemoCallback.jar。
官方文档:{+}http://bbs.mob.com/thread-23519-1-1.html+
安卓工程下载地址:https://github.com/MobClub/New-Unity-For-ShareSDK
步骤如下:
- 使用Eclipse打开下载的工程
- 在工程的src目录新建一个新包,操作为:src右键->New->Package,New输入自己应用的包名(假设包名为com.jiuying.test)
- 选中cn.sharesdk.demo.apshare、cn.sharesdk.demo.wxapi、cn.sharesdk.demo.yxapi 3个包,Ctrl+C复制。复制完成后选中自己刚刚新建的包,Ctrl+V粘贴。会弹出重命名的弹窗
- 把3个包都重名名为"自己的包名+子包名的格式",如自己的包名是com.jiuying.test,则修改为com.jiuying.test.yxapi。完成后3个包显示如下:
5)完成后选中src右键->Export导出,具体方法参考官方文档
- 替换工程内的DemoCallback.jar为新包名的DemoCallback.jar
说明:
如安卓没有正确配置,打出的安卓包会无法拉起微信授权或者授权分享后无法进入回调方法
IOS:
- 确保使用的WithEditor的版本
- 修改ShareSDKiOSAutoPackag->Editor->SDKPorter->ShareSDKPostProcessBuild.cs
- 把QQ05FB8B52修改为自己的QQ + 自己QQ的AppId转换为16进制并写成大写。如默认的QQ AppId为100371282,转换为16进制为5fb8b52,所以默认的值为QQ05FB8B52
- 把wx4868b35061f87885换成自己的微信AppId