最近项目需要,开始接入微信分享。本来采用ShareSDK,但是在分享图片的时有个缺点,玩家在微信分享界面,可以手动修改游戏截图。这样感觉就不完美了,所有最后决定采用腾讯自己的微信分享功能。
先吐槽下:腾讯api写的不够完整,新的版本出来也不及时更新,接入带来困难。
第一步:申请账号;
在申请账号过程中 包名 和 签名一定要分清楚,包名Android项目的BundleId,签名是通过签名文件生成的md5码,制作签名的工具可以在微信开发文档中找到。地址 账号申请完后需要微信平台审核一两天。接下来我们可以继续集成功能,等appId下来后在进行测试。
注意:包名和签名一定要仔细不然会分享失败。我遇到的坑是:签名刚开始不对最后改正确后,还是不能分享,最后查看文档,把微信卸载重新安装就可以分享了。
2.在Unity中接入腾讯SDK需要添加unity meta配置,不然在WXEntryActivity中调用Finish()方法回闪退:
<activity android:name="unity.daimou.SDK.MainActivity"
android:icon="@drawable/app_icon"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>
<!-- 需要添加以下两条配置-->
<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
<meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="false" />
</activity>
3.接下来WXEntryActivity界面改为透明,不然微信回调回来会有黑色或白的界面,影响体验
<activity android:name="com.daimou.SDK.wxapi.WXEntryActivity"
android:label="@string/app_name"
android:exported="true"
android:launchMode="singleTask"
android:configChanges="keyboardHidden|orientation|screenSize"
android:theme="@android:style/Theme.Translucent.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="sdksample"/>
</intent-filter>
</activity>