在 Playstore 上传应用后,Firebase phone 身份验证不起作用

Firebase phone authentication is not working after upload app on playstore

我不知道为什么会这样。我的应用程序适用于调试 apk 和签名的 apk。我也将 SHA1 密钥添加到 firebase 控制台。但是当我上传我的应用程序并从 Play 商店安装它时,它不会将 OTP 发送到我的 phone 号码。请帮忙!

提前致谢

复制 SHA1 密钥后,是否在项目中下载 google-services.json

您是刚注册 Google Play App Signing 吗?在那种情况下,您的密钥已更改。您可以从 Play 商店控制台获取用于为您的 apk 签名的密钥的 SHA1。

使用这些步骤您已成功解决所有问题-:

  1. 转到google 玩控制台
  2. 设置 -> 应用完整性
  3. 在(应用签名证书)
  4. 中复制SHA-1 证书指纹
  5. 打开 Firebase 控制台 -> 项目设置 -> 添加指纹
  6. 粘贴您的 SHA-1 密钥
  7. 现在从 play 重新安装您的应用程序

@HandyPawan 提到的答案完全就在这里,但是随着 Google 控制台现在更新,步骤是 -

  1. 转到 google 玩控制台
  2. 发布 -> 设置 -> 应用完整性
  3. 在(应用程序签名证书)中复制 SHA-1 证书指纹但不包含 (SHA1: )
  4. 打开 Firebase 控制台 -> 项目设置 -> 添加指纹
  5. 粘贴您的 SHA-1 密钥
  6. 现在从 play 重新安装您的应用程序

在我的情况下,我上传到使用我现有的 SHA 签名的 Play 商店,这些 SHA 已经在我的 Firebase 应用程序指纹中设置了很长时间,并且 SMS 自动完成工作正常。我还看到我的应用程序的 Play 商店中列出了相同的 SHA 密钥。

但是现在 SMS 出站 txt 看起来不一样了,我的包裹名称显示为“(未验证)”,并且末尾没有像以前那样的 11 位哈希。不用说,自动完成功能不再起作用了。

您能否确认您在收到的 SMS 消息末尾看到了 11 个字符的哈希值?有报告称,长包名称以及附加的“(未验证)”可能会导致消息被截断,从而删除结尾的哈希值。

在这种情况下,一旦经过验证,程序包名称将替换为应用程序名称,“(未验证)”将被删除,这应该会缩短整个消息以再次包含结束哈希值。

就我而言,在我粘贴 SHA-256 之前,单独的 SHA-1 不起作用。