ReadyNative

Push notifications

Push notifications for an Expo app, compared: Expo Notifications, or none - Expo Go support and what each option installs.

Pro

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
OptionLabelExpo GoHint
expo-notificationsExpo Notifications (default)no - dev build requiredExpo push service + local notifications · dev build required for remote push (Expo Go: local only)
noneNo push notificationsyesnothing registered

On this page

Get ReadyNative