我的 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
也已注册,但我不知道问题出在哪里。
请问有什么帮助吗?
自 2024 年 9 月 1 日起,免费 Spark 计划的项目无法再发送短信进行手机登录。请查看 Firebase 定价页面 中的身份验证部分。
要继续使用基于电话的登录,您必须升级到付费套餐。请务必仅在您预计有活跃用户并且很少/没有滥用的区域启用短信发送。