Jeeva
Jeeva

Reputation: 4825

Firebase not working com.google.firebase.installations.FirebaseInstallationsException

I am working on an Android app, I was in a situation that I want to move the app to a new firebase project, so I removed the old firebase project and created a new one, then I added my app to that project. After that, no firebase functionalities are working.

I have firebase cloud messaging in my app, it was working but it's not working now, I am not receiving FirebaseMessagingService$onNewTokenand also I am using firestore as my back-end database. Inside my .addOnSuccessListener I am getting 0 documents back. It's not failing but returning no documents.

I thought might be a problem with firebase, so I created a test app in node.js and I try to fetch documents from firestore it's working fine.

The android app is not crashing, but checked the error log, and I am seeing the following log.

java.util.concurrent.ExecutionException: com.google.firebase.installations.FirebaseInstallationsException
        at com.google.android.gms.tasks.Tasks.zzb(Unknown Source:61)
        at com.google.android.gms.tasks.Tasks.await(Unknown Source:23)
        at com.google.firebase.iid.zzs.zzb(com.google.firebase:firebase-iid@@20.1.1:54)
        at com.google.firebase.iid.zzs.zza(com.google.firebase:firebase-iid@@20.1.1:89)
        at com.google.firebase.iid.zzv.run(Unknown Source:12)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:764)
     Caused by: com.google.firebase.installations.FirebaseInstallationsException
        at com.google.firebase.installations.FirebaseInstallations.doRegistrationInternal(com.google.firebase:firebase-installations@@16.0.0:333)
        at com.google.firebase.installations.FirebaseInstallations.doGetId(com.google.firebase:firebase-installations@@16.0.0:280)
        at com.google.firebase.installations.FirebaseInstallations.access$lambda$0(Unknown Source:0)
        at com.google.firebase.installations.FirebaseInstallations$$Lambda$1.run(Unknown Source:2)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
        at java.lang.Thread.run(Thread.java:764) 
2020-03-05 21:18:49.022 23658-23666/app.spidy.cyberwire E/spidy.cyberwir: Something went wrong getting fds from adb. Retry!: Success
2020-03-05 21:20:11.198 23658-24183/app.spidy.cyberwire E/FirebaseInstanceId: Failed to get FIS auth token
    java.util.concurrent.ExecutionException: com.google.firebase.installations.FirebaseInstallationsException
        at com.google.android.gms.tasks.Tasks.zzb(Unknown Source:61)
        at com.google.android.gms.tasks.Tasks.await(Unknown Source:23)
        at com.google.firebase.iid.zzs.zzb(com.google.firebase:firebase-iid@@20.1.1:54)
        at com.google.firebase.iid.zzs.zza(com.google.firebase:firebase-iid@@20.1.1:89)
        at com.google.firebase.iid.zzv.run(Unknown Source:12)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:764)
     Caused by: com.google.firebase.installations.FirebaseInstallationsException
        at com.google.firebase.installations.FirebaseInstallations.doRegistrationInternal(com.google.firebase:firebase-installations@@16.0.0:333)
        at com.google.firebase.installations.FirebaseInstallations.doGetId(com.google.firebase:firebase-installations@@16.0.0:280)
        at com.google.firebase.installations.FirebaseInstallations.access$lambda$0(Unknown Source:0)
        at com.google.firebase.installations.FirebaseInstallations$$Lambda$1.run(Unknown Source:2)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
        at java.lang.Thread.run(Thread.java:764) 
2020-03-05 21:22:41.287 23658-24278/app.spidy.cyberwire E/FirebaseInstanceId: Failed to get FIS auth token
    java.util.concurrent.ExecutionException: com.google.firebase.installations.FirebaseInstallationsException
        at com.google.android.gms.tasks.Tasks.zzb(Unknown Source:61)
        at com.google.android.gms.tasks.Tasks.await(Unknown Source:23)
        at com.google.firebase.iid.zzs.zzb(com.google.firebase:firebase-iid@@20.1.1:54)
        at com.google.firebase.iid.zzs.zza(com.google.firebase:firebase-iid@@20.1.1:89)
        at com.google.firebase.iid.zzv.run(Unknown Source:12)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:764)
     Caused by: com.google.firebase.installations.FirebaseInstallationsException
        at com.google.firebase.installations.FirebaseInstallations.doRegistrationInternal(com.google.firebase:firebase-installations@@16.0.0:333)
        at com.google.firebase.installations.FirebaseInstallations.doGetId(com.google.firebase:firebase-installations@@16.0.0:280)
        at com.google.firebase.installations.FirebaseInstallations.access$lambda$0(Unknown Source:0)
        at com.google.firebase.installations.FirebaseInstallations$$Lambda$1.run(Unknown Source:2)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
        at java.lang.Thread.run(Thread.java:764) 
2020-03-05 21:27:11.330 23658-24399/app.spidy.cyberwire E/FirebaseInstanceId: Failed to get FIS auth token
    java.util.concurrent.ExecutionException: com.google.firebase.installations.FirebaseInstallationsException
        at com.google.android.gms.tasks.Tasks.zzb(Unknown Source:61)
        at com.google.android.gms.tasks.Tasks.await(Unknown Source:23)
        at com.google.firebase.iid.zzs.zzb(com.google.firebase:firebase-iid@@20.1.1:54)
        at com.google.firebase.iid.zzs.zza(com.google.firebase:firebase-iid@@20.1.1:89)
        at com.google.firebase.iid.zzv.run(Unknown Source:12)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:764)
     Caused by: com.google.firebase.installations.FirebaseInstallationsException
        at com.google.firebase.installations.FirebaseInstallations.doRegistrationInternal(com.google.firebase:firebase-installations@@16.0.0:333)
        at com.google.firebase.installations.FirebaseInstallations.doGetId(com.google.firebase:firebase-installations@@16.0.0:280)
        at com.google.firebase.installations.FirebaseInstallations.access$lambda$0(Unknown Source:0)
        at com.google.firebase.installations.FirebaseInstallations$$Lambda$1.run(Unknown Source:2)

Upvotes: 72

Views: 108070

Answers (18)

Abdul Muiz
Abdul Muiz

Reputation: 11

I had the same problem in flutter. That worked for me:

Windows + R > %temp% > Delete all files or as much as you can > Restart windows > Wipe out emulator data > Cold boot emulator > Launch > DONE!

Upvotes: 0

e1000
e1000

Reputation: 59

Make sure the Emulator has Internet access. In my case it was "just" that: the Emulator had no Internet conection. I'm on a Mac M1. How to solve? Was easy thanks to this guy https://medium.com/@daydreamer_/how-to-fix-android-emulator-wi-fi-connected-with-no-internet-c62fd4ed652d :

Android Emulator requires the Google DNS 8.8.8.8 and 4.4.4.4. Set it on your computer as DNS and off you go.

Upvotes: 2

Mina Ayad
Mina Ayad

Reputation: 144

In my case, just there was no internet connection.

Upvotes: 1

Chalom.E
Chalom.E

Reputation: 697

Make sure that your date and time on emulator are correct. It fixes the issue for me.

Upvotes: 2

Monster Brain
Monster Brain

Reputation: 2119

We also encountered the same issue, while checking the google-services.json file, we found two entries of same key "api_key" .. removing the duplicate entry got the project working.

(Maybe it was due to corrupted json file download from console, which might be solved if downloaded again, as mentioned in the previous answers)

Upvotes: 1

Heshan Sandeepa
Heshan Sandeepa

Reputation: 3688

  1. Replace google-services.json file
  2. Delete project in Firebase console & re-create again
  3. Deleting Generated & Build files
  4. Flutter clean

Non of above worked for me.

I had to change the application id & re-created firebase app again

Upvotes: 0

Liew Jun Tung
Liew Jun Tung

Reputation: 249

I encountered this on my Flutter app but none of the solutions I found online works. After a dozen hair-pulling hours, what works for me is to run it in release mode via.

flutter build apk

and install it via adb

adb install project/build/app/outputs/flutter-apk/app-release.apk

Upvotes: 0

Gnanesh023
Gnanesh023

Reputation: 250

just delete the google-services.json file form the project ,clean project, after that rebuild the project

Upvotes: 3

Ajith Ramesh
Ajith Ramesh

Reputation: 325

Solution 1

  1. If you made any configuration changes in the firebase console - Redownload and update google-services.json file in the project.

Solution 2

  1. If You are using a Real device Check your Internet connection.

  2. If you are using android studio Emulator - Establish an internet connection by resetting the emulator.

    2.1. Open Tools -> AVD manager

Step 2.1

2.2. Wipe Data of the emulator Wipe Data of the emulator 2.2

  1. Run Project using fresh emulator.

Upvotes: 3

Muhammad Sulaiman
Muhammad Sulaiman

Reputation: 151

I had the same issue and in my case, so i run two commands "flutter clean" and then "flutter pub get" and it works for me.

Upvotes: 1

Maheshvirus
Maheshvirus

Reputation: 7523

There could be multiple reasons for the above error. The one which I have faced is due to SHA-1 certificate fingerprint restrictions. Was facing the above issue for the Android in the store build due to restrictions.

Steps to avoid this error.

  • Add your SHA-1 certificate fingerprint to the firebase project setup
  • Also add the same SHA-1 certificate fingerprint in Google Cloud Console.

Steps to add SHA-1 certificate fingerprint to Google Cloud Console:

  • Open Google Cloud Console & Select your project
  • Click API`s & Services Tab
  • Then Select Creditionals
  • Then go API Section
  • And Finally, check your SHA-1 Key is added on Restrict usage to your Android apps section or not. If not add it with the package name and SHA-1 Key.

Upvotes: 7

Piyush Vishwakarma
Piyush Vishwakarma

Reputation: 1826

I tried all the solutions. Nothing worked. Ultimately I had to delete the Application from the Firebase project, re-create it and add the newly generated google-services.json.

While at it, I also changed the Firebase-flutter dependencies to

  firebase_core: ^1.5.0
  firebase_messaging: ^10.0.5

And android dependencies to

    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation platform('com.google.firebase:firebase-bom:28.3.1')
    implementation "com.google.firebase:firebase-messaging:21.0.1"
    implementation 'com.google.firebase:firebase-analytics-ktx'
    implementation 'com.android.support:multidex:1.0.3'

My issue had started after I added the SHA-1 code after setting up the application.

Upvotes: 0

Daniil
Daniil

Reputation: 1600

I had the same problem because access to internet (wifi and mobile) was disabled

Upvotes: 60

Philipos D.
Philipos D.

Reputation: 2310

I had the same issue and in my case, my android emulator didn't have Google Play Services added. Created a new one with Google Play Services services and it worked.

Upvotes: 6

Andreas Rayo Kniep
Andreas Rayo Kniep

Reputation: 6522

Firebase Android SDK updates on February 27 (M65) and afterwards introduced a new infrastructure service, the Firebase Installations SDK which comes with a dependency on the Firebase Installations API.
Firebase Installations requires valid Firebase options API key, project ID, and application ID (a.k.a. "appId") in order to successfully communicate with Firebase servers.

Errors during communication with the Firebase Installations API indicate invalid Firebase options or misconfigurations regarding API keys.

To mitigate the issue

  • make sure that your application is using valid Firebase options from the latest google-services.json file from your Firebase console: Firebase options: instructions and background.
  • If you use API restrictions, make sure that the API key used by your application is white-listed for the Firebase Installations API (and for your application): API restrictions: instructions and background
  • Regarding Application restrictions: Either set the radio button to None or make sure that your app is white-listed (with the correct SHA-1 certificate).

For details, please visit:
https://firebase.google.com/support/privacy/init-options

Upvotes: 12

purpatel
purpatel

Reputation: 21

Instead of downgrading, enable Firebase Installation API to your firebase key from Firebase: 403 PERMISSION_DENIED (FirebaseError: Installations): Requests are blocked, after updating SDKs (FirebaseInstallationsService)

Upvotes: 2

Jeeva
Jeeva

Reputation: 4825

If you have recently change your google-services.json file then just delete build folder from android project and re-build your project.

Upvotes: 133

Lukas Novak
Lukas Novak

Reputation: 1169

I had the same problem (Failed to get FIS auth token) with firebase-messaging version 20.1.1 and 20.1.2. I've solved it by downgrading to 20.1.0.

It looks like Firebase team has some problems with these versions according to Release Notes: Warning: The following two library versions released with this update have known issues and should not be used: firebase-messaging v20.1.1 and firebase-iid v20.1.0.

Upvotes: 16

Related Questions