Android應用開發:社會化平臺登錄接入

引言


最近利用閒暇跑通了微博、QQ、G+在Android上的登錄接入功能,雖然不至於說坎坷頗多,但是小麻煩也不少,特此記錄一下。另,微信的接入是要花300大洋的,所以沒有嘗試。


QQ登錄接入


開放平臺地址:http://open.qq.com/

Android接入文檔:http://wiki.open.qq.com/wiki/Android_API%E8%B0%83%E7%94%A8%E8%AF%B4%E6%98%8E

SDK下載:http://wiki.open.qq.com/wiki/mobile/SDK%E4%B8%8B%E8%BD%BD

具體的接入配置等等文檔中寫的很詳細了,這裏並不進行說明。這裏需要注意的幾點是:

1. 需要引入的jar包有兩個,一個是mta_sdk,另一個是open_sdk,基礎包中只有一個open_sdk,別忘了去完整包中取一個mta_sdk出來,否則不能正常使用;

2. AndroidManifest.xml中對於騰訊的meta_data聲明中,appid前必須有"tencent"字樣,是一個組合字符串,而不只是appip;

3. 執行登錄操作login時第二個SCOPE參數可以通過查看http://wiki.open.qq.com/wiki/website/API%E5%88%97%E8%A1%A8 進行組裝,"all"代表全部權限。


QQ登錄接入比較簡單,文檔全面切更新快,上手難度


微博登錄接入


開放平臺地址:http://open.weibo.com/

Android接入文檔:https://github.com/sinaweibosdk/weibo_android_sdk/blob/master/%E5%BE%AE%E5%8D%9AAndroid%E5%B9%B3%E5%8F%B0SDK%E6%96%87%E6%A1%A3V2.5.0.pdf

SDK下載:http://open.weibo.com/wiki/%E7%A7%BB%E5%8A%A8%E5%BA%94%E7%94%A8#.E7.A7.BB.E5.8A.A8SDK.E4.B8.8B.E8.BD.BD

沒錯,是github上的。剛剛接觸的時候我也是一臉黑線,什麼跟什麼啊,SDK下載不是直接下載而是跳到github,文檔也不好好寫在自己的網站上,openapi那些接口也要拿到github上再封一層?而文檔中的示例代碼又直接用了二次封裝的,只能說:對於開發者不夠友好,過於沉迷裝逼模式。想好好照着文檔step by step的話,把github中的https://github.com/sinaweibosdk/weibo_android_sdk/tree/master/demo-src/WeiboSDK/src/com/sina/weibo/sdk/openapi 拿下來放到自己的工程中修改好import後再看吧。


需要注意的點是:

1. 一定要在後臺配置好登錄後的回調網址,否則會出現錯誤;

2. 應用簽名需要的是MD5,這個需要在手機上安裝微博的一個生成簽名的apk,此簽名非彼簽名,只是一串數值,並不是apk的簽名文件;


微博登錄接入比QQ要麻煩多了,一會github一會微博的網站,逼格太高了,上手難度


G+登錄接入


開放平臺地址:https://developers.google.com/+/mobile/android/

API控制檯地址:https://code.google.com/apis/console/

類參考:https://developer.android.com/intl/zh-cn/reference/gms-packages.html

其sdk是AndroidSDK中的google-play-server字樣,gradle中方法:

dependencies {
    compile 'com.google.android.gms:play-services:5.2.08'
}
G+接入最麻煩的地方在於GoogleAPI控制檯的配置,不過按照其文檔step by step的話,也沒有什麼大問題,最需要注意的一些地方是:

1. API控制檯中一定要事先配置好“API和驗證”的“同意界面”,如果這裏不配置好的話,點了什麼也出不來;

2. 注意G+登錄按鈕的設計規範,Google特意強調的:https://developers.google.com/+/branding-guidelines#sign-in-button

3. 網絡問題。由於衆所周知的原因,請注意調試時的網絡狀況;

4. 若手機不支持GMS框架,那麼也並不支持G+登錄,所以請先檢查GMS的支持情況,再決定是否顯示G+登錄按鈕吧;

5. 文檔更新不及時,有的已經廢棄了的接口文檔中還在blabla的教人怎麼用,而且到代碼中也沒有一些接口,建議使用時候只是走一遍引導文檔,而後去看類參考;

6. 文檔中關於登錄的setVisibleActivities接口已不存在,用setActions替代;

7. SCOPE在sdk包中有類定義,對應類參考可以方便的知道哪個是哪個。


G+登錄接入應該算是最複雜的了,誰讓Google擁有全世界最先進的帳號系統呢,文檔的更新不及時真的是最痛的地方,不過完善的類參考絕對可以彌補了。上手難度


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章