In-App Messages

Helpful resources to get started with In-App Messages.

In-app messages (IAMs) are customizable and targeted messages that are displayed in your mobile app.

Navigate to Messages > In-App to see a collection of default in-app message templates. Click the options button to create a new message from a template (Duplicate) or create an entirely new message with the purple "New Message" button on the top right. We currently do not support any In-App Message APIs.

Screenshot showing how to edit an existing in-app message

Options to duplicate or edit an existing in-app message template.

Templates

OneSignal has several templates for you to quickly get started. These templates are professionally designed with rich-media content to help you deliver a quality experience to your app users. In summary, we provided the following templates:

  • Welcome: Allows you to welcome your user into your application as part of their onboarding.
  • New Feature Announcement: Example communication about how to promote a new feature of your app.
  • 10% Off Promotional: Allows you to offer your user a discount using a trigger to specify when the user should see this promotion.
  • Allow Notifications: Encourages your users to opt-in for notifications.
  • App Store Rating: Ask the user if they would like to review your app.
2842

In-app message pre-built templates

You can customize these templates with your own branding and set them to an active state.

1. Audience

Select the audience eligible to receive your message. You can include and exclude Segments of users.

Screenshot showing the Audience settings for an in-app message

Screenshot showing the Audience settings for an in-app message

📘

IMPORTANT: In-App Message segments include unsubscribed devices

In-App Messages are delivered regardless of subscription status, as subscriptions are not required for this channel.

2. Message

The In-App Message editor in the dashboard is where you create how the message looks and functions. This can be done with our drag-and-drop editor or an HTML editor. You can only use one or the other, and cannot switch back and forth.

There is a lot that you can do! More details, examples, and how-to guides are provided in the In-App Messaging Channel Docs.

Screenshot showing the in-app message editing screen

Screenshot showing the in-app message editing screen

Send to Test Device

You can test In-App Messages by clicking Send Test In-App.

Sending a test In-App Message will send your device a push notification. Clicking the notification will open your app and display the IAM.

Note: If your device is not a Test User, see Find Devices & Set Test Users.

Push Notifications are not actually sent when you set an In-App Message live in production. Push is only sent when clicking Send Test In-App. Testing In-App Messages requires a Push Subscription, but it is not required in production.

🚧

IAM Test Limitations

Tag Substitution does not work for Test In-App Messages.

3. Triggers

Triggers tell the OneSignal SDK when to display the IAM on the device. Users must be in the segment upon the app session to be eligible to receive the message. A session occurs when the app has been put into the foreground after 30 seconds of being closed or put in the background.

You can trigger the in-app message when the user opens the app or by programmatically setting up custom triggers with addTrigger method. Custom triggers are key : value pairs of string or integer data that you set programmatically in your app when an event occurs. See the IAM Triggers Guide for more details.

Image showing how you can set a trigger when creating an In-App Message

Image showing how you can set a trigger when creating an in-app message

4. Schedule

In-app messages can be scheduled to start and stop showing at some future date.

  • Start Showing is the date and time the message will begin to be presented to users.
  • Stop Showing is the time after which the message cannot be triggered any longer. You can also Show forever which means it will show until you Pause it or delete the App.

How often do you want to show this message?

Only once is default. The IAM will only show 1 time on the current device.

Every time trigger conditions are satisfied will show this message each time the Trigger conditions are met.

Multiple times allows you to set the specific amount of times this message can be shown and how long to wait in between each display.

For example, if you set: "2 times with a gap of 1 hours in between" - The message will be allowed to trigger a total of 2 times. The first time when the triggers are met, then the 2nd time when the triggers are met and 1 hour has passed.

If you set "12 times with a gap of 30 days in between" - The message will show roughly once a month for a year.

Screenshot showing in-app message scheduling options

Screenshot showing in-app message scheduling options

How In-App Messages are Displayed

In-app messages, unlike push notifications, are not sent to a users device. Instead, they are "set live", and then loaded in the background when the app is opened and ready to be displayed to users who meet the message's segment criteria once the trigger conditions have been satisfied. The flow diagram below details what happens between an in-app message being set live, and the user seeing the message on their device:

A flow diagram which shows how in-app messages are shown to users.

A flow diagram detailing how in-app messages are shown to users.

Once an in-app message has been set live, the user must re-open the app after it has been in the background for at least 30 seconds for the IAM to display. The user must also meet the correct segment criteria, and must satisfy all of the trigger conditions before the message will display. If the user is not in the correct segment, they will need to have re-opened the app after it has been in the background for at least 30 seconds after they have entered the segment in order for the in-app to be displayed (updating a user's segment mid-session will not display the message).

Examples and Troubleshooting

For IAM examples such as Asking for and App Store Rating and Creating A Survey, please see our full In-App Messages feature guide.

If you encounter any issues setting up your in-app messages, please see our In-App Message Troubleshooting guide for common issues and frequently asked questions.

👍

Make Message Live

Once you publish the in-app message, it will be eligible for all users selected in the Audience step.
See the In-App Messaging Channel Docs for more guides and next steps.