Push notifications
Push notifications for an Expo app, compared: Expo Notifications, or none - Expo Go support and what each option installs.
Hey - here's how push works in ReadyNative.
This category owns notifications: asking for permission, registering a token, showing a banner while the app is in the foreground, and opening the right route when someone taps one.
@/lib/push always exists, whichever option you pick: push.usePushToken() and push.requestPermission() read the same in both, and push/none is a no-op that reports { token: null, status: "unsupported" }. Screens you write against the shim keep working when you switch options.
Pick Expo Notifications for push without running your own APNs and FCM plumbing: eas credentials holds the certificates, Expo's service does the sending, and the module handles tokens, the Android channel and deep links from a tap. It needs a dev build on a physical phone - Expo Go hasn't received remote push since SDK 53. Pick none until you have something worth notifying people about; asking for permission before then is the fastest way to have it denied forever.
This category is part of ReadyNative Pro.
Options
One option per category - --push <option> picks it:
bun run setup --push expo-notifications| Option | Label | Expo Go | Hint |
|---|---|---|---|
expo-notifications | Expo Notifications (default) | no - dev build required | Expo push service + local notifications · dev build required for remote push (Expo Go: local only) |
none | No push notifications | yes | nothing registered |