React Native Firebase Phone 验证以真实 phone 数字静默崩溃

React Native Firebase Phone verification silently crash with real phone numbers

我有一个使用 Firebase 来验证用户 phone 号码的本机反应应用程序。到目前为止,我正在通过使用添加到 Firebase 控制台的测试 phone 号码来测试它,它工作正常。 现在,我正在尝试准备我的应用程序以供发布,我正在尝试生成签名发布并测试 phone 验证。我做了以下事情:

  1. 生成了发布密钥库并将其添加到 android/app
  2. 将这些参数添加到 build.gradle android.signincConfigs.release storeFile 文件('my-release-key.keystore') 商店密码 'my-password' 键别名 'my-alias' 密钥密码 'my-password' (基本上按照这些步骤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 在模拟器中发布 运行-android —variant=release

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

应用程序与测试 phone 号码配合良好。

此代码中正在悄悄发生错误,例如catch 块未捕获任何错误:

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

我是不是漏掉了什么?

将此行放在 app/build.gradle under dependencies

实现“androidx.browser:浏览器:1.2.0”

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