In-App Automation

The In-App Automation framework in the SDK powers In-App Automation, In-App messages, Landing Pages, Action Automation, Scenes, and Surveys.

The framework is designed to just work within the application without any development work.

In-app messages appear regardless of a user’s opt-in/out status for notifications. While standard in-app messages appear as banners, 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. messages have various style and layout options. They are stored on the user’s device then displayed according to the triggers you define.

Most customization can be accomplished through the dashboard composer, however more advanced customization can be obtained by modifying the Airship SDK.

Pausing In-App Automation

Pausing will still allow IAA 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 In-App Automation

InAppAutomation.shared().isPaused = true
InAppAutomation.shared().setPaused(true);
InAppAutomation.shared.isPaused = true
UAInAppAutomation.shared.paused = YES;
Airship.inApp.setPaused(true)
Airship.inApp.setPaused(true);
// Not supported
using AirshipDotNet;

Airship.Instance.InAppAutomationPaused = true;
using UrbanAirship.NETStandard;

Airship.Instance.InAppAutomationPaused = true;
Airship.inAppAutomation.isPaused = true
UAirship.Shared.InAppAutomationPaused = true;

Display interval

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 30 seconds but can be adjusted to any amount of time in seconds.

Changing the display interval

InAppMessageManager.shared().inAppMessageManager.setDisplayInterval(1, TimeUnit.SECONDS)
InAppAutomation.shared().getInAppMessageManager().setDisplayInterval(1, TimeUnit.SECONDS);
InAppAutomation.shared.inAppMessageManager.displayInterval = 1
UAInAppAutomation.shared.inAppMessageManager.displayInterval = 1;
// Milliseconds
Airship.inApp.setDisplayInterval(1000)
Airship.inApp.setDisplayInterval(1000);
// Not supported
using AirshipDotNet;

Airship.Instance.InAppAutomationDisplayInterval = TimeSpan.FromMilliseconds(1000);
using UrbanAirship.NETStandard;

Airship.Instance.InAppAutomationDisplayInterval = TimeSpan.FromMilliseconds(1000);
Airship.inAppAutomation.displayIntervalMilliseconds = 1000
UAirship.Shared.InAppAutomationDisplayInterval = TimeSpan.FromSeconds(1);

Excluding Activities (Android only)

Activities can be excluded from auto-displaying an in-app message. 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.

Exclude activity from displaying in-app messages
<activity
    android:name=".MyActivity">
    <meta-data
        android:name="com.urbanairship.push.iam.EXCLUDE_FROM_AUTO_SHOW"
        android:value="true" />
</activity>