Basic Setup
Follow the basic setup outlined in this section to enable push notifications on an Android device using MoEngage.
- FCM Setup on MoEngage Dashboard - FCM Authentication is the method to enable sending push notifications to your app installed on Android devices. Use the methods mentioned in this article to authenticate MoEngage to access Firebase services.
- Adding metadata for push notification - Set the small icon and large icon drawable and other options to handle push notifications using the methods available in this article.
- Android Notification Runtime Permissions - When the application is running on Android 13 to show notifications to the user, applications would need to request the user for notification permission. Refer to the methods available in this article to handle permission requests.
-
Push Registration and Receiving - To use Push Notification in your React Native application, you must configure Firebase. Configuring Firebase steps will depend on how you want to integrate it. MoEngage recommends leaving the push handling to MoEngage SDK, as the best practices are properly integrated. You can also handle the push at your app level. In any case, look at the following section that applies to you and finish the integration steps.
Add messaging service
You must add the messaging service to the Manifest file for MoEngage SDK to show the notifications. Refer to this document here.Callback on token registration (optional)
To get a callback whenever a new token is registered or refreshed, refer to the method here.Notification Clicked Callback
To receive a callback whenever a push is clicked and for custom handling redirection, use the method in this article.
How to opt out of MoEngage Registration?
The MoEngage SDK attempts to register for a push token; since your application handles push, you need to opt out of SDK's token registration using the method in this article.Pass the Push Token To MoEngage SDK - After receiving the push token from FCM, use the method in this article to pass the Push Token to the MoEngage SDK to set it in the MoEngage platform.
Passing the Push payload to the MoEngage SDK - After receiving the push payload on the app, use the method in this article to send out push notifications to the device.
warning Warning
MoEngage recommends using the Android native APIs to pass the push payload to the MoEngage SDK instead of the React-Native/Javascript APIs. React-Native Engine might not get initialized if the application is killed or if the notification is not sent at a high priority.
- Pass the Push Token To MoEngage SDK
- Pass the Push payload to the MoEngage SDK
- Callbacks and customizations
Notification Clicked Callback - MoEngage's React Native plugin optionally provides a callback on push clicks with the method in this article.
React-Native methods for Push
You can skip this section completely if you let MoEngage handle push token registration and display or use Android Native methods to pass tokens and payload to MoEngage SDKs.
Read on if you want to use React Native methods of MoEngage SDK to pass tokens and payload to MoEngage SDKs.
warning |
Warning MoEngage recommends using the Android native APIs to pass the push payload to the MoEngage SDK instead of the React-Native/Javascript APIs. React-Native Engine might not get initialized if the application is killed or if the notification is not sent at a high priority. |
Passing Push Token
const ReactMoE = require('react-native-moengage')
// pass the push token as a string
ReactMoE.passFcmPushToken("")
Passing Push Payload
const ReactMoE = require('react-native-moengage')
// pass the push payload as a JSONObject from FCM. Note only the data payload needs to be passed to SDK.
ReactMoE.passFcmPushPayload({})
warning |
Warning MoEngage recommends that you use the Android native APIs for passing the push payload to the MoEngage SDK instead of the React-Native/Javascript APIs. React-Native Engine might not get initialized if the application is killed or if the notification is not sent at a high priority. |
Customizing Push notification
If required the application can customize the behavior of notifications by using Native Android code (Java/Kotlin). To learn more about the customization refer to the Advanced Push Configuration documentation.Instead of extending PushMessageListener as mentioned in the above document extend PluginPushCallback.
Refer to the below documentation for Push Amp+, Push Templates, and Geofence.