You can create scenes from scratch, or by selecting a template for these experiences:
- App Onboarding — Onboard new users to your app.
- App Update — Alert users that the latest version of your app is now available.
- Account Upgrade — Inform users that their subscription has ended or that it is time to upgrade.
- Feature Awareness — Educate users about specific features to encourage them to try them out.
In addition to the ready-made use case templates, scenes can be used for a variety of custom experiences that you define. Examples:
- Welcome messages — Communicate the value of your app and highlight key features.
- Push opt-in prompts — Explain the value of your notifications to drive opt-in rates.
- App reviews — Prompt users to rate your app after positive experiences.
- Registration/login — Drive registrations and logins to your loyalty program or account.
Appearance and behavior
Scenes are cached on users’ devices upon receipt of a background push. When background push is disabled for your project, or for users opted out of background app refresh, our SDK downloads and refreshes scenes during the next app open.
They appear regardless of a user’s opt-in/out status for notifications and remain on screen until the user interacts with them, either by swiping through all screens or dismissing the scene.
Modal and fullscreen styles are supported, as well as various layouts for each style.
You configure the content based on the requirements for your selected style and layout:
Background — An image or video. See: Media guidelines.
Text — May include header, body, and footer fields.
Media — An image or video. See: Media guidelines.
Buttons — Each style supports a different number of buttons, and you will associate an action for each. If more than one button is added, you may choose a button layout: Separate, Joined, or Stacked.
Styles and dismiss button
There are two scene styles:
A modal scene takes over the user’s screen, compelling the user to interact with it. The modal window is smaller than the full width of the screen, superimposed on the app with a translucent background, indicating that the interruption is temporary.
Fullscreen scenes have the same design as modal but use the entire screen.
Appearance can vary based on device size. We recommend testing on devices to ensure your scenes appear as intended.
The Dismiss button appears as an X in the upper right corner of the scene. You can enter a hexadecimal value to customize its color or opt to hide it.
Each screen in a scene uses one of the following layouts:
- Media | Header | Body
- Header | Body | Media
- Header | Media | Body
- Text only
- Bullet list
- Media only
Requirements and options for the elements in each layout:
- Media | Header | Body (and variations)
- Required: Body (text), media
- Optional: Background (media), header (text), footer (text), buttons
- Text only
- Required: Body (text)
- Optional: Background (media), header (text), footer (text), buttons
- Media only
- Required: Background (media)
- Optional: Buttons
- Bullet list — The “bullet” is an image you provide, followed by text.
- Required: Header (text), bullet (media, text)
- Optional: Background (image), body (text), buttons
You can customize the appearance of scenes:
- Background color
- Text — For Header, Body, and Footer. Body text also applies to each item in a bullet list.
- Font family
- Alignment — Left, right, center
- Style — Underline, bold, italic
- Text — Font, color, size (small, medium, large), style (underline, bold, italic)
- Background color
- Border — Color, radius
You have the option to set a tag when a scene is displayed.
Each template has various screens with preselected layouts and content placeholders supporting the template purpose. You can add, duplicate, reorder, and remove screens. The same design options are available if you choose to create a screen from scratch.
- App Onboarding
- App Update
- Account Upgrade
- Feature Awareness
In addition to configuring when the scene will display and its appearance and content, you can also set optional features:
Priority — Because multiple scenes can become eligible for display at the same time, you can assign a priority value to each one. If no priority is assigned, by default, the most recently updated scene will appear first. Priority is shared across Scenes, 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. , and 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. .
Repeat — To prevent over-messaging, our SDK waits 30 seconds after one scene is closed before displaying the next eligible scene. This delay value can be updated through native code. You may also control the number of times an individual scene is displayed and the minimum waiting period before it is eligible for redisplay. Redisplaying your scene is useful because users can dismiss or ignore scenes.
Start and end dates — Set the dates and times during which your scene can be displayed. Specifying a window of time is useful for scenes that are time-bound or tied to scheduled events.
Missed behavior — Override the project-level setting for how the scene is handled when audience conditions are not fully met.
Ignore Message LimitsLimits that cap the number of messages you can send within a specified time frame, preventing you from over-messaging your users. They are set at the project level. — Override the project-level limit for a single scene.
Campaign categories — Group scenes of a similar type or messaging strategy for aggregate reporting.
Custom keys — Custom keys are additional key-value pairs you can send to a device along with the scene, for use by custom code in your app. You can use custom keys to pass additional campaign identifiers for analytics, pass user information to the device, control the look and feel of the app, provide image links, etc.
Scene status is either Active, Expired, Canceled, or Pending. When you first create a scene it is Active. It remains active until either:
It expires according to its end date.
You stop it. Stopped scenes are considered canceled.
- Active scenes can be edited or canceled at any time.
- An Expired or Canceled scene can be edited and its end date extended, making it active again, within a grace period of 14 days. After 14 days they can only be duplicated.
A recently created or edited scene has the status Pending for a few seconds until it completes processing and becomes Active.
See: Change status.
Background push invokes any typical background actions your app takes when it is woken. For some apps, this behavior can be too much to handle. Because of this, background push is disabled by default for use with scenes.
If you are confident with you app’s ability to handle a larger number of background push notifications, for best results, we highly recommend enabling background push for scenes. Without the use of background push, your app will not receive necessary updates of scenes until the next time the app is opened.
Here are some examples of what can happen if background push is not enabled:
New scenes may not be available on the device before the user generates the event that triggers the scene display.
Updates to or cancellations of scenes may not get applied in time, so your app may display the wrong version of a scene or display a scene that should not have been displayed.
Please note that while background push is not guaranteed to solve all of the issues above, it does give the SDK the best opportunity to update the scene list before the app is open, making it more likely that your user sees the correct scene.
You can set scene appearance and behavior defaults in your project settings. These can be overridden for an individual scene in the Design settings in the composer.
Performance reports are available for individual scenes in the same format as Message Reports. From Messages OverviewA view of all your project’s messages, journeys, and A/B tests, with options for editing their settings, content, status, and more. click for a scene to open its report.
The header displays the scene name and creation date, time and time zone, as well as its status. Options in the header:
— Changes the status of an Active scene to Canceled. This is effectively the same as specifying an end date, immediately applying an end date of “now.” Active messages can be canceled at any time.
— Changes the status of a Canceled or Expired scene to Active. See: Restart an in-app automation, scene, or survey. This is effectively a shortcut to editing the scene and either eliminating or specifying an end date. Expired scenes can be restarted within a grace period of 14 days. After 14 days they can only be duplicated.
— Opens the scene for editing. Availability depends on its status. Active scenes can be edited at any time. An Expired or Canceled scene can be edited and its end date extended, making it active again, within a grace period of 14 days. After 14 days they can only be duplicated.
— Creates a copy of the scene and opens it for editing. You must complete the composer steps in order to save the new scene.
The Performance section displays:
Latest Message Activity — The username, date, time, and activity associated with the most recent change to the scene. Last Message Activity data is available for 90 days after scene creation. For scenes with more than one activity, click Show all to open a modal window that displays all activity.
- Total Displayed — The total number of times at least the first screen of the scene was displayed on user devices.
- Total Completed — The total number of times all screens in a scene were viewed. This count is only displayed for scenes with more than one screen.
- Total Dismissed — The total number of times the scene was dismissed before the last screen was viewed.
- Total Push Opt-in — If the scene contains a button using the Push Opt-in action, the total number of users that clicked the button.
Engagement Over Time — A chart displaying daily Completed, Dismissed, and Push Opt-in counts over the last 7 days. Hover over a date to see counts per day. You can select another time frame, and the chart will reload with the data for that period.
The Scene Detail section displays the same information shown in the Review step of the Scene composer. Click the arrows to page through the previews of each screen.
The Events section displays a list of events directly and indirectly attributed to the scene. Click Download CSV to export the data.
The Events section is only displayed if you have Custom EventsEvents that indicate that a user performed a predefined action, such as adding an item to a shopping cart, viewing a screen, or clicking an Unsubscribe button. Custom events can trigger automation, journeys, scenes, and surveys. You can code them into your app or website, or send them to Airship from an external source using the custom event API. Custom events contain
properties that you can use to personalize messages. enabled.
- Event Name — Human-readable name assigned to a particular custom event.
- Notification Attribution — Displays whether your event was directly or indirectly attributed to the scene.
- Count — The number of instances of this event.
- Value — The value (monetary or otherwise) generated by the event.
- Average Value — Value divided by Count.
- % of Total Count — Count divided by the Total Count (listed on the bottom row).
Reported events are also accessible via Real-Time Data StreamingA service that delivers engagement events in real time via the Data Streaming API or an Airship partner integration. and Performance AnalyticsA customizable marketing intelligence tool that provides access to reports and graphs based on engagement data. . These events include:
- Scene displayed
- Scene completed
- Scene incomplete
- Button clicked (each button is a separate event)
Message limits cap the number of messages you can send within a specified time frame, preventing you from over-messaging your users. They are set at the project level. The limit for Scenes, 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. , and 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. are combined. See: Message Limits.
Minimum SDK versions