Configure a Firebase Project
Create a Firebase project, register your iOS and Android apps, and enable the services you need.
This guide covers setting up a Firebase project for a React Native app: authentication, Firestore data, media storage, push notifications, and backend functions.
Quick Answer
Create one Firebase project for your product, register both the iOS and Android apps, download GoogleService-Info.plist and google-services.json, add them to your app, enable the Firebase services you use, then run the app and verify new data appears in the Firebase console.
Firebase Setup Flow
Follow this order:
- Create or choose a Firebase project.
- Register an iOS app using your app's bundle identifier.
- Register an Android app using your app's application id.
- Download the iOS and Android Firebase config files.
- Add the config files to your React Native app.
- Enable the Firebase Authentication providers your app uses.
- Enable Firestore.
- Enable Firebase Storage if your app uploads media.
- Deploy Firestore rules, Storage rules, and indexes if your project has them.
- Deploy Firebase Functions if your project has backend functions.
1. Create a Firebase Project
In the Firebase Console, create a new project or reuse an existing one you control. A single project covers iOS, Android, and web.
2. Register the iOS and Android Apps
Under Project Settings → Your apps, register:
- an iOS app, using the exact bundle identifier your app is built with;
- an Android app, using the exact application id your app is built with.
These identifiers must match your native app values exactly. A mismatch is the most common cause of auth and Firestore requests failing for no obvious reason.
3. Download the Config Files
Download GoogleService-Info.plist (iOS) and google-services.json (Android) from the same Project Settings page. See Link Firebase Account to Your App for where these go.
4. Enable Authentication
In Authentication → Sign-in method, enable each provider your app uses (email/password, Google, Apple, phone, anonymous). Providers left disabled fail at sign-in with a provider-not-enabled error.
5. Enable Firestore
In Firestore Database, create a database. Start in test mode for local development, then apply real security rules before launch.
6. Enable Storage (if needed)
If your app uploads photos or files, enable Firebase Storage the same way.
Common Issues
Sign-up fails immediately the auth provider you're testing isn't enabled yet.
Firestore reads fail with permission denied your security rules don't allow that user or operation. Check the Rules tab.
Unexpected costs Firestore, Storage, and Functions all have free-tier limits. Functions require the pay-as-you-go plan; check the usage page if you enable them.
Verification Checklist
- iOS and Android apps are registered with the correct identifiers;
- both config files are downloaded;
- the auth providers you plan to test are enabled;
- Firestore is created;
- Storage is enabled if your app uses it.