File: using-push-notifications-services.md | Updated: 11/15/2025
Hide navigation
Search
Ctrl K
Home Guides EAS Reference Learn
Archive Expo Snack Discord and Forums Newsletter
Copy page
Learn about push notification services that are compatible with Expo and React Native apps.
Copy page
Expo apps can work with any notification service or any of the notification capabilities offered by the Android and iOS operating systems. Even if a package doesn't yet exist for a feature, native code can be written to access it via the Expo Modules API , and native project configurations can be automated using config plugins . The following options provide purpose-built Expo integrations, including config plugins where necessary, for implementing push notifications in your app:
The
expo-notificationslibrary is designed and tested to work with Expo's push notification service and notifications sent directly from FCM and APNS. Some advanced features may not be compatible with third-party providers, as they often have their own native and React Native SDKs optimized for their services.
Expo Notifications provides a unified API for handling push notifications across Android and iOS. It integrates seamlessly with your Expo account and is free to use.
expo-notifications
libraryFor implementation details, see the following guides:
Expo push notifications overview
Learn more about Expo push notifications.
Expo Notifications server-side SDK options
Learn more about sending push notifications using a server.
OneSignal is a customer engagement platform that provides push notifications, in-app messaging, SMS, and email services for web and mobile apps. OneSignal supports rich media in notifications and engagement analytics. It includes an Expo config plugin for direct integration into your Expo project.
Braze is a customer engagement platform that delivers personalized, cross-channel messaging through push notifications, in-app messaging, email, SMS, and web. Braze supports rich notification content, push notification campaigns, and support for resending notifications after failed deliveries on Android. It provides a React Native SDK and a config plugin . Check out the Expo example app for more details.
Customer.io is a customer engagement platform that allows you to design powerful automated workflows utilizing push notifications, in-app messaging, email, SMS capabilities, and more. Its visual workflow builder allows you to automate complex, data-driven campaigns across multiple channels. Customer.io supports device-side metrics collection that can be used to customize push notifications tailored to user behaviors and preferences. Customer.io provides an Expo plugin for direct integration with your Expo project and documentation for using Customer.io push notifications alongside other providers.
CleverTap is an all-in-one customer engagement platform that helps you deliver personalized, real-time, omnichannel messaging across push notifications, in-app messages, email, and more. It offers advanced segmentation, analytics, and campaign automation — built to scale with your business. The CleverTap React Native SDK and Expo config plugin make it easy to integrate CleverTap into your Expo projects. The config plugin handles all the native module setup during the prebuild process, allowing you to configure CleverTap through your app config without having to manually modify native code. For more information, check out the CleverTap Example Plugin .
Send notifications directly via FCM and APNs
You may choose to send directly to platform push API's from your backend. In this case, you can still use expo-notifications
to retrieve the native push token and configure notifications separately for each platform.
Although the client-side code remains cross-platform with expo-notifications
, you will need to implement server-side logic to interact with the FCM
and APNs
APIs individually.
React Native Firebase messaging
React Native Firebase provides a messaging module that lets you use Firebase Cloud Messaging (FCM) as a unified push notification service for both Android and iOS. While FCM is often associated with Android notifications, it also supports iOS by routing messages through Apple Push Notification service (APNs) behind the scenes.
This approach differs from using FCM solely for Android notifications. Instead, Firebase's cross-platform SDK handles notifications for both platforms through a single service.
Even though FCM handles notifications for both platforms, iOS notifications still go through APNs. Firebase automatically manages this routing. Learn more in the React Native Firebase messaging documentation .
Tips and important considerations