Integrations

Firebase

Connect Auth, Firestore, Functions, and Analytics to your Firebase project.

The kit uses @react-native-firebase (native SDK), not the JS web SDK. You need a real iOS and Android app in Firebase.

1. Create a Firebase project

  1. Create a project in the Firebase console.
  2. Add an iOS app with your bundle ID (expo.ios.bundleIdentifier).
  3. Add an Android app with your package name (expo.android.package).
  4. Download:
    • GoogleService-Info.plist → project root (and it is copied into ios/ on prebuild)
    • google-services.json → project root

app.json already references those filenames.

2. Enable products

In Firebase, enable at least:

  • Authentication — Email/password. Add Google and Apple providers if you use those flags.
  • Firestore
  • Cloud Functions (Ask AI)
  • Analytics and Crashlytics (optional but already wired)

3. Google Sign-In

  1. In Firebase Authentication, enable Google.
  2. Copy the Web client ID.
  3. Set EXPO_PUBLIC_GOOGLE_WEB_CLIENT_ID in .env.local.
  4. Keep FEATURES.googleSignIn true.

4. Apple Sign-In

Enable Apple as a provider in Firebase. The iOS entitlement com.apple.developer.applesignin is already in app.json. Keep FEATURES.appleSignIn true for iOS.

5. Ask AI (Cloud Functions)

Functions live in functions/. Copy functions/.env.example to functions/.env and set the model keys you use (OPENAI_API_KEY, DEEPSEEK_API_KEY, or GEMINI_API_KEY).

For local functions:

EXPO_PUBLIC_USE_LOCAL_FUNCTIONS_SERVER=true

Rebuild the native app after changing that flag.

Then run npm run prebuild and a native build so the Google services files are compiled in.

On this page