Android应用Google登录失败问题

碰到的问题

应用修改包名上架后,发现原来集成的google第三方登录失败,通过Charles抓包获取到信息,在google验证获取token时失败,返回错误信息:UNREGISTERED_ON_API_CONSOLE

调查过程

  • 根据错误信息,比较直观了解到应该是新包名没有在google平台上注册的原因
  • 参考stackoverflow中相关信息,相关信息1,相关信息2

问题原因

根据网上的信息可以大致了解到具体造成这个问题可能的原因,主要有三个可能性

  1. 相关Android应用没有在Google开发者平台上进行注册,主要是需要将应用包名,SHA-1等信息在开发者平台上进行登记,最终生成google-services.json文件,放在应用的app目录下。由于没有注册过相关信息,则Google登录获取token失败。
  2. 信息注册错误,如包名不对,或者应用的签名修改后造成SHA-1改变,没有及时更新信息。这些信息不匹配都会造成登录的失败。

尝试解决

根据造成这种bug的可能原因,做了一些尝试。

  1. 直接上Google开发者平台,注册新包名应用。具体步骤可以参考Google官方教程,获取到需要的信息:包名、SHA-1,上Google开发者平台注册应用信息,获取google-services.json文件。
  2. 配置文件获取完毕,直接出包测试,大功告成,可以成功登陆了!
    3.后续尝试了另一种方法,发现修改包名后,不一定需要重新在google开发者平台上注册,只要将google-services.json文件中的相关包名修改一下即可,当然前提是签名没变

总结

 在修改Android应用包名后,如果应用内集成了google登录的功能,需要及时更新google-services.json文件。

你可能感兴趣的:(Android应用Google登录失败问题)