signInWithPhone method

Future<void> signInWithPhone(
  1. String phoneNumber,
  2. dynamic codeSent(
    1. String,
    2. int?
    ),
  3. dynamic onVerificationCompleted(
    1. User?
    ),
  4. dynamic onVerificationFailed(
    1. FirebaseAuthException
    ),
)

Implementation

Future<void> signInWithPhone(String phoneNumber, Function(String, int?) codeSent, Function(User?) onVerificationCompleted, Function(FirebaseAuthException) onVerificationFailed) async {
  try {
    await _auth.verifyPhoneNumber(
      phoneNumber: phoneNumber,
      verificationCompleted: (PhoneAuthCredential credential) async {
        UserCredential result = await _auth.signInWithCredential(credential);
        onVerificationCompleted(result.user);
      },
      verificationFailed: onVerificationFailed,
      codeSent: (String verificationId, int? resendToken) {
        codeSent(verificationId, resendToken);
      },
      codeAutoRetrievalTimeout: (String verificationId) {},
    );
  } catch (e) {
    print(e.toString());
  }
}