Flutter Firebase 电话身份验证不发送短信代码

问题描述 投票:0回答:1

我的 Flutter Firebase 电话验证不再工作。我不知道,但 Firebase 后端可能有一些我不知道的更新。我曾经在真实设备上收到验证码,但现在不再收到了。 在我的代码中,在注册屏幕上,我输入电话号码并按下按钮。然后,当电话号码验证完成后,它应该将我发送到 OTP 页面。 我已正常发送至 OTP 页面,但我的手机上没有收到短信代码。

电话验证方式

sendPhoneNumber(
    BuildContext context,
    String phoneNumber,
    navigateToOTPScreen,
  ) async {
    try {
      await FirebaseAuth.instance.verifyPhoneNumber(
        phoneNumber: phoneNumber,
        verificationCompleted: (PhoneAuthCredential phoneAuthCredential) async {
          await FirebaseAuth.instance.signInWithCredential(phoneAuthCredential);
        },
        verificationFailed: (error) {
          Fluttertoast.showToast(
              msg: "An error occured ...${error.message}",
              backgroundColor: Colors.red,
              textColor: Colors.black);
          print(error.message);
          throw Exception(error.message);
        },
        codeSent: (verificationId, forceResendingToken) {
          appData.verificationId = verificationId;
          Navigator.push(
            context,
            MaterialPageRoute(
              builder: (context) => navigateToOTPScreen,
            ),
          );
        },
        codeAutoRetrievalTimeout: (verificationId) {},
      );
    } on FirebaseException catch (e) {
      Fluttertoast.showToast(
          msg: "${e.message}",
          backgroundColor: Colors.red,
          textColor: Colors.black);
    }
  }

我已经在 Android 和 IOS 真实设备上尝试过了。我在 Firebase 控制台上的

Phone
登录方法已启用,并且 Android 的 SHA-1 和 SHA-256 密钥已就位。 我的 android
Play Integrity
也已注册,但我不知道问题出在哪里。

请问有什么帮助吗?

flutter firebase-authentication
1个回答
0
投票

自 2024 年 9 月 1 日起,免费 Spark 计划的项目无法再发送短信进行手机登录。请查看 Firebase 定价页面 中的身份验证部分。

enter image description here

要继续使用基于电话的登录,您必须升级到付费套餐。请务必仅在您预计有活跃用户并且很少/没有滥用的区域启用短信发送。

© www.soinside.com 2019 - 2024. All rights reserved.