React Native Firebase Phone验证与真实电话号码一起静默崩溃

问题描述

我有一个使用Firebase验证用户电话号码的本地应用程序。到目前为止,我正在使用添加到Firebase控制台中的测试电话号码对此进行测试,并且工作正常。 现在,我正在尝试准备发布应用程序,并且试图生成签名的发布并测试电话验证。我做了以下事情:

  1. 生成了发行密钥库并将其添加到android / app
  2. 将这些参数添加到build.gradle android.signincConfigs.release storeFile文件('my-release-key.keystore') storePassword'我的密码' keyAlias“我的别名” keyPassword'我的密码' (基本上遵循这些步骤https://medium.com/@raguct25/how-to-generate-signed-or-released-apk-file-from-react-native-252bdd1915a2
  3. 使用keytool -list ...命令获取SHA-1并将其添加到我的项目下的Firebase控制台中。
  4. 下载新的google-services.json并将其添加到android / app下
    • 使用./gradlew assembleRelease生成构建
    • 使用Android Studio生成签名的APK
    • 使用react-native run-android —variant = release
    • 在模拟器中运行发布

在每个版本中,当Firebase尝试进行身份验证时,当发出发送OTP代码的请求时,这都会导致应用程序崩溃。我的实现类似于此处https://heartbeat.fritz.ai/implement-firebase-phone-authentication-in-react-native-apps-237959027611

中描述的方法

应用程序可以很好地与测试电话号码配合使用。

代码内无提示地发生错误,例如catch块未捕获任何错误

   firebase
      .auth()
      .signInWithPhoneNumber(this.state.phone)
      .then(confirmResult => {
        this.setState({ confirmResult })
      })
      .catch(error => {
        alert(error.message)
        console.log(error)
      })

在这里错过了什么吗?

解决方法

将此行置于依赖项下的 app / build.gradle

实现“ androidx.browser:browser:1.2.0”

这是因为它进行了reCAPTCHA验证并打开了浏览器。