Google 登录不适用于生产环境

问题描述 投票:0回答:6

我在生产安装文件上使用 google 登录时遇到问题。 在调试安装时,一切正常,我可以登录应用程序。但在发布后进行更改后,我从谷歌响应中得到的帐户为空。可能是什么问题?

我与(“https://developers.google.com/identity/sign-in/android/start-integrating”)一起工作。每一步都一样。

android google-signin
6个回答
15
投票

我知道这是一个老问题,但对于任何使用 Firebase 的人来说,您必须将 SHA-1 指纹添加到 Firebase 控制台 > 设置 > Android 应用程序 页面。

如果您使用的是 Google Play 管理中心,则可以从 Google Play 管理中心 > 应用签名 页面获取此信息。其中有两个(您用来签署应用程序的一个,以及 Google 用来签署您的应用程序的一个)。您需要添加两者,以便可以测试本地发布版本。

如果您不使用 Play 商店,则需要按照以下说明从

keystore
文件中获取 SHA-1 指纹:https://developers.google.com/android/guides/client-auth


3
投票

您需要有一个配置文件

Android 签名证书 SHA-1release key 因此只有它适用于发布版本


2
投票

其他答案是正确的,因为这花了我一段时间才弄清楚,这里是一个需要一些额外帮助的答案。

当您使用 Firebase 进行调试时,您上传了一组密钥

SHA-1 和 SHA-256 这将适用于您的测试版本,但是当您上传到 Google Play Console 上的生产/内部测试时,Google Console 将生成另外两个必须使用的密钥:SHA-1 和 SHA-256如果您希望下载您的应用程序的用户能够访问 Google 登录。

您必须将这些添加到 Firebase → 项目设置 → Android 应用程序 → 添加新的 SHA-1 和 SHA-256 密钥。


0
投票

您应该将 SHA1 密钥从 Google Play Console -> 设置 -> 应用程序完整性 -> 应用程序签名 添加到 Firebase 控制台 -> 项目设置 -> 常规 -> 应用程序


0
投票

如果有人发现这个,只需添加一些额外的信息。

  1. 使用 Google Sign In with Firebase 时,您需要在控制台的项目设置中添加 SHA1。

  2. 如果您使用的是调试版本,您还需要添加另一个键进行调试。

  3. 如果您的应用程序已经发布并且您让谷歌为您处理签名,它会将您的密钥库更改为另一个密钥库。您的密钥库将成为上传密钥库,用于在您上传新 APK 时进行验证,但生产应用程序将使用另一个 SHA1。您可以从 Playstore(不是 firebase)中的控制台获取 SHA1,或者只需转到“项目设置”->“集成”并将您的 firebase 项目链接到 Playstore。

重要! 如果仍有问题,请记住运行后重试所有操作

flutter clean

dart 工具可能会缓存一些配置,并且不会使用正确的设置来构建应用程序,因此请清理所有内容并重试。


0
投票

上面的每个答案几乎都说同样的事情。如果您想在某些环境中使用 google 登录,则需要在 Firebase(或 GCP)控制台中添加该环境中的 SHA1 和 SHA256 指纹。

  1. 如果您手动分发 apk,而不是将其部署在 Google Play 商店等 Android 市场上,则需要放入 Firebase 控制台中的密钥是使用此页面中提到的自签名方法生成的。调试 apk 和发布 apk 的密钥对是不同的。
  2. 如果您已将 apk 放在 Google Play 控制台上,那么 Play 商店会使用自己的一对密钥对您的 apk 进行签名。您还需要将这些密钥放入 firebase 控制台中。您可以通过导航到“发布”>>“设置”>>“应用程序签名”从 Google Play 控制台复制这些密钥。您将在“应用程序签名密钥证书”下找到这些密钥。从此处复制 sha1 和 sha256 并将它们添加到 Firebase 应用程序控制台的项目设置中。

完成。您不需要上传新的 apk。它将开始处理现有的。

© www.soinside.com 2019 - 2024. All rights reserved.