【问题标题】:Firebase phone auth not initiating OTP only in release mode but works on Debug mode even after added sha1 for release modeFirebase 手机身份验证仅在发布模式下不启动 OTP,但即使在为发布模式添加 sha1 后也可以在调试模式下工作
【发布时间】:2020-12-17 21:54:51
【问题描述】:

我如何实施的步骤。

按照建议,我一路实施。在调试模式下非常好。不幸的是,即使我在 firebase 控制台中添加了调试和发布 sha1 键,它也无法在发布模式下工作。

Step 1. 编码部分在这里

final PhoneVerificationCompleted verificationCompleted =
    (PhoneAuthCredential user) {
  successMessage('Your phone number verified successfully!');
  _loginNotifier.validate();
};

 final PhoneVerificationFailed verificationFailed = (FirebaseAuthException authException) {
  errorMessage('Phone number verification failed. Code: ${authException.code}. Message: ${authException.message}');
  print(
      'Phone number verification failed. Code: ${authException.code}. Message: ${authException.message}');
};

 final PhoneCodeAutoRetrievalTimeout codeAutoRetrievalTimeout =
    (String verificationId) {
  this._verificationId = verificationId;
  print("time out");
};

 firebaseAuth = FirebaseAuth.instance;
firebaseAuth.verifyPhoneNumber(
    phoneNumber: '+$_phoneWithCC',
    timeout: const Duration(seconds: 60),
    verificationCompleted: verificationCompleted,
    verificationFailed: verificationFailed,
    codeSent: codeSent,
    codeAutoRetrievalTimeout: codeAutoRetrievalTimeout);

第 2 步:

添加了所有三个不同的 sha1 密钥,但仍然无法正常工作:(

我遇到的错误:

正如我所说,在调试模式下一切正常 但是在release模式下,启动otp函数后,立即PhineVerificationFailed with null message and null code。

如果还有什么我错过的,请指教。谢谢大家

【问题讨论】:

  • 那么你可以在添加 sha1 后尝试下载新的 google-services.json 并用旧的替换它吗?
  • 是的@KrishBhanushali 我做到了.. 如此连线:(
  • 在发布模式下,我立即被调用验证失败函数。我的错,verificationFailed 函数的数据为 null :(
  • keytool -list -v -keystore PATH_JKS_FILE -alias XXX 这就是我获得发布 SHA1 密钥的方式 -FYI
  • @MuthuS 您是否在清单文件中添加了 Internet 权限?这解决了我在发布模式下的问题。

标签: android firebase flutter sha1


【解决方案1】:

除了SHA1 - 你还需要SHA256 指纹来发布apk。
我在 firebase google 身份验证方面遇到了类似的问题。
您可以将SHA256 指纹添加到firebase 项目控制台并重试吗?

【讨论】:

  • ok lemme try, between, 为什么失败的消息和代码为空?我的实现是否正确?
  • ibb.co/rvZPgtK 添加 sha-256 发布和调试密钥然后下载 json 文件并重建应用程序然后我得到相同的错误:(
  • 之间,如何获取 SHA1 的发布模式.. keytool -list -v -keystore PATH_JKS_FILE -alias XXX 是否正确? @abijith
  • 在你的 android 文件夹中打开 cmd,然后运行以下命令 - ./gradlew signingReport 链接 - stackoverflow.com/questions/51845559/…
【解决方案2】:

添加 SHA1 后,您必须从 Google Play 重新安装您的应用。

【讨论】:

  • 我也没有发布。我正在尝试直接安装发布 apk。不是从游戏商店。仅供参考@随机先生
【解决方案3】:

除了添加sha256SHA1,您还需要在Firebase 控制台中添加您的电子邮件。见附图。

【讨论】:

    猜你喜欢
    • 2023-01-11
    • 1970-01-01
    • 2018-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    相关资源
    最近更新 更多