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

本文详细介绍了如何在Unity项目中集成ShareSdk并实现微信登录功能。包括注册账号、获取必要的密钥、修改配置文件及清单文件等内容,并提供了代码示例。

首先要集成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),解压下来是这个样子 :
这里写图片描述
导入ShareSDK.unitypackage到unity工程,先到ShareSdkDevINFO去将用不到第三方注释掉,顺便修改里面微信的App Id 和 App Sercet。BypassApproval改为false,然后到ShareSdk中的Appkey 和 App Secret也修改成自己的
这里写图片描述**

检查下ShareSdk里面对应的值Appkey 和 App Secret是ShareSdk官网注册获取的,App Id 和 App Sercet填写微信应用获取的值是否相同
这里写图片描述
检查BypassApproval的√是否去掉,全部去掉

修改清单文件
这里写图片描述
这里写图片描述

现在去修改ecplise部分包名
将下载来的官方给的工程导入ecplise,
这里写图片描述这里写图片描述
右键修改的包名的文件夹,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>();
    sharesdk.authHandler += OnAuthResultHandler;
    sharesdk.showUserHandler += OnGetUserInfoResultHandler;

    GameObject.Find("login_Wechat").GetComponent<Button>().onClick.AddListener(delegate
    {       
        sharesdk.GetUserInfo(PlatformType.WeChat);
    });
}
void OnAuthResultHandler(int reqID, ResponseState state, PlatformType type, Hashtable result)
{
    if (state == ResponseState.Success)
    {
        sharesdk.GetUserInfo(type);
    }
    else if (state == ResponseState.Fail)
    {
    }
    else if (state == ResponseState.Cancel)
    {
    }
}
void OnGetUserInfoResultHandler(int reqID, ResponseState state, PlatformType type, Hashtable result)
{
    if (state == ResponseState.Success)
    {
        switch (type)
        {
            case PlatformType.WeChat:
            //这边message自己挂个text测下
               message = "获取用户信息成功" + MiniJSON.jsonEncode(result).ToString();
                break;
        }
    }
    else if (state == ResponseState.Fail)
    {      
    }
    else if (state == ResponseState.Cancel)
    {
    }   
}

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


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

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值