how to solve code 10, message 10: with google signing option - firebase

enter image description here
Hello guys, i just created my first app, and when emulated worked perfectly, but when i build the apk release file, i get this toast code 10, message 10:, i know there are the same questions but and i have tried to solve the problem using the solutions in previos posts, but no result, i have changed the SHA1 many times, donloaded json files many times, re installed the app, and erased the google account, none of that worked, the issue is only with google signing option, whe using the email option it works fine, i am using
implementation 'com.firebaseui:firebase-ui-auth:4.3.1'
implementation 'com.google.firebase:firebase-auth:19.2.0'

If you are using app signing by Google Play, you need to make sure that you add the SHA-1 fingerprint from the Google Play Console to your list of Firebase fingerprints.
After you have uploaded your app to the play store, go to your Google Play Console, select your app, and under Release Management, select App signing:
On that screen, you can find the SHA-1 fingerprint in the App signing certificate section. Copy and paste that into your Firestore fingerprintes (Firebase Console -> Project -> General Settings).
Onc you add it, it may take a few minutes to take effect but this fixed the issue for me.

Related

Log errors from app on Google Play using Crashlytics

Probably silly question, but is it possible to send errors using Crashlytics from users that downloaded my app from Google Play? Until now I was using Crashlytics to collect errors from my app distributed by Firebase (so it was only for me and invited people). But I have released my app on Google Play and I can't see any errors from devices that downloaded my app in Google Play. I read that when I link my Google app with Firebase I can see purchase and subscription and analytics but no mention of Crashlytics. So my question is.. Is it even possible? Thank you very much.
Is the package name the same on your "release" version on the store? If your test one was called com.patrik.coolapp.debug (which is the default if you're using a debug build) then you'll need to add com.patrik.coolapp as an App in your Project in the Firebase console.
If you already had Crashlytics set up (all the dependencies, added the plugin, FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true) somewhere in your app) then it should just work - here's some advice on testing:
https://firebase.google.com/docs/crashlytics/test-implementation?platform=android
So I finally made it..
I'd like to thanks to #cactustictacs for help.
The problem was that I did not integrate Google Play in project settings in Firebase, although it is saying that it is just for Analytics and Subscription.
Before I integrated Google Play in Firebase I tried to add FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true) .. it did not work, but I believe it could be usefull to someone.
It wouldn't be such a problem, but it is required to have Owner or Admin permissions on both Firebase account and Google Play console account (which I did not have). After I get the permissions, integration was enabled and I could see test crashes in Crashlytics.

Firebase phone authentication is not working on Android real device

I've been trying to achieve phone auth using Firebase authentication. It's working with an android emulator. I used a test number and a real number in the emulator. Both works. But only the test number is working with a real device and throwing this exception for other numbers
Error is:[firebase_auth/missing-client-identifier] This request is missing a valid app identifier,
meaning that neither SafetyNet checks nor reCAPTCHA checks succeeded.
Please try again, or check the logcat for more details.
I setup SHA key in firebase also.
I am guessing you have not enabled the Device Check API. All you need to do is enable the Device Check API on the cloud platform.
I think after some updates they have made this change that for Safety Net you need SH1 Authentication along with enabling Device Check API.
You can follow the Steps as mentioned here.
Once you enable the device check api. Restart your application. It should work like a charm.
Do lemme know if you need further steps.
SafetyNet is newly developed feature for android. But solved the issue without doing any changes in the App.
Following steps helped me to solve.
Release Version
Google Signs the Appbundle when you upload. So, Find and copy the SHA1 key of the app signed by google.
Google Play Console - App Signing Key
Navigate to your project -> Project Settings in Firebase Console and add SHA1 key by clicking on Add fingureprint.
Debug version
Navigate to android directory of your project with following command with Terminal.
cd android
Generate app signingReport and copy the SHA1 key
gradlew signingReport
on Mac :
./gradlew signingReport
Add the SHA1 key in firebase app.
Android has added SafetyNet you can read more here. But what you have to do is 1. enable the Android Device verification api here. and 2. If you haven't yet specified your app's SHA-256 fingerprint, do so from the Settings Page of the Firebase console. For more info read details here.
I resolved my issue by removing by old android studio sha-1 and sha-256 keys from firebase and adding a new one from the latest android studio.
I have fixed this error.
In my case I added two android projects with same SHA-1 in single firebase project.
Once I removed one project from firebase project.
Now it is working for me.
I found this after much searching and should work for you or anyone else who stumbles here:
Put this line inside app/build.gradle under dependencies
implementation "androidx.browser:browser:1.2.0"
It is because its do reCAPTCHA verification and opens up browser.
There are two ways Firebase Authentication accomplishes this:
SafetyNet: If a user has a device with Google Play Services installed,
and Firebase Authentication can verify the device as legitimate with
Android SafetyNet, phone number sign-in can proceed.
or
reCAPTCHA verification: In the event that SafetyNet cannot be used, such as when the user does not have Google Play Services
support, or when testing your app on an emulator.
So your solution is either one of two
Retest on a real device
Add reCAPTCHA verification functionality to your app so you can
proceed with your emulator.
This was worked for me :-
If your app is published on the play store, Copy App signing key certificate from the Google Play console (Release > Setup > App Integrity page). Insert your signing key to your Firebase Console(Project settings Page).
Follow this link - https://developers.google.com/android/guides/client-auth
I removed my phone number from phone number for testing on firebase and it was worked for me when working on real device not emulator.

Why google and facebook login not working after publishing on google play store

My app has sign in via google and facebook buttons, they are working well when I export release the apk but they aren't working when I publish it on google play store.
I tried putting SHA-1 certificate fingerprint on firebase specifically to add finger button I get the following error message.
An OAuth2 client already exists for this package name and SHA-1 in another project. You can omit the SHA-1 for now and read more about this situation and how to resolve it.
Honestly, I can't find it.
You absolutely need to add the combination of the release apk SHA-1 and app ID to your project in the console. If you can't do that, contact Firebase support directly.

Image picker view not crashing not even asking for user permission, Why and How?

I am working on one side project, it has image view where a user can click and select an image from the photo library. I am using UIImagePickerController.
My question is I haven't added user Permission on plist nor anywhere else. and as far I know app crashed if you don't add permission, Plus when the app opens for the first time the dialog appears asking for permission but in my case, it's not asking.
I like to know how this can be possible or does Apple have changed something in new Xcode or OS?
I am using Version 9.2 (9C40b) and tried running the code on iPhone 6(real device iOS 11.2.6,) and in different simulator same result, I deleted the app and run it again, same no dialog.
And if Apple has changed something in iOS 11, Should we add or not the permission? whats the best way to a developer we don't want to ask, and also don't want the app to be crashed.
The answer is YES you have to provide the description
It is mandatory to add usage description(from iOS 11) of permissions you are going to use.
Apple states that
Your app is responsible for all usage of privacy-sensitive data, including access to this data by all third-party libraries used in your app. If your app attempts to access privacy-sensitive data without a usage description, your app will exit.
You will see this error in console log if permission description is not provided in Info.plist
This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSCameraUsageDescription key with a string value explaining to the user how the app uses this data.
If you try to submit the app without description for release Apple will reject it with this message
Missing Info.plist key - This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSSpeechRecognitionUsageDescription key with a string value explaining to the user how the app uses this data.
Summary:
If you have not provided usage description and uploaded the app earlier then your app will crash without asking for permission
If you have not provided usage description and tried to submit recently then apple will reject it.
Reference:
Privacy Settings in iOS 10

Cannot upgrade Firebase apps from legacy to new console

I'm unable to upgrade a specific existing Firebase app to the new Firebase 3 console. I'm not sure why because I was able to do it before without issue.So far I've:
Logged in to Legacy console
Clicked on the upgrade option for the app I want to transfer over
The Firebase 3 console opens but app is not there
I looked around for directions on how to proceed but have only found instructions to look below the Firebase 3 project list section to see the list of my old projects at Firebase.com and import them from there. The problem is I don't see anything but this error message.
I have clicked the linked your account but all that does is bring me back to the legacy console with no further instruction or confirmation that the account has been linked. When I go back to the Firebase 3 console there is still nothing there.
Does anyone know how to fix this?

Resources