碰到的問題
應用修改包名上架后汗菜,發(fā)現(xiàn)原來集成的google第三方登錄失敗草则,通過Charles抓包獲取到信息扯旷,在google驗證獲取token時失敗套么,返回錯誤信息:UNREGISTERED_ON_API_CONSOLE
調(diào)查過程
問題原因
根據(jù)網(wǎng)上的信息可以大致了解到具體造成這個問題可能的原因省咨,主要有三個可能性
- 相關Android應用沒有在Google開發(fā)者平臺上進行注冊,主要是需要將應用包名玷室,SHA-1等信息在開發(fā)者平臺上進行登記零蓉,最終生成google-services.json文件,放在應用的app目錄下笤受。由于沒有注冊過相關信息,則Google登錄獲取token失敗敌蜂。
- 信息注冊錯誤箩兽,如包名不對,或者應用的簽名修改后造成SHA-1改變章喉,沒有及時更新信息汗贫。這些信息不匹配都會造成登錄的失敗。
嘗試解決
根據(jù)造成這種bug的可能原因秸脱,做了一些嘗試落包。
- 直接上Google開發(fā)者平臺,注冊新包名應用摊唇。具體步驟可以參考Google官方教程妥色,獲取到需要的信息:包名、SHA-1遏片,上Google開發(fā)者平臺注冊應用信息,獲取google-services.json文件撮竿。
- 配置文件獲取完畢吮便,直接出包測試,大功告成幢踏,可以成功登陸了髓需!
3.后續(xù)嘗試了另一種方法,發(fā)現(xiàn)修改包名后房蝉,不一定需要重新在google開發(fā)者平臺上注冊僚匆,只要將google-services.json文件中的相關包名修改一下即可,當然前提是簽名沒變搭幻。
總結(jié)
?在修改Android應用包名后咧擂,如果應用內(nèi)集成了google登錄的功能,需要及時更新google-services.json文件檀蹋。