If you were hoping we would release updates and features for iOS 15, preference centers, and subscription lists all in the same day, well, you’re going to be pretty happy with us.
Along with SDK updates for iOS 15 functionality, we added Relevance score and Interruption levels for your push notifications. These two features are related to Apple’s Notification summary and Focus options. See their iOS 15 preview for more information.
With iOS 15, you can determine the degree of interruption a user experiences from a push notification. Each level has a different impact on the user’s experience, depending on their Focus settings. These give you more fine-grained control over how your notifications are delivered to your users. The four options are:
- Active — Default. This is the experience for most messages prior to iOS 15.
- Critical — Previously available. These notifications can override scheduled delivery, break through Focus, support sound/vibration, and can override an iPhone’s silent switch. Requires a special entitlement from Apple, reserved for things like health, security, or government apps.
- Passive — New. These notifications are delivered without sound, vibration, or lighting up the screen.
- Time Sensitive — New. This is a new high priority notification type. These notifications have the same capabilities as Critical but without volume alert selection or silent switch override.
For the API, see
interruption_level: iOS Platform Override.
In the dashboard you set an interruption level in the Delivery step of the Message, Automation, A/B Test, and Journey composers. The previous Critical option is now available as an interruption level instead. See: Optional features: Interruption level.
The relevance score is one of multiple factors used by Apple to determine which push notifications are featured more prominently within the new iOS 15 feature Notification summary. The default is 0, and you can set a score from 1-10 in the dashboard or 0-1, by tenths, in the API.
For the API, see
relevance_score: iOS Platform Override.
As with interruption level, in the dashboard you set a relevance score in the Delivery step of the Message, Automation, A/B Test, and Journey composers. See: Optional features: Relevance score.
We released iOS 15 support in Airship’s iOS SDK 14.7 and SDK 15.0 today:
SDK 14.7 — API additions only, no breaking changes. Upgrade to this version to start taking advantage of the new iOS 15 features now.
SDK 15.0 — Contains API changes. Upgrade to this version to use all the new iOS 15 features and in preparation for new and upcoming Airship features, including a new preference center, described below.
SDK 15.0 includes a major rewrite of the Airship core SDK module in Swift from Objective-C. With the Swift rewrite, SDK 15.0 features better interoperability for Swift apps, friendlier Swift APIs, faster startup time, and will make it easier to support new Swift language features in the future.
We added additional channel support to subscription lists, which are Audience ListsRecipient messaging recipient groups based on either your own data or automatically-generated app user lifecycle information. You can use audience lists to target specific users. of opted-in users, as well as new ways you can use them within Airship:
Support for App and Web channels, not just Email. A single list can contain opted-in mobile devices, browsers, and/or email addresses. When you create the subscription list, you select which channels the subscription is for. Any subscription list created before this release date is enabled for email only, but you can edit the list and add web and/or app. See: Subscription lists.
Trigger an AutomationA set of conditions that your audience must meet before they receive a message. or JourneyA series of messages that is initiated by a single automation trigger. Airship sends messages in the series based on your timing settings, and you can also set conditions that determine the continuation of the series. when a user opts in to or out of a subscription list. See: Automation Triggers and Journey Triggers.
Use subscription list opt-in status as a ConditionTag-, channel-, or subscription-based requirements for members of your audience to receive a message from an automation or journey. The message is not sent if your conditions are not met. . See: Automation conditions and Journey message conditions.
You can also include subscription lists in segments, target them directly in a message and use them in a preference center.
A preference center is a page where users can manage their opt-in statuses for the subscription lists in your project. Now that subscription lists support App and Web channels, we added app and web versions of our preference centers.
You design the appearance of app and web preference centers in the Settings section of your Airship project. Once you are finished, you need only provide your developer with the preference center ID to implement the center in your app or site.
In addition to directing users to a preference center through app and website navigation, you can:
- Select an app preference center as an ActionA configurable behavior that occurs when a user interacts with your message, e.g., opening a web page. for push notifications and in-app messages.
- Select an app preference center as a button action when using the WYSIWYG editor to create content for Rich PagesA landing page or Message Center message in your app that can include HTML, video, etc. 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. .
- Provide a direct link to a web preference center.
After the preference center has been added to your app or website, you can change the design in the Airship dashboard at any time. Your saved edits are published in real time, no developer work required.
When a user changes their opt-in status for a Subscription ListAn audience list of opted-in devices, browsers, and/or email addresses. in a preference center, their status is updated for the respective channel.