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 priority assigned to the message
- the time windows a message is scheduled to display (if any are set)
- limits established for a particular in-app message to not upset app users
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 tohttps://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.
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.