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 cached on users’ devices and displayed when 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
- ScenesA single or multi-screen in-app experience cached on users’ devices and displayed when users meet certain conditions in your app or website, such as viewing a particular screen or when a Custom Event occurs. They can be presented in fullscreen, modal, or embedded format using the default swipe/click mode or as a Story. Scenes can also contain survey questions. — 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. The standard format, as opposed to In-App Automation, is a banner that slides downward or upward from the top or bottom of a device screen. (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.InAppMessaging
— Responsible for preparing and displaying in-app messages in the app. Provides control over the amount of time between in-app message displays.LegacyInAppMessaging
— 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. The standard format, as opposed to In-App Automation, is a banner that slides downward or upward from the top or bottom of a device screen. (legacy) so that they can be fed intoInAppMessaging
for display.LandingPageAction
— Takes a provided URL and schedules display of a landing page.
See also Embedded Content.
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
await Airship.inApp.setPaused(true)
Airship.inApp.setPaused(true);
Airship.inApp.setPaused(true);
await 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
InAppAutomation.shared().inAppMessaging.displayInterval = 30
InAppAutomation.shared().getInAppMessaging().setDisplayInterval(30);
InAppAutomation.shared.inAppMessaging.displayInterval = 30
// Not supported
// Milliseconds
await Airship.inApp.setDisplayInterval(30000);
Airship.inApp.setDisplayInterval(30000);
Airship.inApp.setDisplayInterval(30000);
await 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 are fully customizable in the dashboard and cannot be customized via the SDK.
Categories