Flutter: SafetyNet Attestation fails basic integrity - flutter

When trying to run Firebase Phone Authentication through a Virtual Android Device am getting the following error messages;
E/zzbf ( 6464): SafetyNet Attestation fails basic integrity.
I/zzmt ( 6464): Provider GmsCore_OpenSSL not available
W/System ( 6464): Ignoring header X-Firebase-Locale because its value was null.
Android Device Verification for the project is enabled through
Google Cloud Console; https://i.imgur.com/e1XWrWS.png
SHA-1 & SHA-256 is added to Firebase Project Settings; https://i.imgur.com/0PLnkzm.png
App level build.gradle has implementation "androidx.browser:browser:1.4.0" & implementation 'com.google.android.gms:play-services-safetynet:18.0.1; https://i.imgur.com/RPHS4Y1.png
I have investigated similar StackOverflow topics and tried the possible solutions but no luck. Running on a physical Android Device it runs fine but in Virtual Device I can't get past captcha verification.
Also when checking the SafetyNet documentation I saw that it's deprecated and it will be replaced by Play Integrity API.
Google Play Integrity API is enabled through Google Cloud Console; https://i.imgur.com/WctB3i8.png
App level build.gradle has implementation 'com.google.firebase:firebase-appcheck-playintegrity'; https://i.imgur.com/qr1LiZ4.png
Nothing I have mentioned helped me fix the error messages, any suggestions ?
UPDATE 1::
Found this place and added Firebase App Check dependency to my app, but does it actually have anything to do with it as my issue is still going on?

You can try with this, might help,
Make sure to re-download the google-services.json whenever you change the SHA keys in the Firebase console.
Check if the android emulator (ADB) target supports Google Services

Related

Implementing google login flutter gives 12500 error

I implemented google login in flutter without using firebase in flutter (google cloud console). It was working in apk then later I needed push notification service for which I used firebase (fcm token and all) then I released the app to playstore but google login does not work. I keep getting apiexception error. Has anybody faced this issue? if yes any help would be highly appreciated.
I do not have a specific answer to your problem but I have also faced this problem once, I accidentally resolved it though.
But Error 12500 is a general error code that may occur when attempting to use the Google Sign-In feature and is caused by a few potensial issues:
An issue with the SHA-1 fingerprint of your app's signing
certificate: To use Google Sign-In, you need to configure your app's
SHA-1 fingerprint and package name in the Firebase console. Make
sure that the fingerprint and package name you have configured in
the Firebase console match the ones you are using to sign your app.
An issue with the Google Services configuration file: Make sure you
have properly added the Google Services configuration file to your
app.
An issue with the Google Play Services library: Make sure you have
the latest version of the Google Play Services library installed in
your app.
An issue with the device or emulator you are using: Make sure you
are testing on a device or emulator that has Google Play Services
installed and is up to date.
Possible fixes to try/check:
Double-check the SHA-1 fingerprint and package name: Make sure that
the SHA-1 fingerprint and package name you have configured in the
Firebase console match the ones you are using to sign your app.
Make sure you have added the Google Services configuration file: The
Google Services configuration file is required for your app to
communicate with Google services, including Google Sign-In. Make
sure you have properly added this file to your app.
Update the Google Play Services library: Make sure you have the
latest version of the Google Play Services library installed in your
app. You can check for updates by going to the "SDK Manager" in
Android Studio.
Test on a device or emulator with Google Play Services installed:
Make sure you are testing on a device or emulator that has Google
Play Services installed and is up to date.
I hope this helps! I will quickly search if I can find any other solution.

PERMISSION DENIED when using Firebase AppCheck in emulator suite

I'm implementing AppCheck in my app in order to prevent bad access to Firestore. I activated the service in Firebase Console and add this line await FirebaseAppCheck.instance.activate(); after Firebase initialization.
Now, if I try to access Firestore in my app through emulator it logs PERMISSION DENIED.
How could I develop updates for my app and continue testing while AppCheck is enabled?
After you have registered your app for App Check, your app normally won't run in an emulator or from a continuous integration (CI) environment, since those environments don't qualify as valid devices. If you want to run your app in such an environment during development and testing, you can create a debug build of your app that uses the App Check debug provider instead of a real attestation provider.
Refer documentation Flutter app Check details.
However, as per the documentation, the debug provider does not currently have a Dart API; you'll need to apply the changes separately for each of your platforms.
You may check the App Check debug provider available for other platforms like Apple, Web and Android.

Pass safetynet check in Android emulator

I wonder if it is possible to make an Android emulator pass safetynet.
I made an emulator with google play services installed. I installed magisk and installed the universal safetynet fix but still basic integrity and CTS profile fails.
When I google search this question there aren't a lot of results on this topic but the one I found suggested that it is not possible..

Facing bundle identifier issues with Google Cloud Platform setup not working with Flutter

has any faced bundle identifier issues with Google Cloud Platform setup and Flutter app? I cant seem to figure out whats wrong and I keep getting errors from flutter:
flutter: errorMessage: This IP, site or mobile application is not authorized to use this API key. Request received from IP address 2001:8c8:1231:7a94:vc83:a41:f07e:db66, with empty referer.
i have rechecked several times for spelling and typos but no luck whatsoever! :
Looks like using the server key solved the issue here.

MoPub GDPR SDK - how to test?

Hi I am setting up the MoPub GDPR Android SDK, am getting a call to the consent dialog page on the web but get this response :
05-16 11:10:46.469 13030-13152/ E/Volley: [18308] BasicNetwork.performRequest: Unexpected response code 400 for https://ads.mopub.com/m/gdpr_consent_dialog
This means "Bad Request" and that the call is corrupt I think. Has anyone got this call to work ?
This isn't an ideal solution, but it works.
On your test device install a VPN service app, there are lots of free ones available out there. If you're running in an emulator (or a device without Google Play) you can goto one of the many APK mirror sites to download and sideload the APK directly.
I won't get into the obvious risks of using VPNs, or sideloading apks outside of google play, but if you're paranoid just spin up an emulator to test this.
It's important the service offers VPN servers located in countries affected by GDPR.
Enable the VPN service on your device/emulator and make sure you're using a server located in a GDPR country (Germany, for example). Load up the app your testing, and it should now appear that you are accessing
Not sure why Pete is suggesting a VPN here. But it appears I was getting this error because I forgot to replace the AD_UNIT_ID in the SdkConfiguration.Builder with my Ad Unit ID.