In-App Messaging Overview
Airship provides multiple ways to render in-app content. Minimal integration is required.
In the SDK, the In-App Automation framework powers:
- In-App AutomationMessages that are cached on users’ devices and displayed when your users meet certain conditions within your app, such as viewing a particular screen or opening the app a certain number of times. — Formats: Banner, modal, fullscreen
- ScenesMulti-screen experiences that are cached on users’ devices and displayed when your users meet certain conditions within your app, such as viewing a particular screen or opening the app a certain number of times. Scenes can include survey questions or be presented as a story. — Formats: Modal, fullscreen
- SurveysQuestion-and-answer experiences used to collect and aggregate feedback or generate a net promoter score. They are cached on users’ devices and displayed when your users meet certain conditions within your app, such as viewing a particular screen or opening the app a certain number of times. — Formats: Modal, fullscreen
- In-App MessagesA message that appears inside of your app. You can send in-app messages to your entire app audience, not just users who have opted-in to push notifications. (legacy) — Format: Banner
- Landing Pages — Format: Modal
Within this document, “in-app message” refers to all of the above except where otherwise specified.
The SDK uses several subcomponents to control different aspects of in-app messaging:
InAppAutomation
— The main entry point for the In-App Automation framework. Handles scheduling for in-app messages and allows display to be paused or resumed.InAppMessageManager
— Responsible for preparing and displaying in-app messages in the app. Provides control over the amount of time between in-app message displays.LegacyInAppMessageManager
— Adapts In-App MessagesA message that appears inside of your app. You can send in-app messages to your entire app audience, not just users who have opted-in to push notifications. (legacy) so that they can be fed into theInAppMessageManager
for display.LandingPageAction
— Takes a provided URL and schedules display of a landing page.
Display
Pausing will still allow messages to be triggered and queued up for execution, but they will not display. This is useful for preventing in-app message displays on screens where it would be detrimental to the user experience, such as splash screens, settings screens, or landing pages.
Pausing display
InAppAutomation.shared().isPaused = true
InAppAutomation.shared().setPaused(true);
InAppAutomation.shared.isPaused = true
// Not supported
Airship.inApp.setPaused(true)
Airship.inApp.setPaused(true);
Airship.inApp.setPaused(true);
using AirshipDotNet;
Airship.Instance.InAppAutomationPaused = true;
using UrbanAirship.NETStandard;
Airship.Instance.InAppAutomationPaused = true;
Airship.inAppAutomation.isPaused = true
UAirship.Shared.InAppAutomationPaused = true;
The display interval controls the amount of time to wait before the manager is able to display the next triggered in-app message. The default value is set to 0 seconds but can be adjusted to any amount of time in seconds.
Display interval
InAppMessageManager.shared().inAppMessageManager.setDisplayInterval(30, TimeUnit.SECONDS)
InAppAutomation.shared().getInAppMessageManager().setDisplayInterval(30, TimeUnit.SECONDS);
InAppAutomation.shared.inAppMessaging.displayInterval = 30
// Not supported
// Milliseconds
Airship.inApp.setDisplayInterval(30000)
Airship.inApp.setDisplayInterval(30000);
Airship.inApp.setDisplayInterval(30000);
using AirshipDotNet;
Airship.Instance.InAppAutomationDisplayInterval = TimeSpan.FromMilliseconds(30000);
using UrbanAirship.NETStandard;
Airship.Instance.InAppAutomationDisplayInterval = TimeSpan.FromMilliseconds(30000);
Airship.inAppAutomation.displayIntervalMilliseconds = 30000
UAirship.Shared.InAppAutomationDisplayInterval = TimeSpan.FromSeconds(30);
Customization
Various options are available for customizing the container view for in-app message content via the native SDKs. This applies to:
- In-App Automation
- In-App Messages (legacy) — Content is displayed within an In-App Automation banner
- Landing Pages
Scenes and Surveys are fully customizable in the dashboard and cannot be customized via the SDK.
Categories