1. 程式人生 > >記錄友盟分享,第三方登入遇到的坑

記錄友盟分享,第三方登入遇到的坑

最近公司專案上需要用到分享跟第三方登入,由於友盟整合的社會化分享在國內的口碑還挺不錯的,所以就整合進專案了,經歷了各種坑之後,基本上算是告一段落了,現在把遇到的各種坑記錄下來,希望能幫到一些遇到相同問題的猿友。

坑1:QQ第三方登入的坑

         QQ第三方登入需要你在騰訊開放平臺申請一個AppID及Appkey ,然後才能使用,由於同一個app使用不同的簽名檔案生成的AppID及Appkey是不一樣的,如果你給騰訊那邊上傳的是一個debug版的apk,那麼這個AppID及Appkey就是debug版的,然後你的第三方登入只有在使用dubug版的時候才能用,在正式包下會提示錯誤:應用不是最新的(100044)這個錯誤,所以這一點一定要注意,如果你給騰訊上傳的是一個release版的apk,那麼你以後的每次除錯QQ登入都得用release的簽名打包,我的做法是,除錯的時候直接用release版的簽名編譯,具體參考:

http://m.blog.csdn.net/article/details?id=51181993這篇文章的做法

        QQ的第二個坑,QQ的介面返回的唯一碼是一個叫openId的東東,其實我一直不明白它為什麼不返回一個QQ號啊,因為這個東西不管在哪個平臺都是唯一的,算了,不扯這些了,既然人家不給返回QQ號碼自然有人家的想法,也許是為了使用者隱私之類的。現在就說說這個openId,據我的理解,應該是與應用的appId還有應用的簽名有關(個人理解,如有錯誤還望指正),所以不同的應用返回的openId是不一樣的,在這裡我就遇到坑了,因為我們公司ios開發的比Android早半年,所以當初ios自己用自己的賬號申請了一個ios的AppID及Appkey,現在Android這邊我用公司的賬號在應用寶上架的app,所以同一個QQ賬號的第三方登入在ios跟Android返回的openId都不一樣,經過諮詢騰訊客服(QQ:800013811),告訴我只有一個辦法解決,那就是把一方的應用轉讓給另一方,保證ios的跟Android的都在一個開發者賬號下,然後再申請資料互通。。。。只有這樣,才能保證相同的QQ號在兩個平臺的openId才能一致。

坑2:新浪微博的坑