Unity使用ShareSDK 的微信分享安卓回调问题

这几天接ShareSDK,目前主要用下微信分享,IOS接上也都没问题,但安卓的回调却是有问题,没有收到回调,官方的一个帖子上说的模模糊糊,反正我是看不懂,今天问了下他们的技术,让他一步一步教我,总算是搞定了。

首先是下载Unity版本的ShareSDK后,将Plugins放到Unity中。
然后,用exlipse打开Android_Java_Demo工程,将src中的cn.sharesdk.onekeyshare.wxapi修改名称为 自己的包名.wxapi
image
比如我的游戏的包名是com.mygame.myapp,所以这里改为 com.mygame.myapp.wxapi。

之后src上右键export,导出jar包
imageimage

在之后到Unity中找到刚才导入的plugins->Android->ShareSDK->libs中删掉OneKeyShare这个jar包,把刚才我们自己导出的放到这里来。

最后打开plugins->Android->ShareSDK下的AndroidManifest,修改微信回调的配置

   1: <;!-- 微信分享回调 -->

   2:         <;activity

   3:             android:name="com.mygame.myapp.wxapi.WXEntryActivity"

   4:             android:theme="@android:style/Theme.Translucent.NoTitleBar"

   5:             android:configChanges="keyboardHidden|orientation|screenSize"

   6:             android:exported="true" />

这样就可以收到回调了。

 

后续:

shareSDK安卓微信分享的问题
接了UC的渠道,他们会再自己对apk包进行处理改变签名,导致与在微信开放平台参与审核的APP的签名不一致导致出现分享不了(点击分享后,只会提示“后台处理”字样,然后就没有然后了)。
另外,UC的包需要在自己的包名后面添加.uc,所以在改变包名之后很多ShareSDK的配置相关东西也都要做出相应修改

 

17.02.14后续:

现在不需要整个Src导出jar包,如果只是微信分享的话,可以只将那一个包(com.mygame.myapp.wxapi)导出jar包即可,否则可能会出现因为与其他jar包有重复的内容导致出版本的时候出现“unable to convert classes into dex format.”的错误。
另外,如果AndroidManifest文件,以及代码中的配置都正确了,但还是出现没有回调,尤其是如果出现闪了一下,那可能是签名不同导致的,使用签名查看工具查看一下刚编译的包的签名与微信平台中填的签名是否一致。签名查看器可以使用新浪签名工具

223574582108961459QQ图片20170214155631

如果不一致,那可能就要考虑keystore之类的问题。

 

One thought on “Unity使用ShareSDK 的微信分享安卓回调问题

发表评论

电子邮件地址不会被公开。 必填项已用*标注

* Copy This Password *

* Type Or Paste Password Here *