'Firebase phone auth not initiating OTP only in release mode but works on Debug mode even after added sha1 for release mode

Steps how I implemented.

As advised, I implemented all the way. It was quite good in debug mode. Unfortunately its not working in release mode even I added my debug and release sha1 keys in firebase console.

Step 1. Coding part is here

final PhoneVerificationCompleted verificationCompleted =
    (PhoneAuthCredential user) {
  successMessage('Your phone number verified successfully!');
  _loginNotifier.validate();
};

 final PhoneVerificationFailed verificationFailed = (FirebaseAuthException authException) {
  errorMessage('Phone number verification failed. Code: ${authException.code}. Message: ${authException.message}');
  print(
      'Phone number verification failed. Code: ${authException.code}. Message: ${authException.message}');
};

 final PhoneCodeAutoRetrievalTimeout codeAutoRetrievalTimeout =
    (String verificationId) {
  this._verificationId = verificationId;
  print("time out");
};

 firebaseAuth = FirebaseAuth.instance;
firebaseAuth.verifyPhoneNumber(
    phoneNumber: '+$_phoneWithCC',
    timeout: const Duration(seconds: 60),
    verificationCompleted: verificationCompleted,
    verificationFailed: verificationFailed,
    codeSent: codeSent,
    codeAutoRetrievalTimeout: codeAutoRetrievalTimeout);

Step 2: Here is the firebase console sha1 keys for debug and release mode

Added all three different sha1 keys but still not working:(

Error I am getting:

As I said, in debug mode all good as expected But in release mode, after initiating the otp function, immediately PhineVerificationFailed with null message and null code.

If still anything I missed please advice. Thanks all



Solution 1:[1]

Apart from SHA1 - you also need SHA256 thumbprint for release apk.
I faced similar issue for firebase google authentication.
Can you add SHA256 thumbprint to firebase project console and try again ?

Solution 2:[2]

After adding SHA1 you have to reinstall your app from Google Play.

Solution 3:[3]

Besides adding sha256 and SHA1, you need to add your email in the Firebase console. See the attached image.

enter image description here

Solution 4:[4]

For my case I was just missing the 'Andoid Device Verification' API for my Firebase project from Google Cloud.

https://console.cloud.google.com/apis/library/androidcheck.googleapis.com?project={put_your_project_name_here}

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 abhijat_saxena
Solution 2 Mr Random
Solution 3 Akram
Solution 4 Rizwan Raza