This document describes in-app messages and Mobile Inbox, which can be used to deliver messages to users of your mobile apps.
Read Sending In-App Messages to learn how to send in-app message campaigns with Iterable.
Table of contents
In-app messages are custom messages that appear in an iOS or Android mobile app while it is in the foreground. Unlike push notifications, they do not appear when the app is in the background or closed. These messages can be used to point users to new content or functionality in the app, promotions or any other important information.
In-app messages can:
- Be created with raw HTML or a drag-and-drop editor.
- Contain buttons and links.
- Be sent as part of blast, triggered or workflow-based campaigns.
- Be displayed in any order or prevented from displaying at all.
- Contain metadata that the associated mobile app can inspect.
- Be tied to different Iterable message channels and types.
How does an app receive in-app messages?
To let mobile apps know that new in-app messages are available, Iterable sends silent push notifications: invisible, silent notifications that serve only as a communication mechanism between Iterable and the app.
Iterable's mobile SDKs also check for new in-app messages at strategic times during an app's lifecycle, such as when it comes to the foreground.
After downloading new in-app messages, apps can use included metadata to determine whether or not to display them and in what order. By default, mobile apps will show all in-app messages in the order they were sent.
Iterable will not show the same in-app message to the same user more than once unless the message has been re-sent or selected in a mobile inbox.
Buttons and links in in-app messages
In-app messages can provide buttons and links to encourage users to take action on their content. These buttons and links might direct users to specific content in the app or on the web, or simply close the message.
For example, consider the in-app message at the top of this document:
- The Read Now button might point to a web URL or a deep link URL (to open specific content in the app itself). Tapping this button would close the in-app message and navigate to the specified address.
- The close button would have URL
iterable://dismiss, and tapping it would close the message and return the user to the app.
When users tap on the buttons or links in an in-app message, Iterable captures events that you can use for campaign analytics, to trigger workflows, to filter users in a workflow or segment users, or to trigger system webhooks:
- All button and link taps create an In-App Click event.
- Close button taps (URL
iterable://dismiss) create In-App Click and In-App Close events.
- Delete button taps (URL
iterable://delete) create In-App Click, In-App Close and In-App Delete events.
For more information, read Events for In-App Messages and Mobile Inbox.
Users may sometimes want to save in-app messages to read when they have more time or when they're more relevant. In other cases, you may want to send promotions or announcements in a non-intrusive way, making them available for users to read as they see fit.
To accomplish these things, use Mobile Inbox: a place in your mobile apps for users to receive, store, browse, read and delete in-app messages.
Mobile Inbox benefits users, developers, and marketers:
- For users, Mobile Inbox makes it easier to derive value from in-app messages.
- For developers, Mobile Inbox provides an out-of-the-box SDK integration with Iterable, including a default user interface to integrate into your mobile apps. This UI is customizable and dark mode-compatible.
- For marketers, Mobile Inbox provides rich analytics that describe how often and how long users have spent looking at their inbox, which messages have made an impression, which messages have been opened and which messages have been deleted.
Using Mobile Inbox
When a user opens a mobile inbox in your app, it displays a list of all their saved in-app messages for that app. This list includes in-app messages sent directly to the inbox.
If an in-app message is configured to use the inbox, the inbox lists it immediately, regardless of any custom code that modifies display time or display order for that particular message.
By default, this list shows the title of the message, some further descriptive text, the date the message was sent, and an associated image. Users can tap any message to view its contents.
Iterable syncs the contents of a mobile inbox across all devices on which the same user has logged in to the same app (but it does not sync whether or not a given message has been read).
Deleting in-app messages
There are two ways for users to delete in-app messages, removing them from the inbox. They can:
Tap a delete button (URL
iterable://delete) in the content of the message.
Swipe left on the message in the inbox and click the Delete button.
- Iterable's iOS SDK
- Iterable's Android SDK
- Iterable's React Native SDK
- In-App Messages Overview
- In-App Messages on iOS
- In-App Messages on Android
- Setting up Mobile Inbox on iOS
- Setting up Mobile Inbox on Android
- Customizing Mobile Inbox on iOS
- Customizing Mobile Inbox on Android
- Animating In-App Messages with CSS
- Image Carousels in In-App Messages
- Testing and Troubleshooting In-App Messages
- In-App Messages Without the SDK
- API Overview and Sample Payloads
- Iterable's API Docs