Android第三方分享和登录之微信及QQ篇

微信篇

一、根据ShareSDK官方文档做好初期配置
    链接是:”http://www.mob.com/”
二、去微信开放平台注册成为开发者之后添加应用,获取AppID以及AppSecret
    链接是:”https://open.weixin.qq.com/”,成功获取AppID和AppSecret之后,便可以去ShareSDK.xml文件中去修改相应字段的值了。
三、微信中存在绕过审核以及不绕过审核的两种方式
    是否绕过审核,可以根据ShareSDK.xml文件中的关于微信部分的BypassApproval="false"属性设置,false为不绕过审核,true为绕过审核。
    3.1 绕过审核
    绕过审核,分享成功之后也不能进行回调。
    3.1.1 对微信好友的分享
    分享成功后,会弹出返回第三方应用和留在微信两个选择,不过不论点击哪一个都会仍然留在微信。
    3.1.2 对微信朋友圈的分享
    分享成功后,会仍然留在微信。

    3.2 不绕过审核
    3.2.1 对微信好友的分享
    分享成功后,会弹出出现返回xxx(应用名称即在微信平台注册时填写的应用名)和留在微信两个选择。如果点击返回xxx,那么回调就会执行;如
    果点击留在微信,那么回调则不执行。
    3.2.2 对微信朋友圈的分享
    分享成功后,会自动回到xxx应用,回调自动执行。
四、关于WXEntryActivity
    WXEntryActivity是回调执行的关键,它必须存在于应用清单文件的packageName下的wxapi目录中。
    如果应用中不存在此Activity,那么应用关于微信的回调将无法执行。
    WXEntryActivity默认继承于WeChatHandlerActivity,经过观看源码发现在WeChatHandlerActivity的onCreate方法中调用了finish()方法。因此,
如果开发者不想让WXEntryActivity继承WeCharHandlerActivity,那么就必须要自己添加finish()方法的调用,否则就算在不绕过审核的情况下分享成功
之后,点击返回xxx应用的操作也会失效。
五、关于微信分享闪退 errCode -6
    如果在分享时出现闪退问题,很可能是因为当前应用的签名和微信开发平台上的应用签名不一致。
六、关于微信第三方登录问题
    非常遗憾,如果你想要通过微信实现第三方登录,那么你将要想腾讯付费了。

QQ篇

QQ的分享除了没有WXEntryActivity这个要求之外,其他的地方和微信上面没有区别。
QQ的第三方登录是不需要收费的。
不过QQ的登录和分享有个巨坑的地方,就是不要在QQ互联(https://connect.qq.com/intro/login)上添加应用,QQ互联腾讯很久都没有维护了。
同时,QQ的登录在测试阶段需要添加协作者账号才可以测试其他账号的登录请况,但是协作者账号在QQ互联上无法添加,所以去腾讯开放平台
(http://open.qq.com/)注册应用最好。腾讯开放平台的管理中心的权限管理里面可以添加协作者账号,具体位置如下图所示:

这里写图片描述

这里写图片描述

总结

这里推荐两篇很好的关于第三方登录的文章,参考这两篇再加上我这篇应该可以在使用shareSDK接入微信和QQ的时候避免掉入坑中。文章地址如下:

http://blog.csdn.net/csdnfml/article/details/49446479

http://www.jianshu.com/p/149e0f4d4d62

你可能感兴趣的:(Android技巧)