Skip to main content
In-App Messaging is custom views that you can send to a segment of users to show custom messages or give new offers or take to some specific pages. They can be created from your MoEngage account. Inapp Native 1

Installing Android Dependency

Requirements for displaying images and GIFs in InApp

Starting InApp version 7.0.0, SDK requires Glide to show images and GIFs in the in-apps. You need to add the below dependency in android/app/build.gradle  file.

Display In-App

Call the showInApp() wherever InApp has to be shown in the app as shown below :

Display Nudges

Starting with react-native-moengage version 9**.0.0,**MoEngage InApp SDK supports displaying Non-Intrusive nudges. To show a Nudge InApp Campaign call showNudge()

InApp/Nudge Redirection default behavior

On clicking an Inapp or Nudge, MoEngage SDKs will handle only rich landing navigation redirection.  For the screen name and deep link redirection, your app code should redirect the user to the right screen or deep link. To handle the screen name and deep link redirection, you must implement inapp click callback methods. MoEngage SDK will just pass the inapp payload to this call back code. Implementation steps are mentioned in the InApp callback section of the Integration.

Self-Handled InApps

Self-handled In Apps are messages that the SDK delivers, but displaying them has to be handled by the app.

Single Self-Handled InApps

To get self-handled In-App call the below method.
The payload for self-handled in-app is returned via a callback. Register a callback as shown below.

Multiple Self-Handled InApps

  • This feature is supported from version 11.1.0 of the plugin.
Fetch Multiple Self Handled Campaigns using getSelfHandledInApps()

Tracking Statistics for Multiple Self-Handled In-Apps

The getSelfHandledInApps() method returns MoESelfHandledCampaignsData**,**which contains a list of  MoESelfHandledCampaignData objects. The statistics for each MoESelfHandledCampaignData  object must be tracked individually below APIs.

Fetching Contextual Multiple Self-Handled InApps

To fetch contextual multiple self-handled inapps, set the inapp contexts using setCurrentContext()before calling *getSelfHandledInApps().*This will return a list of contextual and non-contextual inapps(in the order of campaign priority set at the time of campaign creation).

Tracking Statistics

Since display, click, and dismiss for Self-Handled InApp are controlled by the application we need you to notify the SDK whenever the In-App is Shown, Clicked, or Dismissed. Below are the methods you need to call to notify the SDK. The campaign object which is an instance of the MoESelfHandledCampaignData object provided to the application in the callback for self-handled in-app should be passed in as a parameter to the below APIs.

InApp Callbacks

The callbacks must be registered before inapps are displayed either via show methods or triggered events. And make sure you are calling initialize() the method of the plugin after you set up these callbacks. Refer doc for more info.
We provide callbacks whenever an InApp campaign is shown, dismissed, or clicked you can register for the same as shown below.

Contextual InApp

You can restrict the in-apps based on the user’s context in the application apart from restricting InApp campaigns on a specific screen/activity. To set the user’s context in the application use setCurrentContext() API as shown below.

Set Context

Call the below method to set the context, before calling showInApp().

Reset Context

Once the user is moving out of the context use the resetCurrentContext() API to reset/clear the existing context.
For more information on Contextual InApp, refer to the video tutorial available in Troubleshooting and FAQs.

Payload Structure

 

Handling Orientation Change

This is only for the Android platform
Starting SDK version 7.3.0, in-apps are supported in both portrait and landscape modes.
SDK has to be notified when the device orientation changes for SDK to handle in-app display.

Add the API call in the Android native part of your app

Notify the SDK when onConfigurationChanged() API callback is received in your App’s Activity class.

Display status bar

To display the status bar, use the following code snippet during Android SDK initialization: