Skip to Content
ConfigurationPush Notifications

Expo Push Notifications

Set up push notifications for iOS and Android.

Quick Start with Claude Code

Run /appboost in Claude Code to configure push notifications. The wizard will set up your Expo project ID and guide you through the platform-specific setup.

Prerequisites

  • Expo account with project created
  • For Android: Firebase account (free)
  • For iOS: Paid Apple Developer account ($99/year)

Important: iOS push notifications require a paid Apple Developer account. Free accounts cannot generate push notification credentials.


iOS Setup

EAS Build handles iOS push notification configuration automatically. During your first eas build, you’ll be prompted to enable push notifications and generate an APNs key.

Register your test device with eas device:create before your first build.


Android Setup

Android push notifications use Firebase Cloud Messaging (FCM).

1. Set Up Firebase Credentials

Follow the official Expo guide on setting up Firebase Cloud Messaging (FCM) credentials: Expo Push Notifications - FCM Credentials 

2. Add Firebase to Your App

  • Register your app in the Firebase Console.
  • Use your app’s package ID to set up the project.
  • Download the google-services.json file and place it in your project’s root directory.

[!IMPORTANT] The google-services.json file must be in the root directory of your project, at the same level as package.json.

3. Configure EAS Credentials

Upload your Firebase service key to EAS:

eas credentials

Select:

  • Platform: Android
  • Which credentials: Push Notifications (FCM)
  • Upload FCM Server Key

Get the server key from Firebase Console → Project Settings → Cloud Messaging.

4. Get SHA-1 Fingerprint

For Firebase setup, you need your app’s SHA-1:

  1. Build your app at least once with EAS
  2. Go to Expo Dashboard 
  3. Find your project → Credentials → Android
  4. Copy the SHA-1 fingerprint
  5. Add it to Firebase Console → Project Settings → Your App → SHA certificate fingerprints

Environment Setup (Both Platforms)

Add your Expo project ID to .env:

EXPO_PUBLIC_PROJECT_ID=your-expo-project-id

Find this in your Expo dashboard or app.json under extra.eas.projectId.

Required: Without this, push notifications won’t register.

Update app.json (Android)

Add Firebase configuration:

{ "expo": { "android": { "package": "com.yourcompany.yourapp", "googleServicesFile": "./google-services.json" } } }

Testing Notifications

Use the “Push Notification” button in the Profile screen to send a test notification.

Configuration Checklist

Both Platforms

  • EXPO_PUBLIC_PROJECT_ID in .env

iOS

  • Paid Apple Developer account ($99/year)
  • Device registered via eas device:create

Android

  • google-services.json in project root
  • googleServicesFile path in app.json
  • FCM key uploaded via eas credentials
  • SHA-1 added to Firebase project

Note: Push notifications require a native build (development, preview, or production). They don’t work in Expo Go.