关于第三方登录与分享的问题总结

最近完成项目中的第三方登录与分享的功能,主要实现了 微信、QQ、微博、豆瓣的第三方登录与分享。


关于第三方登录与分享,网上有很多的第三方集成平台,使用这些平台,开发者只需要完成该平台的代码就可以实现微信、QQ、微博、豆瓣等多个不同开放平台的登录分享功能。


这些平台,我最开始使用的是ShareSDK,ShareSDK在分享上做的不错,但在第三方登录部分做的不太好,后来经同事介绍使用了友盟的第三方登录与分享功能,发现非常不错。


至于如何使用友盟的第三方登录与分享功能,我这里不说了,因为友盟的使用文档写的非常详细。想要使用友盟的API可以去他们的官网查看。另外,他们的QQ技术支持也不错,就是慢。(目前我用过的,文档写的详细的只有 百度地图、ShareSDK、极光推送,其他的平台文档写的都不咋地)


在使用登录与分享的时候,发下一下几点需要注意:


1.   在QQ、新浪、豆瓣的平台上,需要添加测试账号,不然不可使用。等通过他们平台的审核后才支持其他账号。


2.   QQ平台上,添加测试账号的时候,这个测试账号一定要与QQ平台使用的QQ账号是好友,否则添加不上测试账号。


3.  微信平台上,一般需要添加微信回调的Activity WXEntryActivity,这个Activity一定要放在  包名.wxapi下 ,否则会出现莫名错误,而且一定要在清单文件注册。


4.  在使用 微信、新浪的第三方登陆与分享的时候,需要添加秘钥 SHA1 (微信),MD5(新浪),这两个值如何获取就不说了,重点是下面的内容:


     在Android中,任何编译运行的操作都需要打包APK。在打包APK的时候,都需要签名。签名目前分为2种,一种是默认的Debug签名,一种是 开发者创建的签名。在开发测

    

        试的时候,一般使用的是默认签名。在项目发布上线的时候,就需要 使用 开发者创建的签名 来打包。


      然而,在获取 SHA1 或  MD5 值的时候,这两个值都是与签名相关的,不同的签名,获取的值是不同的。所以,在获取值的时候,到底是使用 debug签名 还是 自己创建的


       签名呢?  答案是 自己创建的签名! 因为项目最终在 打包发布的时候,使用的是 自己的签名,而不是 debug签名。


     所以,在获取 SHA1 或 MD5 的时候, 一定要使用 自己创建的签名 来打包APK,然后取值,添加 到 微信 或 新浪的 开放平台上。


    那么,如果使用的是 自己创建的签名,在进行测试的时候就比较麻烦了,必须使用自己创建的签名 来打包 (因为APK的MD5值或SHA1值必须要与微信或新浪一致)


         在Eclipse中,只能自己手动来 使用自己的签名打包。

   

       在 AndroidStudio 中,一般使用的是 Gradle 进行编译,可以在 build.gradle 中 指定 编译时 使用的签名。


android{
    ....

    signingConfigs {
            debug {
                storeFile file("秘钥的文件位置,比如 c:\\aa.jks")
                storePassword "秘钥密码"
                keyAlias "别名"
                keyPassword "别名密码"
        }
    }

}

你可能感兴趣的:(Android开发)