sendOtp method
Implementation
Future<void> sendOtp({required String phoneNumber, required Function onCodeSent, required Function onSuccess, required Function onError}) async{
mobileNumber = phoneNumber;
await auth.verifyPhoneNumber(
phoneNumber: mobileNumber,
forceResendingToken: resendToken,
timeout: Duration(seconds: 60),
verificationCompleted: (PhoneAuthCredential credential) async {
handleSignIn(credential, onSuccess, (){});
},
verificationFailed: (FirebaseAuthException e) {
if (e.code == 'invalid-phone-number') {
AlertX.instance.showAlert(
title: "Invalid phone number",
msg: "The provided phone number is not valid.",
negativeButtonText: null,
positiveButtonText: "Done",
negativeButtonPressed: (){},
positiveButtonPressed: (){
Navigation.instance.goBack();
}
);
}else{
AlertX.instance.showAlert(
title: "Error",
msg: e.message ?? "",
negativeButtonText: null,
positiveButtonText: "Done",
negativeButtonPressed: (){},
positiveButtonPressed: (){
Navigation.instance.goBack();
}
);
}
onError();
},
codeSent: (String id, [int? code]){
verificationId = id;
resendToken = code ?? 0;
onCodeSent();
},
codeAutoRetrievalTimeout: (String verificationId) {},
);
}