Unity 集成ShareSdk微信登录以及合并自己的Sdk

首先要集成ShareSdk,先来做些准备工作吧:
1.先去MOB官网注册账号 地址是:http://www.mob.com/
登录之后,进入后台,添加应用 ,记录下APPkey和AppSecret(之后在用到)

2.微信开方平台申请相关key和sercet(要给微信交保护费)
选择移动应用,创建应用,填写相应信息,注意重点填写开发信息时应用签名和
包名要正确(签名填写时全部小写中间不能有冒号),签名可以先用unity打包生成apk,使用微信官方提供apk去获取
(https://res.wx.qq.com/open/zh_CN/htmledition/res/dev/download/sdk/Gen_Signature_Android2.apk)
填写完毕提交,坐等微信通过审核,正常三个工作日,节假日不算
通过后打开应用获取AppID和AppSecret
这里写图片描述
3.下载官方给的Unity接sdk例子来修改(https://github.com/MobClub/New-Unity-For-ShareSDK),解压下来是这个样子 :
Unity 集成ShareSdk微信登录以及合并自己的Sdk_第1张图片
导入ShareSDK.unitypackage到unity工程,先到ShareSdkDevINFO去将用不到第三方注释掉,顺便修改里面微信的App Id 和 App Sercet。BypassApproval改为false,然后到ShareSdk中的Appkey 和 App Secret也修改成自己的
Unity 集成ShareSdk微信登录以及合并自己的Sdk_第2张图片**

检查下ShareSdk里面对应的值Appkey 和 App Secret是ShareSdk官网注册获取的,App Id 和 App Sercet填写微信应用获取的值是否相同
Unity 集成ShareSdk微信登录以及合并自己的Sdk_第3张图片
检查BypassApproval的√是否去掉,全部去掉

修改清单文件
Unity 集成ShareSdk微信登录以及合并自己的Sdk_第4张图片
Unity 集成ShareSdk微信登录以及合并自己的Sdk_第5张图片

现在去修改ecplise部分包名
将下载来的官方给的工程导入ecplise,
Unity 集成ShareSdk微信登录以及合并自己的Sdk_第6张图片Unity 集成ShareSdk微信登录以及合并自己的Sdk_第7张图片
右键修改的包名的文件夹,export选择Java里的JAR file,点击Nex在左上角把我们刚刚重命名过的包打上勾(需要几个打几个)把Jar包命名为DemoCallback.jar
然后我们进入unity项目的\Plugins\Android\ShareSDK\libs目录,用刚刚生成的DemoCallback.jar包替换这里的原有的jar包。

到这里修改部分基本就已经完成了,就剩下撸代码调用了

接入的demo可以参考shareSdk官方demo,直接上代码
public class wechatDemo: MonoBehaviour {

ShareSDK sharesdk;
void Start()
{
    sharesdk = GameObject.Find("Main Camera").GetComponent();
    sharesdk.authHandler += OnAuthResultHandler;
    sharesdk.showUserHandler += OnGetUserInfoResultHandler;

    GameObject.Find("login_Wechat").GetComponent

好了,集成微信登录获取信息返回部分就做完了。


下面介绍下ShareSdk合并自己的Sdk。

我尝试过直接将两个清单文件合在一起,但奇怪的是,合在一起了,出现安装时出现两个app图标,一些调用android原生版本号,音量的等都无效了。反编译apk之后,发现清单文件中自动生成了另外一个包路径直接和原来包路径混淆了,发现unity很强大可以自己去生成合成QAQ,郁闷。于是拆开处理:
刚好因为Sharesdk不需要在清单文件中作为启动项,我们利用unity,能够将多个AndroidManifest合成一个的特性来,将sharesdk的清单文件和自己studio打包出来的清单文件按照图中代码结构来放置。
Unity 集成ShareSdk微信登录以及合并自己的Sdk_第8张图片
注意两个清单文件的minSdkVersion和targetSdkVersion要相同。

你可能感兴趣的:(unity)