我尝试在 Google Play 商店发布一个使用 Firebase Phone Auth 的 APK。 在 DEBUG 和 PROFILE 模式下一切正常。 但是当我在 Play 商店中将其置于 RELEASE 模式时,问题就出现了:
您在上面看到的是我的 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
请高手帮帮我! 谢谢。
答案 0 :(得分:0)
好吧,经过一周的尝试,我终于找到了解决方案。
总结一下:这是关于 SHA-1 指纹。
解决办法如下:
所以我从 Google Play 管理中心获取了 SHA-1 指纹(选择您的应用 >> 发布 >> 设置 >> 应用完整性 | 应用签名密钥证书)。
将此 SHA-1 指纹复制到您的 Firebase 项目(项目设置 >> 常规 | 您的应用 | SHA 证书指纹 | 添加指纹)。
转至 Google Cloud Platform >> API & Services >> Credentials >> API Keys。就我而言,我限制了这个特定应用程序的 API 密钥,因此我设置了包 ID 和 SHA-1 指纹。这就是 [firebase_auth null] null
发生的原因。我也忘记将步骤 1 中的 SHA-1 指纹用于限制。当我添加它时,一切都解决了。
就是这样,瞧..我的应用程序运行起来就像一个魅力! 如果您有机会进入这里,希望这对您有所帮助。 不要忘记投票! :)
干杯!