【问题标题】:React Native Firebase Phone verification silently crash with real phone numbersReact Native Firebase Phone 验证与真实电话号码静默崩溃
【发布时间】:2020-11-03 01:24:33
【问题描述】:

我正在使用 Firebase 验证用户电话号码的 react-native 应用。到目前为止,我正在使用添加到 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)
      })

我错过了什么吗?

【问题讨论】:

    标签: android firebase react-native firebase-authentication sha1


    【解决方案1】:

    把这一行放在app/build.gradle的依赖项下

    实现“androidx.browser:browser:1.2.0”

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

    【讨论】:

    • 感谢纳泽尔。这是正确的答案,虽然我已经在 react-native-firebase 的维护者之一的帮助下解决了这个问题,但忘记在这里更新问题。这似乎是 firebase SDK 中的错误,可能会在下一版本 github.com/invertase/react-native-firebase/issues/4490 中修复。
    猜你喜欢
    • 2020-03-11
    • 2018-05-24
    • 1970-01-01
    • 1970-01-01
    • 2017-10-17
    • 2017-10-23
    • 2018-05-17
    • 2018-12-02
    • 2020-10-04
    相关资源
    最近更新 更多