Short answer
In Google Cloud console, under APIs & Services, Credentials, open the API key your app uses (it is in google-services.json). Add Firebase Installations API to its API restrictions, and check that its Android app restriction lists your package name with the right SHA-1, or set it to None. Make sure the Firebase Installations API is enabled, then download a fresh google-services.json and rebuild.
Why Firebase Installations rejects the app, and the fix
01
API restrictions that leave out Firebase Installations
“make sure that the API key(s) used in your application(s) are whitelisted for the Firebase Installations API” GitHub, API-Key restrictions (firebase-installations)
A key restricted to a list of APIs needs Firebase Installations API on that list. Edit the key in Google Cloud console and add it. If the key shows Don’t restrict key, you may be looking at a different key than the app uses.
02
Android app restrictions that don’t match the build
An Android app restriction allows only listed package names and SHA-1 fingerprints. Debug, release and Play App Signing builds each have their own SHA-1; add each one, or set Application restrictions to None for Firebase keys. signingReport shows your local keys; copy the Play App Signing SHA-1 from Play Console (Test and release, App signing).
cd android ./gradlew signingReport # prints the SHA-1 for each build variant03
Old or mismatched Firebase options
“Errors during communication with the Firebase Installations API indicate invalid Firebase options or misconfigurations regarding the API key used in your application.” GitHub, Firebase Android SDK maintainer note
An API key, project ID or app ID from another project, or a deleted key, fails the same way. Download google-services.json again from Project settings, or run flutterfire configure in a Flutter app, then rebuild.
04
The Firebase Installations API is disabled
If Firebase Installations API isn’t in the list when you edit the key, enable it for the project in the Google Cloud API library first. Then check its metrics page for successful requests after a fresh install of the app.
Checked against the vendor’s docs on : Firebase Android SDK: API-Key restrictions for Firebase Installations; Firebase Android SDK issue #1286: maintainer mitigation steps; Firebase: API keys for Firebase.
Rather hand it over?
Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.
- from $450App Fix TicketOne reproducible bug in an existing mobile or web app, diagnosed and fixed.See scope and start
- from $450AI-Built App RescueA Lovable, Bolt or Cursor app checked end to end in 3 days, then its worst problems fixed at a fixed price.No issues worth fixing, no charge. If the Launch Check finds nothing rated medium or higher, Simon refunds the full $450. You keep the report either way. This applies to the first 10 Launch Checks bought after October 30, 2026.See scope and start
Related: FCM “registration token is not registered” · Firebase Auth “invalid API key” in production · Android google-services “version conflict” · Firebase phone auth invalid-app-credential