Introduction to in-app messages

In-app messages allow you to display any creation in a mobile application. This feature allows you to implement use cases such as abandoned cart, discount codes, or any information campaign, such as application update.

In contrast to push notifications which are sent (pushed) to the app user by Synerise, in-app messages are requested (pulled) by the user’s device through Synerise mobile SDK. Thanks to this, you can design your mobile application to request and show notification precisely when you need to, making them more reliable in some scenarios than push notifications. Combining this with the capabilities of segmentations and the Analytics module that allow you to measure the performance, in-app messages can be targeted better and more effective.

In-app messages vs push notifications


In-app messages Push notifications
In-app messages are fetched to a device by using the SDK, but Firebase integration is needed for testing. Firebase integration is required
In-app messages are displayed right after occurrence of a triggering event The message is delivered as a push notification and the time of deliverability is dependent on Firebase
User’s agreement is not required A user’s agreement is required
One in-app message can be displayed at a time Push notifications are aggregated in the notification center
The possibility of full layout customization using HTML and CSS Lack of HTML and CSS customization support
Support personalization (Jinjava) Support personalization (Jinjava)

How it works


In-app messages are fetched:

  • when the application is launched,
  • after refresh of in-app definitions that occurs every 10 minutes by default,
  • when the customer context changes (for example, a user logs in/logs out, UUID changes)

When a mobile application user performs an activity which triggers an in-app message, then the message is displayed.

The mobile application can display only 1 in-app message at a time. The selection of the in-app message to display is based on:

The rest of the in-app messages which overlap are stored in the memory. They can be displayed if triggered.

Key information


  • In-app messages are fetched and kept by SDK for 6 hours. Because of this, when you stop the communication, customers may still see the message until in-app messages are fetched again and refreshed by the SDK
  • Only 10 in-app messages can be active at the same time.
    This ensures good performance of the mobile application.
  • If your mobile application is a single-activity application, an in-app message is displayed after switching between the screens in the application.

Requirements


  • Recommended Mobile SDK version:
    • Android - 5.3.0 or newer
    • iOS - 4.12.0 or newer
    • React Native - 0.12.0 or newer
    • Flutter - 0.5.0 or newer
  • If your in-app content (such as JavaScript, CSS, images, or fonts) is being loaded from your own server via HTTP and you have configured CORS policies, you need to set the contentBaseUrl to your server’s address. For example, if you’re loading resources from https://www.synerise.com/example/font.woff, you should configure contentBaseUrl to https://www.synerise.com (check this option in the Settings).
  • Enable the IN_APP_DEFINITIONS_COMMUNICATION_READ (Communication) permission in the Profile (formerly Client) API key used by the mobile application so the mobile application can fetch in-app messages.
    The API key permission matrix with the in-app permission
    The API key permission matrix with the in-app permission

Events generated by in-app messages


Interaction with in-app messages generates the following events. Based on these events, you can create analyses to measure the performance of in-app messages.

See In-app Mobile Campaigns section in the Event Reference.

Statistics


On the list of the in-app messages, you can find basic statistics on in-app performance such as:

  • the number of times an in-app message has been displayed,
  • the number of clicks in the links in an in-app have been clicked,
  • Click-Through Rate (CTR)

You can create more advanced analyses in the Analytics module using the events generated by in-app messages.

😕

We are sorry to hear that

Thank you for helping improve out documentation. If you need help or have any questions, please consider contacting support.

😉

Awesome!

Thank you for helping improve out documentation. If you need help or have any questions, please consider contacting support.

Close modal icon Placeholder alt for modal to satisfy link checker