Android APK 发布版本上的 Firebase 电话身份验证

时间:2021-02-12 09:40:30

标签: android firebase flutter firebase-authentication

我尝试在 Google Play 商店发布一个使用 Firebase Phone Auth 的 APK。 在 DEBUG 和 PROFILE 模式下一切正常。 但是当我在 Play 商店中将其置于 RELEASE 模式时,问题就出现了:

Figure 1

您在上面看到的是我的 APK 生成的日志,显示调用方法 verifyPhoneNumber() 时它立即失败。它只给出消息 [firebase_auth/null] null,没有任何进一步的解释。

我已经尝试了以下线程中的所有答案:

不幸的是,这些都没有解决我的问题。

供您参考,这是我的 flutter 医生和 pubspec yaml 的一部分。

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 1.22.5, on Mac OS X 10.15.7 19H2 darwin-x64, locale en-US)
 
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 12.2)
[!] Android Studio (version 4.1)
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
[✓] VS Code (version 1.53.2)
[✓] Connected device (2 available)

pubspec.yaml

  firebase_core: ^0.5.3
  firebase_auth: ^0.18.4+1
  firebase_analytics: ^6.3.0
  firebase_messaging: ^7.0.3

请高手帮帮我! 谢谢。

1 个答案:

答案 0 :(得分:0)

好吧,经过一周的尝试,我终于找到了解决方案。

总结一下:这是关于 SHA-1 指纹

解决办法如下:

  1. 所以我从 Google Play 管理中心获取了 SHA-1 指纹(选择您的应用 >> 发布 >> 设置 >> 应用完整性 | 应用签名密钥证书)。

  2. 将此 SHA-1 指纹复制到您的 Firebase 项目(项目设置 >> 常规 | 您的应用 | SHA 证书指纹 | 添加指纹)。

  3. 转至 Google Cloud Platform >> API & Services >> Credentials >> API Keys。就我而言,我限制了这个特定应用程序的 API 密钥,因此我设置了包 ID 和 SHA-1 指纹。这就是 [firebase_auth null] null 发生的原因。我也忘记将步骤 1 中的 SHA-1 指纹用于限制。当我添加它时,一切都解决了。

就是这样,瞧..我的应用程序运行起来就像一个魅力! 如果您有机会进入这里,希望这对您有所帮助。 不要忘记投票! :)

干杯!