In-App SDK Integration for Android (Mapp Cloud)

The following document describes how to integrate the Android SDK to support In-App Messaging. For Inbox and In-App action handling, see Android Inbox and In-App Action Handling.


In-App and Inbox Messaging for Mapp Cloud Integrated are only available with Android SDK v5.0+

Configure Android SDK for In-App Cache Service 

In order to integrate your app with the In-App Messaging cache service, you will need to configure the Android Configuration File to include the 'Jamie URL' based on your Mapp Engage system ID number (tenant ID) and your Google Project ID. The Jamie URL varies by the location of your Mapp Engage system. Your Mapp account manager or project manager will provide this URL, system ID, AppID and SDK Keys to you during onboarding. 

You will need the following data added to the Android Configuration File:

  • CEP_URL: This is the Jamie URL for caching and delivering In-App Messages. A Mapp Cloud account manager or project manager will provide this to you.
  • SDK Key: This is the SDK Key generated from the Mapp Engage Channel Management. There will be a different SDK Key for each app you have configured in your Mapp Engage environment. For example, customers with an Android development, Android Production, iOS development, and iOS production apps, will have four different SDK Keys. One for each app. A Mapp Cloud account manager or project manager will provide this to you. You can also view this in the Mapp Engage system under Administration > Channels. 
  • APP_ID: This is the ID number of your app from the Mapp Engage Channel Management. There will be a different App ID for each app you have configured in your Mapp Engage environment. For example, customers with an Android development, Android Production, iOS development, and iOS production apps, will have four different App ID Keys. One for each app. A Mapp Cloud account manager or project manager will provide this to you. You can also view this in the Mapp Engage system under Administration > Channels. 
  • TENANT_ID: This is the ID number of your Mapp Engage system. A Mapp Cloud account manager or project manager will provide this to you. 
  • Google Project ID: This is the ID number of your Google Project


Examples in the Android Configuration File:

buildConfigField "String""APP_ID""\"123456\""

buildConfigField "String""CEP_URL""\"https://jamie-test.shortest-route.com\""

buildConfigField "String""TENANT_ID""\"42\""


In-App Message call (Custom Trigger Events)


Custom Trigger Events are used to trigger when an In-App message is displayed. Common trigger events are "Open App", "Open Shopping Cart", "Open Inbox/Message Center". With custom trigger events, you can create events specific to your app. At a minimum, all apps require one Custom Trigger Event. The most common event is the Open App. 

To create a custom trigger event in Android, include the following call in your app. 

 For version 6.0.16+ this call is deprecated

Custom Trigger Event Syntax
Appoxee.instance().triggerDMCCallInApp(YourActivity.this, "EventName");

 Use new function triggerInApp with NativeInapp support

Custom Trigger Event Syntax
Appoxee.instance().triggerInApp(YourActivity.this, "EventName");

To use the custom trigger event in an In-App Message, call the registerAppEvents API to load all custom trigger events. You must have an API user account set up in Mapp Engage to call the API. See In-App Custom Event Triggers API for Mapp Cloud for more details. 

In-App Message Types

Fullscreen Message Type


The fullscreen In-App message covers the entire screen




Dismissal Options: 

    • Back Button (for Android)
    • 'X' icon at top Right



Modal Message Type


  Modal types of In-App messages is displayed in a popup.



Use Cases: 

    • Support for Screen Orientation: 
  • Portrait
  • Landscape
  • Reverse Portrait
  • Reverse Landscape.

For all orientation types, the modal type popup is scaled based on the screen percentage and then remains as a fixed resolution until the message is dismissed. 


    • To avoid memory leaks, the orientation remains fixed until the modal type is shown. It will remain fixed until the modal is dismissed. 

Dismissal Options:

    •  'X' button at top right corner 
    • Back Pressed 
    • Clicking outside the modal dialog
    • Time Based Auto-Dismissal

Banner Message Type

Banner type of In-App messages are displayed in top or bottom of screen


Activity Constraint:

  • Prevent the activity from getting recreated
  • Hence add this line in the Application's AndroidManifest.xml

    android:configChanges="...|orientation|..."


Dismissal Options: 

    •  'X' button at top right corner 
    • Time Based Auto-Dismissal