Я пытаюсь настроить аутентификацию по номеру телефона с помощью Firebase для моего приложения для Android. Я включил аутентификацию телефона на вкладке «аутентификация» на консоли Firebase и добавил свой номер для тестирования. Я пробовал использовать несколько номеров, но я не получил ни одного SMS-сообщения, несмотря на то, что консоль сообщала мне, что функция PhoneCodeSent была запущена и отображает сообщение об успехе. Я пытался исправить это некоторое время и не могу найти надежного ответа. Что не так с моим кодом?
Мой код следующий
...
...
...
String verificationId;
int resendingToken;
Future<void> _sendConfirmationCode() async {
if (formKey.currentState.validate()) {
formKey.currentState.save();
final PhoneVerificationCompleted verificationCompleted = (FirebaseUser user) {
setState(() {
print('verification has been completed');
});
};
final PhoneVerificationFailed verificationFailed = (AuthException authException) {
setState(() {
print(countrySelected);
print(this.phone + "\n");
print('verification failed error: ' + authException.message);}
);
};
final PhoneCodeSent codeSent = (String verificationId, [int forceResendingToken]) async {
this.verificationId = await verificationId;
this.resendingToken = await forceResendingToken;
print("code sent: "+ verificationId);
};
final PhoneCodeAutoRetrievalTimeout codeAutoRetrievalTimeout =
(String verificationId) {
this.verificationId = verificationId;
print("time out");
};
if (this.phone.isNotEmpty) {
await FirebaseAuth.instance.verifyPhoneNumber(
phoneNumber: "<PHONE NUMBER HARDCODED HERE>", //I've tried hardcoding my number too but it didn't work
timeout: const Duration(seconds: 5),
verificationCompleted: verificationCompleted,
verificationFailed: verificationFailed,
codeSent: codeSent,
forceResendingToken: resendingToken,
codeAutoRetrievalTimeout: codeAutoRetrievalTimeout);
}
}
}
На консоль выводится следующее:
I/flutter (32425): code sent: AM5PThC4JnFK7czWDoAdqSFjBdDk5oq9VwufNvWxgcOg4fEgbHE8CoYGuWMCjzTnfPbOlpcdfefouwL86dsD5fQs73CcR3NgvI2SRqHEHgM0n34yqqJma75ZCvPGMeTmwy6XDCA9-P0p
I/flutter (32425): time out
Я также пытался подождать несколько часов на случай, если достиг лимита SMS в Firebase, но это не проблема. Есть идеи?