Я внедрил firebase otp в своем приложении для флаттера
Когда я устанавливаю приложение на свое устройство и запрашиваю тот же номер на этом устройстве, оно не отправляет мне сообщение. Но когда я меняю номер, он отправляет сообщение
Поэтому я сменил устройство и попытался отправить предыдущий номер, оно успешно отправило сообщение. Затем я использовал номер на втором устройстве, и он не отправил сообщение
* Когда я использую тот же номер на устройстве, он не отправляет OTP
Вот код для отправки otp
Future<void> verifyPhone() async {
final PhoneCodeAutoRetrievalTimeout autoRetrieve = (String verID) {
this.verificationId = verID;
};
final PhoneCodeSent smsCodeSent = (String verId, [int forceCodeResend]) {
this.verificationId = verId;
};
final PhoneVerificationCompleted verifiedSuccess =
(AuthCredential phoneAuthCredential) {
print('verified');
};
final PhoneVerificationFailed verifyFailed = (AuthException exception) {
print('${exception.message}');
};
await FirebaseAuth.instance.verifyPhoneNumber(
phoneNumber: widget.phone,
timeout: const Duration(seconds: 5),
verificationCompleted: verifiedSuccess,
verificationFailed: verifyFailed,
codeSent: smsCodeSent,
codeAutoRetrievalTimeout: autoRetrieve);
log("OTP sent");
}
Это код для проверки OTP
signIn() async{
final AuthCredential credential = PhoneAuthProvider.getCredential(
verificationId: verificationId,
smsCode: enteredOtp,
);
await FirebaseAuth.instance.signInWithCredential(credential).then((user) {
//SOME CODE HERE
}).catchError((e) {
showAlert(
context: context,
title: "Empty or Invalid OTP",
);
log("Invalid OTP");
});
}
Что здесь не так? Как я могу это исправить и получить otp для того же номера в устройстве.