问题描述
我正在尝试在我的应用程序中集成Google登录/身份验证。我遵循了firebase教程/指南中给出的说明,以下内容似乎可以正常工作:
- 在UAT上,它具有不同的firebase项目。
- 用于生产的Firebase应用在“设置”页面上列出了以下键的SHA1:
- 内部签名密钥。
- 上传密钥
- playstore上的签名密钥。
我的firebase google-services.json文件列出了以上所有三个SHA1。
Google开发人员控制台似乎也已正确设置。
当我通过PlayStore上的“内部应用共享”下载应用时,我仍然设法获得APIEXception 10
。即使我从Google云端硬盘链接下载了该应用程序,一切都按预期进行。
任何对此的帮助将是最欢迎的。现在,我已经整整一天都抓挠了头,并尝试了互联网上有关此问题的几乎所有建议。
解决方法
感谢@Alex Mamo的评论。
这个答案是关键:https://stackoverflow.com/a/62763633/350685
要成功运行Firebase身份验证,您需要与您的Firebase帐户关联的4个(而不是3个)SHA-1哈希:
- 内部/调试键,因此直接从Android Studio在设备上运行应用程序时,您不会遇到任何问题。
- 用于签署应用以进行发布的密钥。
- playstore用来对应用进行发布的密钥。
- 您可以在上面链接的答案中找到内部应用程序共享密钥。
第2点和第3点的哈希在Play商店的“设置”部分中可用。无需在gradle上运行任何任务。
我认为这并不广为人知,因为开发人员尚未大量使用内部应用程序共享工具(也许吗?)。一旦流行起来,我相信还会有更多。