微信登录接入

游戏需要接入微信登录,本想用anysdk这样的第三方插件,但是又感觉只接入微信平台,有点不值得。所以决定单独接入。

IOS SDK很清楚,看了SDK Example之后,了解了几个关键点,很轻松就测试成功,之后就是Android部分。

大体扫描了Android的文档和Android SDK Demo,直接把WXEntryActivity的逻辑往游戏主Activity(MainActivity)中挪,并配置了manifest。测试发现,游戏可以进入微信登录界面,但是放回游戏后,MainActivity收不到OnResp的接口。

查阅了别的博客,有提到wxapi目录必须在包名下创建,否则就OnResp就不会调用,且Activity的class名必须是WXEnteryActivity,于是乎就快速的把MainActivity改为WXEntryActivity(心中还在默念微信为什么要强制命名),且路径在包名下。测试发现login登录微信之后,游戏的Activity被OnDestory了。

查阅后发现在mainifest中主Activity的android:configChanges需要配置,又配置后,测试游戏。此时发现从微信回到游戏,OnResp的接口被调用了,且也能收到erorCode code等信息。但是游戏逻辑被卡死了,查看日志,主Activity被重复onCreate了。

此时懵逼了...

重新看了一下微信接入文档,里面只提到需要加入WXEntryActivity,且配置的mainifest中,并没有要WXEntryActivity在主Activity中,此时才明白了(都是Androi SDK Demo引导的,在Demo中WXEntryActivity就是主Activity)。快速修改,测试,一切和谐了。

总结一下微信接入的注意事项