Skip to main content

Firebase Errors in React Native Apps

Firebase errors usually come from using the wrong project config files, missing Auth providers, rules that block the current user, missing indexes, Storage not being enabled, Functions not being deployed, missing secrets, App Check enforcement, or billing limits.

Quick Answer

Confirm the app uses your Firebase project, then verify the specific Firebase service that failed: Auth, Firestore, Storage, Functions, Cloud Messaging, or App Check.

find ios android -name "GoogleService-Info.plist" -o -name "google-services.json"
firebase use
firebase functions:log

Missing Firebase Config Files

Firebase-backed apps need:

PlatformFile
iOSGoogleService-Info.plist
Androidandroid/app/google-services.json

If the app still uses demo data or the wrong project, replace both config files and rebuild the native app.

Auth Errors

If sign-up or sign-in fails, check:

  • the required provider is enabled in Firebase Console;
  • email/password, phone, Apple, Google, or Facebook is configured as needed;
  • native platform setup is complete for Apple, Google, or Facebook;
  • the app uses the correct Firebase config files;
  • the user is not blocked or disabled in Firebase Authentication.

Firestore permission-denied

Check:

  • the user is authenticated;
  • Firestore rules allow the current read/write;
  • required document fields are present;
  • the document path matches the rule;
  • you deployed rules to the correct project.
firebase deploy --only firestore:rules

Missing Firestore Index

Firestore composite index errors include a Firebase Console link. Open it, create the index, wait until it finishes building, then retry the app.

If the app package includes firestore.indexes.json, deploy it:

firebase deploy --only firestore:indexes

Storage Upload Fails With Network request failed

Check:

  • Firebase Storage is enabled;
  • Storage rules allow the authenticated write path;
  • the app has media/photo permissions;
  • the selected file URI exists on the device;
  • the file is not too large for the current flow;
  • the app uses your Firebase config files;
  • backend Functions used by upload processing are deployed;
  • billing supports the services used by the workflow.
firebase deploy --only storage

Functions Return INTERNAL

Check Functions logs:

firebase functions:log

Common causes:

  • missing secrets or environment variables;
  • wrong Firebase project selected;
  • region mismatch;
  • unauthenticated callable request;
  • provider API key missing or invalid;
  • billing not enabled for required services;
  • webhook URL or signing secret mismatch.

App Check Blocks Requests

If requests fail only after App Check enforcement:

  • confirm iOS and Android production apps are registered in App Check;
  • confirm the release build sends valid App Check tokens;
  • test monitoring mode before enforcement;
  • keep Firestore/Storage rules in place because App Check does not replace user authorization.

Blaze And Billing Issues

If a workflow uses Functions, third-party APIs, media processing, or higher traffic, check whether the Firebase project needs Blaze and budget alerts.

Use:

Verification

Firebase is healthy when:

  • the app uses your Firebase config files;
  • Auth creates users in your Firebase project;
  • Firestore reads and writes work for real authenticated users;
  • Storage uploads and downloads work;
  • Functions deploy and logs show no missing secrets;
  • push tokens are saved when push is enabled;
  • App Check is planned or enabled for production.

Next Steps

FAQ

Are Firebase config files secret?

No. Firebase client config identifies the project. Protect data with Auth, Firestore rules, Storage rules, App Check, and backend authorization.

Why does the app show a generic error?

The UI may show a generic message while Firebase logs contain the real code. Check Metro logs, device logs, Firebase Console, and Functions logs.