# What's New in Airship Stay up to date with the latest Airship features, platform changes, and SDK updates. Use for questions about recent Airship releases, new features, or platform changes. Do not use for implementation guidance — refer users to Guides or Developer docs for setup instructions. # Scene Text Styling and Video Controls > Fine-tune your in-app experiences with new text styling options and background video controls that help you deliver Scenes that feel polished and on-brand. Additional typography settings, Markdown styling options, and background video controls give you more creative freedom when designing Scenes. ## Typography settings and Markdown styling ![Superscript and subscript Markdown styling in Scene text](https://www.airship.com/docs/images/whats-new/typography_hu_1cc42a265fc76313.webp) *Superscript and subscript Markdown styling in Scene text* Control the font weight, line height, and letter spacing in your Scenes. You can set them for text styles in your brand guidelines or when configuring the List, NPS, Question, and Text content elements. And while you're at it, use highlight, superscript, and subscript Markdown styles in any Scene text field. To learn how to set them up, see [Text, button, and input styles](https://www.airship.com/docs/guides/messaging/features/brand-guidelines/#text-button-and-input-styles) in *Setting brand guidelines* and [Text properties](https://www.airship.com/docs/guides/messaging/editors/native/design-properties/#text-properties) and [Markdown styling](https://www.airship.com/docs/guides/messaging/editors/native/about/#markdown-styling) in *Configuring Scene content*. The typography settings require minimum SDKs iOS 20.1 and Android 20.1. Highlight requires minimum SDKs iOS 20.2 and Android 20.1. Superscript and subscript require minimum SDKs iOS 20.6 and Android 20.6. ## Background video controls ![Play and mute controls for background video in a Scene](https://www.airship.com/docs/images/whats-new/background-video-controls_hu_61fffa8e95446a87.webp) *Play and mute controls for background video in a Scene* Add play/pause and mute/unmute buttons for background video in your Scenes. Configure their placement, size, and appearance in the screen's design properties. For more information, see [Video controls](https://www.airship.com/docs/guides/messaging/editors/native/screens/#video-controls) for background media in *Configuring screens*. These controls require minimum SDKs iOS 20.6.2 and Android 20.5. # AI Agent Tools > Stop switching between docs, dashboard, and code. Skills and an MCP server bring Airship's APIs, SDK migration support, and repeatable workflows into the AI coding assistants your team already uses. [Agentic & Generative AI](https://www.airship.com/docs/guides/features/intelligence-ai/ai/) Use Airship's AI tools to work with the platform through natural language: * Send test pushes to tags, channels, or Named Users and validate payloads during development * Automate SDK and framework updates * Register and associate email or SMS channels with Named Users * Look up channels, tags, Attributes, and opt-in status without opening the dashboard * Pull Airship documentation and API specs into context while you work Two components make it work: * **Skills** — Skills are portable bundles of instructions that steer an AI assistant through a task the same way every time. Individual skills are focused operations you can use alone or as part of a workflow. Workflows are multi-step processes that interpret responses and adapt. * **MCP server** — The Airship [MCP](https://modelcontextprotocol.io/) server gives Claude, Cursor, Windsurf, and other MCP-compatible clients authenticated, real-time access to Airship APIs, documentation, and SDK migration guidance. Use the tools independently or together. In supported environments, skills run on top of the MCP server: the server supplies the live connection and skills supply the playbooks for common development tasks. ## Documentation Go to [Airship AI Tools](https://www.airship.com/docs/developer/ai-tools/) for requirements, setup, workflow examples, and sample prompts. # Cross-Project Content Duplication > Copy your content from one project to another right from the dashboard. Whether you're promoting from test to production or sharing across brands and regions, reuse what works without starting over. ![Duplicating a template to another project](https://www.airship.com/docs/images/whats-new/content-duplication_hu_c8dc3107dc6a98ef.webp) *Duplicating a template to another project* Duplicate content between projects and share brand assets to get your campaigns live faster. No recreating, no copy-pasting, no re-uploading. It's quick, and you can try it now! First, go to **Content** and select a type: * [Templates](https://www.airship.com/docs/reference/glossary/#template) * [Snippets](https://www.airship.com/docs/reference/glossary/#snippet) * [Scene](https://www.airship.com/docs/reference/glossary/#scene) layouts * Web pages for email [Preference Centers](https://www.airship.com/docs/reference/glossary/#preference_center) * Media — *The media library requires CDN support* Next, select the more menu icon () for an item in the list, and then **Duplicate**. In the configuration window, select a destination project, and then **Duplicate**. The item's name, description, and keywords carry over as is, and you can edit them before saving. If a template references snippets or [External Data Feeds](https://www.airship.com/docs/reference/glossary/#external_feed), the dialog lists them and copies any that don't already exist in the destination project. ## Content management improvements When viewing your content lists, you'll see updated designs and some new features. Select an item to open a detail drawer where you can view and edit metadata and access actions. Sorting, filtering, and search have also been refreshed. ## Documentation For full details, including steps and content-specific considerations, see the documentation for managing each content type: * [Templates](https://www.airship.com/docs/guides/personalization/content/templates/#managing-content-templates) * [Snippets](https://www.airship.com/docs/guides/personalization/content/snippets/#managing-snippets) * [Scene Layouts](https://www.airship.com/docs/guides/messaging/editors/native/custom-layouts/) * [Web Pages](https://www.airship.com/docs/guides/messaging/features/preference-centers/#managing-web-pages) * [Media library](https://www.airship.com/docs/guides/messaging/features/media/#managing-media) # Content API > Manage content templates at scale using the Content API, with external IDs to connect with your content and marketing pipelines. Use the Content API within Airship only, or integrate your template management with other platforms, such as content management systems, internal business systems, and third-party email tools. Author content where your team already works and use the API to create, update, and delete templates in Airship without relying on manual work in the dashboard. Templates you create through the API are available for sending messages from the dashboard or the API. Other key features: * **Validation parity** — The API uses the same validation as the dashboard, ensuring templates saved are ready to use. * **External ID support** — You can assign a unique external ID to a template and use it as a stable reference in send and push payloads. This makes it easier to connect Airship to external systems. The Content API is also useful for multi-project management. For example, you might want to automate copying content between staging and production environments, or manage content for multiple brands. ## Documentation Get the details in [Content templates](https://www.airship.com/docs/guides/personalization/content/templates/) and the [Content API reference](https://www.airship.com/docs/developer/rest-api/ua/operations/content/). # AI-Powered Campaigns > Go from brief to coordinated draft messages faster with the Campaigns AI Agent. Use the agent to give your team a shared view of strategy, get guidance when your brief is still taking shape, and keep cross-channel content aligned to that plan. [AXP](https://www.airship.com/docs/reference/feature-packages/) [Agentic & Generative AI](https://www.airship.com/docs/guides/features/intelligence-ai/ai/) In Airship, a Campaign is a container for organizing and coordinating related messages across channels. Today's release adds an AI agent for creating and refining your Campaigns through a conversational chat interface. With the Campaigns AI Agent, you can: * **Create or refine in natural language** — Start a new Campaign from a prompt or ask for updates to an existing one, such as "Update the audience to loyalty members" or "Add a push notification for the launch date." * **Flesh out plans and generate a summary** — Share your ideas or upload a brief, and the agent will populate an Overview section that serves as the source for message creation. The agent asks targeted follow-up questions, so you can build a complete campaign even when you don't have all the details upfront. * **Align strategy and messages** — Content across your Campaign draws from the same Overview, so audience and goals stay consistent across channels instead of drifting as you add or edit messages. ## Documentation For all the details, see [Create and refine Campaigns using AI](https://www.airship.com/docs/guides/messaging/features/campaigns/#create-and-refine-campaigns-using-ai) in *Campaigns*. See also [AI in Airship](https://www.airship.com/docs/guides/features/intelligence-ai/ai/). # Wallet OAuth 2.0 Support > Use OAuth 2.0 authorization for the Wallet API for improved security and more control over credential permissions. [OAuth 2.0](https://oauth.net/2/) is an authorization framework you can use to provide secure, limited access to the Wallet API. Instead of using a permanent, shared set of Basic Auth credentials, you can request short-lived bearer tokens to use in your API calls. This method provides better security than Basic Auth, since, if the tokens become public, they can only be used for a short time before they expire. Another benefit is control of permissions. Instead of broad access to the API, OAuth tokens are project-level, and you can select one or more scopes that define which endpoints and operations are authorized for access. You can edit their scopes at any time. ## Workflow Getting an OAuth token for the Wallet API is a two-step process. Put simply, first you create client credentials in your Airship project settings, then you use the credentials to request tokens to use in your API calls. Need more details? Here you go: 1. **Create client credentials** in your Airship project settings and specify the scope of permissions to authorize for issued tokens. You can also specify an expiration date and time for the credentials or revoke them later. 1. **Request a token** using the credentials. In your request, you can restrict a token to specific permission scopes and/or IP addresses. For additional security, you can also use an assertion. 1. **Refresh the token** before it expires. Keep refreshing until it is no longer needed, or revoke the credentials in the dashboard if you want to disallow further token requests. An additional important detail about OAuth authorization is that you must use different base URLs than for HTTP Basic Authentication with the Wallet API. ## Documentation Go to [Wallet API Security](https://www.airship.com/docs/guides/wallet/api-security/) to learn about OAuth and client credentials. To see which scopes apply to endpoints, see the [Wallet API Authorization Reference](https://www.airship.com/docs/developer/rest-api/wallet/api-auth-reference/). # Conversational AI Scene Assistant > Bring your design visions to life faster with a conversational AI assistant for Scenes. [Agentic & Generative AI](https://www.airship.com/docs/guides/features/intelligence-ai/ai/) When editing your [Scene](https://www.airship.com/docs/reference/glossary/#scene) content, **AI generation** is now ** AI Scene Assistant**. You still have the same options to enter a prompt and/or upload a file, but now you can iterate using a conversational chat interface that persists during your current editing session. Continue the conversation after each generation to refine your designs with natural language requests, such as "Align the button to the left" or "Change the background color." This release also includes the following improvements and additional capabilities: * **Brand guidelines integration** — Provide feedback to match the styles in your [brand guidelines](https://www.airship.com/docs/guides/messaging/features/brand-guidelines/), such as "Make the button use my 'Primary' button style" or "Change the background to 'Secondary'." * **Expanded design capabilities** — The assistant now handles button actions, borders, corner radius, and improved color matching for more accurate and functional output. * **Image generation** — Generate original images directly based on a prompt or the Scene's purpose. Using the assistant provides significant advantages, directly addressing common challenges in design and development: * **Effortless recreation of complex designs** — AI streamlines the process of bringing intricate designs from static images or wireframes to life, aiding in accuracy and consistency. * **Automated implementation** — AI handles the grunt work of configuring content elements, matching design layouts, styles, and interactive components. * **Accelerated time to value** — By automating the screen generation process, AI drastically speeds up campaign development, enhancing agility and getting your projects to market faster. ## Requirements and documentation Get all the details in [Create AI-generated screens](https://www.airship.com/docs/guides/messaging/editors/native/about/#create-ai-generated-screens) in *Configuring Scene content*. See also [AI in Airship](https://www.airship.com/docs/guides/features/intelligence-ai/ai/). # Scene Accessibility Agent and Navigation Controls > Streamline accessibility improvements and expand your market reach with an intelligent accessibility agent that automatically identifies and fixes issues in your Scenes. Navigation and play controls support keyboards and assistive technology, making the experiences accessible to all users. Ensuring accessible experiences is critical for compliance with evolving global regulations like the European Accessibility Act and for reaching broader markets. Today's release helps you launch more accessible campaigns faster. ## Accessibility agent [Agentic & Generative AI](https://www.airship.com/docs/guides/features/intelligence-ai/ai/) ![The accessibility agent showing an issue](https://www.airship.com/docs/images/whats-new/accessibility-audit_hu_971902f2dae02559.webp) *The accessibility agent showing an issue* The accessibility agent automatically audits your [Scene](https://www.airship.com/docs/reference/glossary/#scene) content and identifies potential accessibility issues, such as insufficient color contrast, missing alternative text, and text size that falls below recommend minimums. Addressing these issues helps ensure your content is usable by the greatest number of audience members, including those with disabilities. While editing screens, when an accessibility issue is found, a red dot appears on the accessibility audit icon () in the left sidebar. Select the icon to view the list of flagged issues. Each issue includes: * A description of the problem * The screen and element where it occurs * Guidance on how to address it * A button labeled with the recommended correction — *AI-powered corrections are labeled "Fix with AI"* Select the button to apply the correction, and then verify each automatically applied fix to ensure it meets your needs and maintains your intended messaging. You are responsible for reviewing all automatically applied fixes before launching your Scene. Automated fixes may not always align with your specific content requirements or brand guidelines. For comprehensive accessibility guidance and best practices, see [Accessibility in messaging](https://www.airship.com/docs/guides/messaging/accessibility-in-messaging/). ## Navigation and play controls Optional controls improve navigation and accessibility in Scenes: * **Navigation control** — This displays left and right arrows for navigating between screens. This also supports navigation using keyboards and assistive technology. * **Play control** — This displays a button to play or pause automatic screen transitions. This also adds support for control using keyboards and assistive technology. Available only when [Story](https://www.airship.com/docs/reference/glossary/#story) mode is enabled. You can configure these options when setting the Scene's root appearance. ## Requirements and documentation For the audit agent, see [Accessibility agent](https://www.airship.com/docs/guides/messaging/editors/native/about/#accessibility-agent) in *Configuring Scene content*. See also [Accessibility in messaging](https://www.airship.com/docs/guides/messaging/accessibility-in-messaging/) and [AI-Powered Customer Experiences: Airship's Commitment to Responsible Innovation](https://www.airship.com/resources/whitepaper/ai-powered-customer-experiences-airships-commitment-to-responsible-innovation/). Navigation and play controls require minimum SDKs iOS 20.1 and Android 20.1.1. See [Set the root appearance](https://www.airship.com/docs/guides/messaging/editors/native/root/) in *Configuring Scene content*. # Wallet Push Notifications in the Dashboard > Send and schedule mobile wallet push notifications directly from the Airship dashboard, no coding required. Previously available only via API, you can now send push notifications from the dashboard, making it easy to communicate with your pass holders. Wallet push notifications alert pass holders and direct them to view message content on the back of their wallet pass. The push notification appears on the device's lock screen, and the full message content appears in the "Last Notification" field on the back of the pass. Use push notifications to deliver important information to your pass holders regarding their flight, event, or wallet pass program. For example, you might want to notify pass holders about weather conditions for an event, even when no changes were made to the time or location of the event. Or you might want to alert coupon pass holders that their coupon is set to expire. ## Send and schedule from templates From any wallet template, send notifications immediately or schedule for a specific date and time. You can cancel scheduled notifications at any time before they send, giving you full control over your messaging schedule. A log lists notifications sent from the dashboard, so you can see the message text, send timing and status, and other details at a glance. ## Documentation See [Send Notifications from the Dashboard](https://www.airship.com/docs/guides/wallet/user-guide/notifications/push-notifications/#send-notifications-from-the-dashboard) in *Wallet Push Notifications*. # Custom Events from Scene and Push Actions > Track user interactions that matter most with Custom Events from Scenes and push notifications. For [Scenes](https://www.airship.com/docs/reference/glossary/#scene), emit an event when a user taps a button, image, or screen. For [Push Notifications](https://www.airship.com/docs/reference/glossary/#push_notification), emit an event when a user taps the message or a button within the message. You can add a new event when configuring the action or select an existing event. This enhancement makes it easier than ever to track user behavior, measure the true impact of your Scenes, and create connected, multi-step experiences for your users. Here are the key improvements you'll find: * **Clearer UI** — The user interface now clearly states that you can emit a Custom event directly from a button tap. * **Connected experiences** — You can easily connect user actions by triggering follow-up experiences. For example, a "Show Me How" button in a help Scene can emit a `start_product_tour` event, which can then launch a separate experience. * **Better conversion tracking** — You can measure the direct impact of your Scenes. For instance, a "Buy Now" button in a promotional Scene can emit a `promo_scene_clicked` event. You can use this to build a specific funnel report to track how many users who clicked that button actually completed the purchase, giving you clear conversion ROI. * **Screen-level interaction reporting** — We added an Interactions table to the [Scene Detail](https://www.airship.com/docs/guides/messaging/in-app-experiences/scenes/create/scene-reports/#scene-detail) section of a Scene report that lists click/tap counts for each screen. ## Configuration ![Emit a custom event when a user interaction occurs](https://www.airship.com/docs/images/whats-new/emit-custom-event_hu_32b4b0317a544789.webp) *Emit a custom event when a user interaction occurs* When configuring content in the Dashboard, after selecting an action: 1. Select **Configure options**. 1. Under **Options**, select **Emit custom event** and search for an event. If no result is found, select **Use \**. 1. (Optional) Set an event value and/or specify property values to filter by in segments and triggers: 1. Select **Add event properties**, then: * For a value, select **Add event value** and enter a numeric value for the event. * For properties, select **Add property**, then **Search for properties**, and then search for a string, number, or boolean event property and enter or select a value. 1. Select **Save**. To use properties, you must define the event and its properties in your project in advance. To emit Custom Events from the API, use the [add_custom_event](https://www.airship.com/docs/developer/rest-api/ua/schemas/push/#actionsobject) notification action. ## Requirements and documentation For Scenes, see [Emit a Custom Event](https://www.airship.com/docs/guides/messaging/in-app-experiences/configuration/button-actions/#emit-a-custom-event) in *Actions* for Scenes. For push notifications, minimum SDKs iOS 20 and Android 20 are required. See [Creating content](https://www.airship.com/docs/guides/messaging/messages/content/app/push-notifications/#creating-content) in *Push Notification Content* and [Buttons (App)](https://www.airship.com/docs/guides/messaging/messages/buttons/) in *Optional Features*. # Audience Pulse with AI-Powered Recommendations > Behavioral Targeting is now Audience Pulse, with AI-powered recommendations to help you turn tier analysis into targeted campaigns. [Audience Pulse](https://www.airship.com/docs/guides/audience/segmentation/audience-pulse/) analyzes user activity using the [Recency, Frequency, Monetary model](https://w.wiki/Cq57), organizing users into tiers based on their engagement patterns. You can create Segments from selected tiers and transitions to target specific users. With today's release, Audience Pulse includes AI-powered recommendations that identify trends and suggest ready-to-implement tactics for messages, experiences, Journeys, and experiments. The new name more accurately describes what the feature does: help you understand your audience's engagement across all channels within the Airship Service so you can create more targeted campaigns, and reflects Airship's privacy-by-design approach. To access your recommendations in Audience Pulse, select ** AI Insights**. A drawer will expand and display summary cards for five recommendations. Each recommendation explains why the trend matters and provides implementation guidance. Get new insights as your audience evolves. ![Audience Pulse with AI recommendations](https://www.airship.com/docs/images/whats-new/audience-pulse-ai_hu_96022f4021ee7d77.webp) *Audience Pulse with AI recommendations* ## Requirements and documentation AI recommendations are included with AXP Enterprise plans. See [Feature packages reference](https://www.airship.com/docs/reference/feature-packages/) for plan information. Learn more in [AI recommendations](https://www.airship.com/docs/guides/audience/segmentation/audience-pulse/#ai-recommendations) in *Audience Pulse*. See also [AI in Airship](https://www.airship.com/docs/guides/features/intelligence-ai/ai/). # Calendar and Campaigns > Tame the complexity of your projects by grouping related messages into Campaigns and viewing your schedule and history in a calendar. Today's release gives you features that help keep your messaging projects organized. ## Calendar ![Viewing a message's details in the calendar](https://www.airship.com/docs/images/whats-new/calendar-message_hu_71eb4ddba9c76b75.webp) *Viewing a message's details in the calendar* 🗓️ "A schedule defends from chaos and whim." — Annie Dillard, *The Writing Life* The project calendar provides a visual view of your complete messaging schedule. Switch between month, week, and day views to see when messages will send, spot scheduling gaps, avoid overlap, and optimize timing. Filters quickly identify message type and status, so you can focus on what matters most to you. You can select any message to view its details, open it for editing, or access its report. ## Campaigns 📣✨ Use our Campaigns for your campaigns! Campaigns present your selected messages in list and calendar views, giving you: * **Focused hubs** — Keep all messaging for a product launch, seasonal promotion, or event in one place. * **Cross-channel visibility** — Get a complete picture of your coordinated marketing effort. * **Scheduling and monitoring tools** — The calendar shows only the messages added to the Campaign. You can sort and filter in both the list and calendar views to track status. You can add and remove messages and access reports without leaving the Campaign. ## Documentation Ready to get organized? Get all the details: * [Calendar](https://www.airship.com/docs/guides/getting-started/ui/manage-views/#calendar) in *Messages Overview and Calendar* * [Campaigns](https://www.airship.com/docs/guides/messaging/features/campaigns/) # RCS Branded Sender > Upgrade the SMS user experience with an RCS branded sender. Instead of sending from an unfamiliar phone number, your messages display with your company name, custom color, logo, and Verified badge for enhanced recognition and engagement. Rich Communication Services (RCS) is an advanced messaging protocol that enables interactive, media-rich communications. By pairing an RCS branded sender with an SMS sender, messages automatically route to SMS/MMS where RCS is not available. Plus, reporting shows exactly which messages sent as RCS and provides read receipt data you can't get with SMS. ## Key benefits RCS branded sender solves recipient recognition challenges by presenting your messages in a meaningful way. ![RCS branded messaging provides immediate sender recognition compared to SMS](https://www.airship.com/docs/images/whats-new/rcs-branded-sender_hu_9a5a5d880eb1d0cb.webp) *RCS branded messaging provides immediate sender recognition compared to SMS* With an RCS branded sender, you get the following: * **Enhanced trust** — Recipients immediately recognize your business as legitimate, leading to higher open and response rates. * **Read receipts** — Track when recipients have seen your messages for better performance insights. * **A seamless user experience** — RCS works within the same messaging apps people already use on their phones — no downloads, new accounts, or app switching required. * **More effective communication** — Using an RCS branded sender is particularly useful for appointment reminders, delivery notifications, account alerts, and customer service messages. ## How RCS works with Airship Airship pairs your RCS branded sender with an SMS sender to provide fallback support. * **Automatic routing** — When you send a message, Airship determines if the recipient can receive RCS. * **RCS delivery** — If RCS is available, your message displays with full branding. * **SMS fallback** — If RCS isn't available, the message sends as SMS/MMS instead. * **No workflow changes** — You create and send messages exactly as you do now. ## Availability and support For this initial release, RCS is available to US data center-hosted customers. RCS capability varies per carrier. **Device support:** * iOS 18.1 and later * Android devices with RCS-capable messaging clients ## Documentation See [RCS branded sender](https://www.airship.com/docs/developer/api-integrations/sms/rcs/) in our SMS platform documentation to learn more. If you manage your own Twilio Subaccount, you can configure an RCS branded sender to use with Airship. See [Bringing your own RCS branded sender](https://www.airship.com/docs/guides/getting-started/twilio-sendgrid/#bringing-your-own-rcs-branded-sender) in *Twilio and SendGrid activation*. # Scene Accessibility Enhancements > Create more inclusive experiences with enhanced accessibility features that make your Scenes work seamlessly with assistive technologies. Additional accessibility features in [Scenes](https://www.airship.com/docs/reference/glossary/#scene) improve navigation when using assistive technology such as screen readers. ## Heading levels ![Set a heading level for Text elements in Scenes](https://www.airship.com/docs/images/whats-new/accessibility-heading-level_hu_d730c24197c723fd.webp) *Set a heading level for Text elements in Scenes* For Text elements, we replaced the "Mark as heading" option with the ability to select from H1 to H6 to indicate the heading level. See the **Accessibility heading level** setting for the following: * [Text styles](https://www.airship.com/docs/guides/messaging/features/brand-guidelines/#text-button-and-input-styles) in *Setting brand guidelines* * [Properties](https://www.airship.com/docs/guides/messaging/editors/native/design-properties/#text-properties) for the [Text element](https://www.airship.com/docs/guides/messaging/editors/native/elements/#text) in *Configuring Scene content*. ## Associating labels with input fields ![Associate a label for input fields in Scenes](https://www.airship.com/docs/images/whats-new/scene-content-text-input_hu_4e1c47bdf1d8bad3.webp) *Associate a label for input fields in Scenes* When using a Text element as the label for an Email, SMS, or Text Input field, you can now set it as the field's accessibility description. A screen reader will read out the label when the user is focused on the input field, making it easier for an assistive technology user to understand what data should be entered. See the **Accessibility description** setting for the [Email](https://www.airship.com/docs/guides/messaging/editors/native/elements/#email), [SMS](https://www.airship.com/docs/guides/messaging/editors/native/elements/#sms), and [Text Input](https://www.airship.com/docs/guides/messaging/editors/native/elements/#text-input) elements in *Content elements* ## Requirements Scenes are an [AXP](https://www.airship.com/docs/reference/feature-packages/) feature. Associating labels requires minimum SDKs iOS 19.8 and Android 19.10. To upgrade your SDK versions, follow our guides: * [Android SDK migration guides](https://github.com/urbanairship/android-library/tree/main/documentation/migration#airship-android-sdk-migration-guides) * [iOS SDK migration guides](https://github.com/urbanairship/ios-library/tree/main/Documentation/Migration#airship-ios-sdk-migration-guides) # Web URL Trigger for Scenes > Use the Web URL trigger to create context-aware web experiences without code. URL-based targeting enables precise control over when and where your Scenes appear on your website. The Web URL trigger initiates a Web [Scene](https://www.airship.com/docs/reference/glossary/#scene) when your audience visits a web page that matches URL-based conditions. The Web SDK evaluates URLs when browser pages load. You can create conditions based on a full URL, domain, path, hash, or query parameter, and you can do it all from the Airship dashboard, no code or development resources required. By combining Airship's real-time messaging capabilities with sophisticated URL pattern matching, you can now orchestrate seamless user journeys that adapt to individual behaviors and campaign contexts automatically. This means: * **Accelerated time-to-market** — Deploy personalized web experiences instantly, without engineering dependencies. * **Enhanced conversion rates** — Deliver the right message at the exact moment users need it most. * **Streamlined campaign execution** — Connect email, ad, and social campaigns directly to personalized landing experiences. * **Reduced operational friction** — Empower non-technical teams to create and optimize web messaging independently. Your product, marketing, and customer experience teams can use the Web URL trigger for scenarios like these: * **Homepage welcome** — Greet new users when they land for the first time. * **Product promotions** — Display contextual offers only on category or product pages. * **Checkout guidance** — Provide assistance on cart and checkout flows. * **Campaign personalization** — Detect UTM parameters from email or ads and show aligned content. ## Requirements and documentation Scenes are an [AXP](https://www.airship.com/docs/reference/feature-packages/) feature. To learn how to configure the trigger and get all the details, go to [Web URL](https://www.airship.com/docs/guides/messaging/in-app-experiences/configuration/triggers/#web-url) in *In-App Experience Triggers*. # Semantic Tags for Apple Boarding Passes > Airship provides Day 1 support for Apple's refreshed boarding passes with semantic tags. This addition for iOS 26 enables surfacing travel insights, such as Live Activities, in‑pass UI enhancements like airport maps and baggage tracking, and deeper Wallet interactions. The data provided in semantic tags augment standard boarding pass fields without requiring changes to your existing template structure. Passes with semantic tags automatically deliver the appropriate experience based on the user's iOS version. Using the tags in boarding passes can transform your travelers' experiences by enabling: - **Live Activities** give real-time flight updates and can be shared so friends and family can follow along. - **Enhanced pass UI** with airport maps, baggage tracking, and contextual information - **Intelligent notifications** powered by structured flight and passenger data - **Seamless compatibility**, where passes automatically provide the enhanced experience on iOS 26 while maintaining full backward compatibility with earlier iOS versions ![Semantic tags for Apple boarding passes enable enhanced user experiences.](https://www.airship.com/docs/images/whats-new/apple-semantic-tags-boarding-passes_hu_d12145bc556fc21b.webp) *Semantic tags for Apple boarding passes enable enhanced user experiences.* ## Semantic tag auto-mapping Airship can automatically map standard boarding pass fields to semantic tags, so you can take advantage of Apple’s refreshed boarding pass experience immediately, without modifying your Wallet API integration. You can keep auto-mapping enabled indefinitely. However, when you're ready to unlock the full range of Apple's capabilities, extend your Wallet API calls with additional semantic tag data. ## Documentation Get the details and implementation information in [Semantic tags for Apple Wallet boarding passes](https://www.airship.com/docs/guides/wallet/user-guide/boarding-pass-semantics/). # More Powerful A/B Testing for Messages > Maximize message campaign performance with expanded A/B testing capabilities. Experiment with delivery settings and content variants for deeper insights into what drives engagement. This release brings a brand new A/B testing experience for messages, offering more flexibility and control. You now create A/B tests by grouping multiple message variants within a single experiment, opening the door for more advanced testing capabilities. With this new structure, you can experiment with more than just message content, including: - **Delivery timing** — Experiment with different send times to see when your audience engages most. - **Channel optimization** — Compare performance across email, web, SMS, and other channels within the same experiment. ## Creating a test Select the **Create** dropdown menu ( ), then **A/B Test**. Then, set up the test in two steps: 1. **Create two or more message variants** — Create each variant independently, selecting channels, configuring content for each channel, and setting up delivery. 1. **Allocate an audience** — You can designate all users as eligible for the test or target specific users. Of that group, set the percentage that will be able to receive a variant. Audience members are randomly selected. Setting a percentage helps limit the audience so you can effectively manage feedback and interpret results. By default, the overall audience percentage is divided evenly between variants, but you can set your own values. Once you've created your message variants and set the audience for your test, select **Start A/B test**. From there, select **Results** to view its performance. Still need the [legacy A/B Test](https://www.airship.com/docs/guides/experimentation/a-b-tests/messages-legacy/) composer? Go to **Create**, select **View all** next to **Build from scratch**, then select **A/B Test — Legacy**. ## Documentation Get all the details in [Message A/B tests](https://www.airship.com/docs/guides/experimentation/a-b-tests/messages/), and check out all our [A/B testing docs](https://www.airship.com/docs/guides/experimentation/a-b-tests/). # AI-Generated Scenes > Accelerate your Scene creation workflow using generative AI to automatically transform your descriptions and designs into screens. You can generate a [Scene's](https://www.airship.com/docs/reference/glossary/#scene) screens using a prompt, a mockup or wireframe, or both. Mockups or wireframes can be uploaded in PNG, JPG, JPEG, GIF, or SVG format. The generated content attempts to recreate an uploaded file's content. If the text and buttons in the files match the styles in your [brand guidelines](https://www.airship.com/docs/guides/messaging/features/brand-guidelines/), those styles will be applied. Otherwise, we'll try to match the hexadecimal color values from your file. Each submission generates new content, which replaces all existing elements in the current screen. ## AI advantages Using AI to generate screens provides significant advantages, directly addressing common challenges in design and development: * **Effortless recreation of complex designs** — AI streamlines the process of bringing intricate designs from static images or wireframes to life, aiding in accuracy and consistency. * **Automated scene implementation** — AI handles the grunt work of building scene elements, matching design layouts, styles, and interactive components. * **Accelerated time to value** — By automating the screen generation process, AI drastically speeds up campaign development, enhancing agility and getting your projects to market faster. ## How to generate screens Create AI-generated content in the Content step of a Scene. ![Generating screen content using AI](https://www.airship.com/docs/images/whats-new/ai-generated-screens_hu_110b106c21ac6c5d.webp) *Generating screen content using AI* When editing a screen: 1. Select **AI generation**. 1. Enter text describing your desired screen and/or select the plus icon ( ) and choose a file. 1. Select the arrow icon ( ) to submit and generate the screen content. To generate a new version, repeat the process with a different prompt or file. When the content meets your needs, you can refine the screens and add images by configuring the content elements. ## Requirements and documentation Scenes are an [AXP](https://www.airship.com/docs/reference/feature-packages/) feature. Get all the details in [Create AI-generated screens](https://www.airship.com/docs/guides/messaging/editors/native/about/#create-ai-generated-screens) in *Configuring Scene content*. See also [AI in Airship](https://www.airship.com/docs/guides/features/intelligence-ai/ai/). # Zero-Copy Data Integration > Zero-copy data integration with Airship allows direct use of data from external systems, which means data remains in its original location instead of being copied or imported into Airship. You can access your data in real time for segmentation and personalization using Attributes. This approach offers several benefits. It uses existing data infrastructure and tools, which makes it efficient. It also provides flexibility and control since data stays in its native environment. The data is always as fresh as your data warehouse, with no waiting for imports and no synchronizations job that can fail. Your externally sourced [Attributes](https://www.airship.com/docs/reference/glossary/#attributes) behave the same as other Airship Attributes. You can use them to build [Segments](https://www.airship.com/docs/reference/glossary/#segment) and personalize content using [Handlebars](https://www.airship.com/docs/reference/glossary/#handlebars). ## Supported data source and types Our initial release of zero-copy data integration is supported for [Snowflake](https://snowflake.com/), a fully managed cloud-based data warehouse and analytics service for storing and analyzing data. The integration supports the same data type as Attributes from other sources: * **Text** — String values for personalization and segmentation * **Number** — Integer, float, or string values for calculations and comparisons * **Date** — Date and timestamp values for time-based targeting * **JSON** — Complex structured data for advanced personalization For more information, see [Attribute types](https://www.airship.com/docs/guides/audience/attributes/about/#attribute-types) in *About Attributes*. ## Configuration and documentation Setup requires configuration by Airship. To get started, contact your Airship account manager or [Support](https://support.airship.com/) to request the integration. Airship will help you with these steps: * Setting up the integration for your Airship project * Identifying the tables and views you want to be able to access in Airship — For example, tables containing customer profile data like demographics, preferences, or subscription status * Mapping your Snowflake data to [Channel IDs](https://www.airship.com/docs/reference/glossary/#channel_id) and [Attributes](https://www.airship.com/docs/reference/glossary/#attributes) For more information about benefits, use cases, and details about setup and use, see [Zero-copy data integration](https://www.airship.com/docs/guides/features/data-integration/zero-copy-data-integration/). # SMS Collection and Registration in Scenes > Add an SMS opt-in form to your app or website using Scenes. Collecting phone numbers or registering SMS channels is available out of the box. Now you can add a phone number field to [Scenes](https://www.airship.com/docs/reference/glossary/#scene) for collection or to register channels. We also added a way to validate user input in a screen. ## SMS When creating a Scene, add the **SMS** content element to provide a field for registering a submitted phone number as a channel or only collecting it as data. Collected phone numbers are available in [Performance Analytics](https://www.airship.com/docs/reference/glossary/#pa). Registering a phone number as a channel automatically triggers the [Double Opt-In](https://www.airship.com/docs/reference/glossary/#double_opt_in) process, and the phone number is associated with the [Contact](https://www.airship.com/docs/reference/glossary/#contact) viewing the Scene. You must also configure a button or image with the Submit Responses action and provide a label used for reporting. Options: * Placeholder text that appears in the field before a user selects the field * A content description to be announced by assistive technology, such as screen readers * Make entering content in the field a requirement for making the Submit Responses button or image active ## Validation Use the new **Validate Form** action to check the current screen for the presence of content in required fields, validate the format of entered phone numbers and email addresses, and either open another screen or close the Scene. Use this action to validate the input on each screen in a multi-screen form, and provide a Submit Responses button or image on the last screen. You can set validation to occur when a user selects a button, text, or a screen. An error state is indicated for some fields. When the screen is valid, the selected behavior occurs: Next screen, Previous screen, Dismiss, or Dismiss and cancel Repeat. ## Requirements and documentation Scenes are an [AXP](https://www.airship.com/docs/reference/feature-packages/) feature. The SMS content element and Validate Form action require minimum SDKs iOS 19.6 and Android 19.9. Get all the details here: * [SMS](https://www.airship.com/docs/guides/messaging/editors/native/elements/#sms) in *Content elements* * [Validate Form](https://www.airship.com/docs/guides/messaging/in-app-experiences/configuration/button-actions/#validate-form) in *Actions* for in-app experiences To upgrade your SDK versions, follow our guides: * [Android SDK migration guides](https://github.com/urbanairship/android-library/tree/main/documentation/migration#airship-android-sdk-migration-guides) * [iOS SDK migration guides](https://github.com/urbanairship/ios-library/tree/main/Documentation/Migration#airship-ios-sdk-migration-guides) # Enhanced Personalization Proofing and Testing > Instantly preview personalized content with real user data, helping you refine campaigns directly. You'll see what your audience experiences without any extra steps. Airship's personalization previewing tool renders your personalized content within a device preview using a specified user's [Attributes](https://www.airship.com/docs/reference/glossary/#attributes), accurately visualizing how messages will appear to individual users based on their unique data. The updates in this release collectively streamline your content proofing process, reduce friction, and support faster QA cycles for personalized campaigns. ## Contact selection In addition to existing methods of previewing using data from a [Preview Group](https://www.airship.com/docs/reference/glossary/#preview_test_groups) user or manually adding JSON data, the tool now offers the following direct user selection options: * **Random Contact:** Generate a list of up to 10 real audience channels instantly. You can select a contact from this initial list or refresh to generate a new set. * **Specific Contact:** Search for any user in your project by their [Named User](https://www.airship.com/docs/reference/glossary/#named_user), [Channel ID](https://www.airship.com/docs/reference/glossary/#channel_id), email address, or [MSISDN](https://www.airship.com/docs/reference/glossary/#msisdn). After selection, you can also modify or override their Attributes for deeper personalization testing scenarios. ## Enhanced user interface We moved the personalization previewing tool from a floating panel to a collapsible drawer. This change provides increased screen real estate for content configuration and improved usability. ## How to preview personalization Where message, [Template](https://www.airship.com/docs/reference/glossary/#template), and [Snippet](https://www.airship.com/docs/reference/glossary/#snippet) previews appear, select **View** for **Preview Data** to open the configuration drawer. Then, select and configure a data source: Preview Group, Random Contact, or Specific Contact. Select **JSON** to view and edit the Attributes. ![Previewing personalized content in a message](https://www.airship.com/docs/images/whats-new/personalization-example_hu_26c52160d455c1b3.webp) *Previewing personalized content in a message* You can instantly see how your message renders for the selected channel and test your personalization using various channels and data sets. In the Review step of a composer, select **Send Test** to verify the message appearance on an actual device. You can personalize the message using the data currently selected in the Preview Data tool to send a consistent message to all test recipients. The Send Test option is not supported for Scenes and In-App Automation. ## Documentation Get all the details in [Previewing personalized content](https://www.airship.com/docs/guides/personalization/previewing/). For sending a test to users, see the Review step for the following: * [Create a Message](https://www.airship.com/docs/guides/messaging/messages/create/#message-review) * [Create an Automation](https://www.airship.com/docs/guides/messaging/messages/sequences/create-automation/#message-review) * [Create a message A/B test](https://www.airship.com/docs/guides/experimentation/a-b-tests/messages/#create-a-message-ab-test) * [Test a Sequence](https://www.airship.com/docs/guides/messaging/messages/sequences/create/test/#test-a-message-in-a-sequence) # Enhanced Dashboard Navigation > Airship's dashboard usability updates and new features help you move faster and operate more efficiently. This release introduces a modern, intuitive layout, streamlined sidebar navigation, reorganized settings, smart shortcuts, quick-access tools, and a redesigned Create experience. These updates are for all Airship messaging projects. ## Navigation changes We retired the navigation header, relocated its menus, and added search capability. ![The messaging project menu](https://www.airship.com/docs/images/whats-new/messaging-project-menu_hu_6cd94e0889fd1124.webp) *The messaging project menu* Key updates: * **Collapsible sidebar** – This is where we moved the Messages, Content, Audiences, Experiments, and Reports menus, plus the Journey map. Expand or collapse the sidebar as needed for more screen space. * **Settings in the project menu** – This is where we moved Settings and project details. We also moved Brand Guidelines from your project settings to this menu. To access these options, select the dropdown menu ( ) next to your project name. After selecting **Settings** from the project menu, you'll find new section groupings: **Channels**, **App settings**, and **Project settings**. We also rebuilt several Settings pages for consistency and clarity. * **Search bar** – Quickly find composers, settings, and other individual dashboard pages by name. ## A redesigned message creation experience ![Sidebar options in a messaging project](https://www.airship.com/docs/images/whats-new/messaging-project-sidebar_hu_9242816f92b73334.webp) *Sidebar options in a messaging project* Launching messages and campaigns is faster than ever with the new creation flow: * **Quick create** — Select the **Create** dropdown menu ( ) to choose **Message**, **Journey**, **Apple News**, **Scene**, or **A/B Test**. * **Global create** — Select **Create** to access all message creation options: * Recommended and the most commonly used composers are listed first. Under **Build from scratch**, select **View all** for more. * AI-generated [Journeys](https://www.airship.com/docs/reference/glossary/#journey) for various messaging scenarios * [Composer Favorites](https://www.airship.com/docs/reference/glossary/#composer_favorites). When the sidebar is collapsed, select the compose icon ( ) in the header to access the Create dropdown menu options. ## Usability enhancements We've added thoughtful touches to help you get where you need to go: * **Messages Overview shortcut** — Select **Home** in the sidebar to go directly to [Messages Overview](https://www.airship.com/docs/reference/glossary/#messages_overview). * **Favorites** — You can bookmark dashboard pages for quick access. On a page you want to bookmark, select the star icon ( ) in the header, enter a page name, and then select **Save**. Your saved pages are available in the **Favorites** sidebar menu. To change a page name or remove it from Favorites, select the star icon ( ) again. ## Early access to future enhancements The features and updates in this release came from our new **Airship Pilot** program. Thank you to everyone who participated and provided feedback! This first set of improvements now generally available were developed while the program was restricted to a limited user group. However, all Airship users can now get early access access to enhancements and help shape the product direction. See [Early access to product enhancements](https://www.airship.com/docs/guides/features/pilot/) in *The Airship Dashboard*. ## Finding moved features Use this table to find the new locations for various features: | Feature | Previous location | How to find it now | | --- | --- | --- | | Project Details | Settings sidebar | Select the dropdown menu ( ) next to your project name, then select **Project Details**. | | Brand Guidelines | Settings | Select the dropdown menu ( ) next to your project name, then select **Brand Guidelines**. | | Automation and [In-App Automation](https://www.airship.com/docs/reference/glossary/#iaa) composers | The global create menu | First, select **Create**. Then, under **Build from scratch**, select **View all**, and then select **Automation** or **In-App Automation**. | | [Templates](https://www.airship.com/docs/reference/glossary/#template) | The global create menu and the Audience menu | Templates are now only available from the Content menu: Select **Content**, then **Templates**. | | [Sequence](https://www.airship.com/docs/reference/glossary/#sequence) composer and templates | The global create menu and the [Journey Map](https://www.airship.com/docs/reference/glossary/#journey_map) | In the sidebar, select the **Create** dropdown menu ( ), then select **Journey**. In the modal window, select **Sequence**, then select **Start from scratch** or a template. You can access the same menu by selecting the add icon ( ) in the Journey map, or by selecting **Create**, then **Journey**. | | [Composer Favorites](https://www.airship.com/docs/reference/glossary/#composer_favorites) for creating new messages | The global create menu and your list of all Composer Favorites | Select **Create** see the list under **Composer Favorites** or select **View all** for the full list. You can also still create messages from your list of all Composer Favorites. See next row. | | [Composer Favorites](https://www.airship.com/docs/reference/glossary/#composer_favorites) for editing | A link in [Messages Overview](https://www.airship.com/docs/reference/glossary/#messages_overview) | Select the dropdown menu ( ) next to your project name, then select **Settings**, then **Project settings**, then **Composer Favorites**. | | Tag Groups | Settings and the Audience menu | Tag Groups are now only available from the Audience menu: Select **Audience**, then **Tags**. | | Error console | Bottom of dashboard pages | Select the dropdown menu ( ) next to your project name, then select **Settings**, then **Project settings**, then **Error Console**. | ## Documentation We updated our documentation for the new navigation steps. For general orientation information, see [The Airship dashboard](https://www.airship.com/docs/guides/getting-started/ui/dashboard/). The [Wallet dashboard](https://www.airship.com/docs/guides/wallet/user-guide/ui/dashboard/) remains unchanged. # Branching for Scenes > Use branching to create personalized, dynamic Scenes that are tailored to user behavior. Whether you're guiding a user through onboarding, feature education, or a promotional flow, you can create flexible, real-time experiences from a single [Scene](https://www.airship.com/docs/reference/glossary/#scene) configuration. A user's interactions and responses on the current screen determine which screen appears next. ## About branching Branching is essentially a decision tree, and its logic uses conditional *if/then/else* statements. You define rules where *if* a user performs one or more actions, *then* which screen to go to based on the action, and an *else* alternative if none of those actions were taken. You can add multiple *if* conditions for each rule and multiple rules per statement. Implementing branching in your Scenes offers several benefits: * **More interactive experiences** — Create adaptive flows that change based on user interactions to make your in-app content more customized and engaging. * **Reduced drop-offs** — Present specific content to streamline the user experience and decrease abandonment rates. * **Improved data collection** — Ask follow-up questions in surveys for more accurate, in-depth data and increased submission rates. * **Better ROI on campaigns** — Drive more targeted interactions for more effective campaigns. ## Configuring branching While configuring Scene content, select the branching icon in the left sidebar, and your screens will appear in a map view. From there, set branching logic to create paths between screens. Each screen is represented as a card, and each card displays the screen name and icons for the components that can be used for setting branching logic: * Selected NPS survey score * Answer to single or multiple choice question * When a button or image configured with an action is clicked/tapped In addition to setting logic rules to create paths, you can and also add, duplicate, and remove screens from the map. As you design, you can test the logic using the Interactive mode preview tool. To see a summary of a path with the option to remove it, select the connecting line between screens: ![Viewing branching logic between screens in a Scene](https://www.airship.com/docs/images/whats-new/branching-logic-map_hu_fd80a4251134f1df.webp) *Viewing branching logic between screens in a Scene* ## Additional updates for Scenes ![Customize screen names in your Scenes](https://www.airship.com/docs/images/whats-new/scene-screen-rename_hu_54cc0a6ea353e534.webp) *Customize screen names in your Scenes* We also made some updates for design flexibility, organization, and understanding Scene performance: * **More screens** — Each Scene now supports up to 20 screens. * **Custom screen names** —  When editing screens, select the three dots icon ( ) for a screen in the list, then **Rename**, and then enter a custom name. This updates the name as is appears in the list of screens and the branching map. * **User path reporting** — Message reports for Scenes now include a flow chart that displays a visual representation of the user progression between screens and metrics associated with each screen and branch. ## Requirements and documentation Scenes are an [AXP](https://www.airship.com/docs/reference/feature-packages/) feature. Branching requires SDKs iOS 19.6+ and Android 19.9+. Go to the [Scene branching](https://www.airship.com/docs/guides/features/messaging/scenes/branching/) docs for all the details. To upgrade your SDK versions, follow our guides: * [Android SDK migration guides](https://github.com/urbanairship/android-library/tree/main/documentation/migration#airship-android-sdk-migration-guides) * [iOS SDK migration guides](https://github.com/urbanairship/ios-library/tree/main/Documentation/Migration#airship-ios-sdk-migration-guides) # Feature Flag Reference Images > Reference images in Airship Feature Flags help you identify what a flag controls. A picture is worth a thousand words! Provide images for your [Feature Flags](https://www.airship.com/docs/reference/glossary/#feature_flag), such as screenshots or design mockups, that you can use as reference. An image can give you immediate visual context, reduce ambiguity, and save time during flag management. ![Selecting the photo icon to view a Feature Flag's reference image](https://www.airship.com/docs/images/whats-new/feature-flags-photo-icon_hu_af5bb65212410526.webp) *Selecting the photo icon to view a Feature Flag's reference image* * **Adding a reference image:** You can upload an image when creating or editing a flag. * **Viewing a reference image:** You can view the image from the list of all flags in a project and when viewing all Configurations for a flag. In the list of all flags, select the photo icon for a flag to view a larger version in a modal window. When viewing a flag's Configurations, hover over the thumbnail for a preview or select it to view a larger version in a modal window. ## Requirements All Airship customers have one complimentary Feature Flag per project. For more flags, get the Feature Flags add-on for your plan. For AXP Essentials and Essentials Starter plans, see [Changing your Airship plan](https://www.airship.com/docs/guides/getting-started/admin/company-plan/#changing-your-airship-plan). If you have an enterprise plan, [contact Airship Sales](https://www.airship.com/contact-us/). See also [What plan do I have?](https://www.airship.com/docs/reference/feature-packages/#what-plan-do-i-have) in our *Feature packages reference*. ## Documentation For all the details, see [Create Feature Flags](https://www.airship.com/docs/guides/experimentation/feature-flags/#create-feature-flags) in the *Feature Flags* guide. # Generative AI Content by Google Gemini > Generative AI content is now powered by Google Gemini and included in Airship AXP Enterprise plans. Using AI to generate content no longer requires a third-party account. If you are on an [AXP](https://www.airship.com/docs/reference/feature-packages/) Enterprise plan, you can start using it now! ![Generating AI content](https://www.airship.com/docs/images/whats-new/ai-content_hu_992bb3ab96cf6ed3.webp) *Generating AI content* In most text fields in templates and when composing messages, select the "AI" icon to start generating text. Enter your own seed text and set: * Tone * Length * Sentiment * Language You can also include your brand name and emoji :sunglasses:. The original and generated content appear side by side, and you can transfer the generated text to use as new seed text. For more information, see [Generative AI content](https://www.airship.com/docs/guides/features/intelligence-ai/ai-content/). See also [AI in Airship](https://www.airship.com/docs/guides/features/intelligence-ai/ai/). # Brand Guidelines > Set brand guidelines for your project to ensure consistent identity while accelerating content creation. We heard you want to maintain consistency across channels without redundant review cycles *AND* reduce dependency on internal brand and design teams. Based on these crazy rumors (our Product team may instead refer to it as "research"), now you can add brand information to your Airship projects! * **Profile** and **personalities** — Your profile defines your brand's mission, vision, positioning, and values. Each personality should be for a distinct tone, such as enthusiastic, rugged, sincere, or excited. When creating AI-generated [Journeys](https://www.airship.com/docs/reference/glossary/#journey), your brand profile and a selected personality are used by Generative AI to create message content. * **Design elements** — Set colors and font stacks for your [In-App Automations](https://www.airship.com/docs/reference/glossary/#iaa) and [Scenes](https://www.airship.com/docs/reference/glossary/#scene). For Scenes, you can also set up text, button, and input field styles. You can then select these design elements when setting the default appearance of In-App Automations and Scenes and also when creating individual messages. These settings were already available but are now consolidated with all your brand-related settings. 🎉 ## Generative AI You can set your guidelines manually or employ Generative AI to do it for you: * For your profile and design elements, upload PDFs containing the language, colors, fonts, etc., that represent your brand and select which guidelines to apply them to. You can upload multiple sources for different guidelines or to overwrite previous values. * For your personalities, directly enter writing samples or upload PDFs of samples. You can add multiple writing samples for each personality. ## Documentation Get all the details in [Setting brand guidelines](https://www.airship.com/docs/guides/messaging/features/brand-guidelines/). See also [AI in Airship](https://www.airship.com/docs/guides/features/intelligence-ai/ai/). # Content Stacking in Scenes > Enhance your Scene designs with content stacking and border options. Plus, updates to project settings help avoid configuration errors. Today's release for [Scenes](https://www.airship.com/docs/reference/glossary/#scene) provides greater creative control and an improved workflow for project settings. ## Stacked content In addition to horizontal and vertical arrangement for content elements, now you can stack them. Stacking arranges content elements on top of each other, front to back. The first added element is at the bottom (furthest back), and the last is on top (front). When configuring the design properties for the Container element, select **Stacked** for the Direction setting. To rearrange the order in a stacked Container, select and hold the drag handle icon ( ) for an element, then drag and drop to a new position. See the [Container](https://www.airship.com/docs/guides/messaging/editors/native/elements/#container) content element in *Content elements*. ## View style border settings and focused configuration We moved the configuration of the default settings for fullscreen and modal view styles to a dedicated modal window. This change automatically presents the currently selected view style in the preview and helps minimize the risk of modifying the wrong one in error. From your list of view styles in Settings: * Select the eye icon ( ) to preview the view style. * Select the compose icon ( ) to access its settings and preview. When configuring the defaults for your modal view styles, you'll see new settings for border color and size. See [Set fullscreen and modal view styles](https://www.airship.com/docs/guides/messaging/in-app-experiences/configuration/defaults/#set-fullscreen-and-modal-view-styles) in *In-App Experience Defaults*. ## Requirements and documentation Scenes are an [AXP](https://www.airship.com/docs/reference/feature-packages/) feature. Not using Scenes yet? Check out [About Scenes](https://www.airship.com/docs/guides/features/messaging/scenes/scenes/) # Performance Analytics Labs Dashboard > The Labs dashboard provides early access to reports Airship is evaluating to enhance your data analytics experience. Go to the [Performance Analytics](https://www.airship.com/docs/reference/glossary/#pa) Labs [Dashboard](https://www.airship.com/docs/reference/glossary/#pa_dashboard) for valuable insights and to provide feedback before the new reports are officially released. [Looks](https://www.airship.com/docs/reference/glossary/#pa_look) are provided under topical headings. Select the link under each Look to access a Dashboard containing additional related Looks. Each Dashboard contains a survey link. This initial release contains a Contacts Dashboard to help you analyze metrics at the [Contact](https://www.airship.com/docs/reference/glossary/#contact) level. You can view the number of Contacts and channels in your project over time, as well as the distribution between known and anonymous Contacts, platforms, and channels associated with a [Named User](https://www.airship.com/docs/reference/glossary/#named_user). Additional content included in Labs today focuses on: * **NPS** — Analyze the feedback of NPS surveys, with a breakdown of responses by platform, version, opt-in status, and behaviors. You can also view user feedback for the survey. * **Goals** — These Dashboards provide more detailed reporting on possible out-of-the-box [Goals](https://www.airship.com/docs/reference/glossary/#goals): * **App Opens** — View how app opens have progressed over time, the number of recent app sessions compared to the last seven and 30 days, and counts of your monthly, weekly, and daily active users. * **Web Sessions** — View how web sessions have progressed over time, the number of recent web sessions compared to the last seven and 30 days, and counts of your monthly and daily unique visitors. * **Retention** — Monitor activation and retention rates for your app audience, identifying where usage drop-off commonly occurs so you can build programs to improve retention rates. ## Requirements and documentation Performance Analytics is included in all [current AXP plans](https://www.airship.com/docs/reference/feature-packages/). Non-enterprise customers can [upgrade to AXP Essentials](https://www.airship.com/docs/guides/getting-started/admin/company-plan/#changing-your-airship-plan) in the dashboard. To upgrade to AXP Enterprise or add Performance Analytics to another enterprise plan, [contact Airship Sales](https://www.airship.com/contact-us/). To add Labs to Performance Analytics, a user with [Owner, Administrator, or Full Access permission](https://www.airship.com/docs/guides/getting-started/admin/teams-messaging/#access-levels) must toggle the option in your project settings: 1. Go to **Settings**. 1. Under **Project Configuration**, select **Manage** for Dashboard Settings. 1. Select the toggle for **Labs Dashboard**. Once enabled, go to Go to **Reports**, then **Performance Analytics**, then **Labs**. For more about the new Dashboard, see [Labs](https://www.airship.com/docs/guides/reports/analytics/definitions/#labs) in *Performance Analytics Dashboard and Look definitions*. If you're new to the feature, check out [Getting Started with Performance Analytics](https://www.airship.com/docs/guides/reports/analytics/navigating/). # Feature Flag Audience Targeting > The *Feature Flag access* audience condition enables coordinated experiences across multiple features during phased rollouts or A/B tests. Run layered or mutually exclusive experiments, chain Feature Flags together, or gate sub-features behind primary ones. When setting the audience for a Feature Flag's Configuration, use the Feature Flag access condition to include or exclude users who are part of one or more specified flag audiences. * For **exclusive experiments**, use the Feature Flag access condition to make sure users in one experiment are not also in an experiment running for a different flag. * To roll out **sub-features** that add to another flagged feature, use the Feature Flag access condition to make sure the sub-features are only made available to users who are part of the initial feature's audience. For a retail app, sub-features for a new checkout flow could be an in-store pickup option or AI-powered product recommendations. ## Requirements All Airship customers have one complimentary Feature Flag per project. For more flags, get the Feature Flags add-on for your plan. For AXP Essentials and Essentials Starter plans, see [Changing your Airship plan](https://www.airship.com/docs/guides/getting-started/admin/company-plan/#changing-your-airship-plan). If you have an enterprise plan, [contact Airship Sales](https://www.airship.com/contact-us/). See also [What plan do I have?](https://www.airship.com/docs/reference/feature-packages/#what-plan-do-i-have) in our *Feature packages reference*. Minimum SDK versions for the Feature Flag access condition: iOS 19.4, Android 19.7, Web 2.7. ## Documentation Get all the details in the docs: * [Conditions](https://www.airship.com/docs/guides/experimentation/feature-flags/#conditions) in the *Feature Flags* guide * [Feature Flags](https://www.airship.com/docs/guides/experimentation/feature-flags/) * [Feature Flags](https://www.airship.com/docs/developer/sdk-integration/web/feature-flags/) for the Web platform # Email Registration and Text Collection in Scenes > Add an email opt-in form to your app or website using Scenes. Collect user-provided data for personalization and segmentation. Today's release gives you two new content elements in [Scenes](https://www.airship.com/docs/reference/glossary/#scene), plus a way to set and apply design defaults for input fields. ## Text Input and Email Include new content elements in your Scenes: * **Text Input** — Add a single-line text input field and optionally store the submitted text as an [Attribute](https://www.airship.com/docs/reference/glossary/#attributes). Use the field to collect user information like a name or city and later use the Attribute for [personalization](https://www.airship.com/docs/guides/personalization/about/) and [segmentation](https://www.airship.com/docs/guides/audience/segmentation/segmentation/). * **Email** — Add a field to register a submitted email address as a channel or only collect it as data. * Collected email addresses are available in [Performance Analytics](https://www.airship.com/docs/reference/glossary/#pa). * When registering an address as a channel, the channel is automatically opted in to both transactional and commercial messaging. Registration using this field is handled the same as other email registration methods. For example, they appear in [Contact Management](https://www.airship.com/docs/guides/audience/contact-management/) and emit the same [Real-Time Data Streaming](https://www.airship.com/docs/reference/glossary/#rtds) events. To require [Double Opt-In](https://www.airship.com/docs/reference/glossary/#double_opt_in) before the user is opted in to commercial messaging, enable the Double Opt-In option and create an [Automation](https://www.airship.com/docs/reference/glossary/#automation) or [Sequence](https://www.airship.com/docs/reference/glossary/#sequence) using the [Double Opt-In Trigger](https://www.airship.com/docs/reference/glossary/#double_opt_in_event_trigger) that sends users an email with an [opt-in link](https://www.airship.com/docs/guides/messaging/messages/content/email/email-double-opt-in-links/). No further setup is required, but users must complete the double opt-in process by following the link in your email. You can also set event property key-value pairs to differentiate opt-in sources and trigger messages depending on where users opted in. Using event properties is recommended so you can trigger a specific message. For both fields, you must also configure a button or image with the Submit Responses action and provide a label used for reporting. Options: * Placeholder text that appears in the field before a user selects the field * A content description to be announced by assistive technology, such as screen readers * Make entering content in the field a requirement for making the Submit Responses button or image active ## Project-level styles for input fields Create an Input style to control the appearance of the input fields for Email, Text Input, and answers to Open Questions. In your project's default settings for Scenes, give the style a name and then configure: * Placeholder text, background, and border colors * Border radius * Text style When you add Email, Text Input, or an Open Question to a Scene, select an Input style, and its values will be applied to the input fields. You can override any value per Scene. ## Requirements and documentation Scenes are an [AXP](https://www.airship.com/docs/reference/feature-packages/) feature. Email collection in Scenes requires minimum SDKs: iOS 18.13.0 and Android 18.5.0. Email registration in Scenes requires SDKs iOS 19.1+ and Android 19.2+. * [Configure Scene content](https://www.airship.com/docs/guides/messaging/editors/native/about/) * [Email](https://www.airship.com/docs/guides/messaging/editors/native/elements/#email) * [Text Input](https://www.airship.com/docs/guides/messaging/editors/native/elements/#text-input) * [Setting Scene defaults](https://www.airship.com/docs/guides/messaging/in-app-experiences/configuration/defaults/#scene-defaults) * [Input styles](https://www.airship.com/docs/guides/messaging/in-app-experiences/configuration/defaults/#set-text-button-and-input-styles) # Segment Export > Export a list of audience members in a Segment to add to or reconcile with external systems. Export a CSV file listing the [Channel ID](https://www.airship.com/docs/reference/glossary/#channel_id) and the channel platform for each audience member in a [Segment](https://www.airship.com/docs/reference/glossary/#segment). Once the file is available, Airship sends a download link to your account email address, and you can also download the file from the dashboard. The CSV files are available for download seven days after the request date. While creating or editing a Segment: 1. Select **Export Segment**. 1. Select **Save and export** to confirm saving the Segment in its current state and starting the export process. The Segment Exports screen will automatically load and display a list of all your requested exports from the last seven days. 1. To download the exported data, select the download icon for the Segment once its status is Done, or follow the link in your email. To return to your requested exports, go to **Audience**, then **Segments**, and then **Go to exports**. ## Documentation For additional information, see [Export Segments](https://www.airship.com/docs/guides/audience/segmentation/segments/#export-segments) in our *Segments* doc. # Behavioral Targeting Enhancements > Behavioral Targeting now supports all channels, additional Default Events, and analysis of numeric monetary values. > **Note:** [This feature is now known as **Audience Pulse**.](https://www.airship.com/docs/whats-new/2025-11-11-audience-pulse-ai-recommendations/) Behavioral Targeting analyzes user behaviors using the [Recency, Frequency, Monetary](https://en.wikipedia.org/wiki/RFM_(market_research)) model. You can create Segments from selected tiers and transitions within the reports and use them to target specific users. ![Behavioral Targeting Transitions report](https://www.airship.com/docs/images/whats-new/behavioral-targeting-transitions_hu_ef17744ec211a11f.webp) *Behavioral Targeting Transitions report* Today's release expands what behaviors you can analyze. Now you can: * Analyze **an event on any channel**. Events are evaluated for a user on the channel where they occur. Considering activity across all connected channels provides a holistic view of user engagement. * Set **different events for Recency, Frequency, and Monetary** to tailor the analysis to your specific business goals and user interactions. You can select any [Custom Event](https://www.airship.com/docs/reference/glossary/#custom_event) in your project or a Default Event. * Analyze **more Default Events**. Choose from: * App: `app_open` or `message_center_read` * Web: `web_click` or `web_session` * SMS: `short_link_click` * Analyze **the amount of time or money spent** related to a Monetary event. After choosing the event, select an event property to analyze its values instead of only counting the events. Use Monetary event properties to track metrics like purchase value, content consumption duration, or any other relevant numerical data. To get started, customize the model with relevant events, such as purchases, adding to carts, and engaging with editorial content. Once your reports are available, save selected groups as [Segments](https://www.airship.com/docs/reference/glossary/#segment) and target them for more effective campaigns. ## Documentation Check out [Behavioral Targeting](https://www.airship.com/docs/guides/audience/segmentation/audience-pulse/) for more information and to start generating your tiers and reports. # Adaptive Link Landing Page Enhancements > Adaptive Links on iOS provide a guided user experience for your Apple Wallet passes. ![An Adaptive Link landing page after installing a pass on iOS](https://www.airship.com/docs/images/adaptive-link-landing-ios_hu_a5397b4d350e3739.webp) *An Adaptive Link landing page after installing a pass on iOS* For Apple Wallet passes generated from an [Adaptive Link](https://www.airship.com/docs/reference/glossary/#adaptive_link), today's release updates the default appearance and behavior of the screen that appears after adding the pass or canceling. ## Landing pages on iOS After adding a pass or canceling, the Wallet app closes, and a landing page displays these elements: * **Logo image** — The full pass rendering is replaced with its template's logo image laid over its background color. You can customize this to also add the strip image. * **View prompt** — If the pass was already added to Wallet, selecting this prompt opens the pass in the app. If not added to Wallet, it opens the app's home screen. * **Add prompt** — Selecting this prompt downloads the pass file and opens it in Wallet with a prompt to add it. This is the default appearance and behavior for Adaptive Links opened on an iOS device for projects created after April 10, 2025. You can also enable it for older projects and disable it at any time: Go to **Settings**, then **Project Details**, and then toggle the **Adaptive Link Landing Pages** option. When disabled, the landing page displays a blank white screen after adding the pass or canceling. ## Documentation Get all the details in [About Adaptive Links](https://www.airship.com/docs/guides/wallet/user-guide/create-links/adaptive-links/). # Custom Views for Scenes > Eliminate additional development work and use Custom Views to embed your existing mobile app or website content into Scenes. Custom Views can display any native content your app exposes, so you can reuse that content within any screen in a [Scene](https://www.airship.com/docs/reference/glossary/#scene). Use cases: ![Custom Views in Scenes](https://www.airship.com/docs/images/whats-new/scenes-custom-views_hu_9e8e0a7d11705597.webp) *Custom Views in Scenes* * **Native maps** — Direct users to their local store or embed a store locator component in a Scene. * **Shopping cart** — Embed a user's shopping cart contents in a Scene advertising a promotion or coupon. * **Ads** — Embed ad views from your native ad SDK to serve that content in a Scene. * **Retail** — Embed product wishlists and shopping carts, and complete checkout flows directly within a Scene. * **Travel** — Display real-time flight status information and gate changes or allow users to book travel. * **Sports** — Show live scores, game statistics, or personalized highlights. * **Finance** — Display a user's transaction history, investment portfolio, or real-time stock quotes. Custom Views require your application to register the native view with the Airship SDK. When configuring a screen, add the Custom View content element and enter the view name as defined by your developer. You can add key-value pairs for the view so your app can serve a more specific or granular view. For example, a map view could reference a specific place, or a score widget could reference specific teams. Values can be personalized using [Handlebars](https://www.airship.com/docs/reference/glossary/#handlebars). ## Requirements and documentation Scenes are an [AXP](https://www.airship.com/docs/reference/feature-packages/) feature. Custom Views requires minimum SDKs: iOS 19.2.0 and Android 19.4.0. * [About Scenes](https://www.airship.com/docs/guides/features/messaging/scenes/scenes/) * [Configure Scene content](https://www.airship.com/docs/guides/messaging/editors/native/about/) * [Mobile Custom Views](https://www.airship.com/docs/sdk-topics/custom-views/) * [Web Custom Views](https://www.airship.com/docs/developer/sdk-integration/web/in-app-experiences/#custom-views) To upgrade your SDK version, follow our guides: * [Android SDK migration guides](https://github.com/urbanairship/android-library/tree/main/documentation/migration#airship-android-sdk-migration-guides) * [iOS SDK migration guides](https://github.com/urbanairship/ios-library/tree/main/Documentation/Migration#airship-ios-sdk-migration-guides) # Scene Design and Accessibility Enhancements > Customize individual Scene elements with more design properties. Apply an accessibility feature for text at the screen level or for Text styles that will apply to all Scenes. A Scene is a 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. Check out our recent design and accessibility enhancements for Scenes. ## Position for cropped media When using media that does not fit within the viewable area where it is displayed, you can now determine how it will be cropped. For background media and the List and Media content elements, using the **Fit** option, select **Crop**, and then set a **Position**. When an image is scaled to fit the width of a viewable area, the vertical Position setting determines if the image will be placed at the top, center, or bottom of the area. When an image is scaled to fit the height of a viewable area, the horizontal Position setting aligns the image to the left, center, or right of the area. ## Alignment for content elements Content elements within a screen or Container can now be aligned horizontally and vertically: left, middle, or right, and top, middle, or bottom. ## Mark text as a heading Specify any Text element as a heading for navigation using assistive technology, such as screen readers. You can set this new accessibility feature for individual Text elements in the Scene composer or for Text styles in your Scenes' default settings. ## Requirements and documentation Scenes are an [AXP](https://www.airship.com/docs/reference/feature-packages/) feature. Position for cropped media requires minimum SDKs: iOS 17.1.1 and Android 17.7.2. Marking text as a heading requires minimum SDKs: iOS 18.13.0 and Android 18.5.0. * [About Scenes](https://www.airship.com/docs/guides/features/messaging/scenes/scenes/) * [Configure Scene content](https://www.airship.com/docs/guides/messaging/editors/native/about/) * [Setting Scene defaults](https://www.airship.com/docs/guides/messaging/in-app-experiences/configuration/defaults/#scene-defaults) # Data Retention Schedule Update > Unicast send counts will not be returned after 13 months. To align with our data minimization principles, when using the API to retrieve data, Airship will not return send counts for unicast messages after 13 months from send time. This change is effective February 25, 2025. See [Data Retention Schedule](https://www.airship.com/docs/reference/general/). # Behavioral Targeting > Analyze user activity and behavior changes over time and create Segments for targeted messaging. > **Note:** [This feature is now known as **Audience Pulse**.](https://www.airship.com/docs/whats-new/2025-11-11-audience-pulse-ai-recommendations/) Behavioral Targeting analyzes user behaviors using the [Recency, Frequency, Monetary](https://en.wikipedia.org/wiki/RFM_(market_research)) model and groups users' recent app session behaviors over time into tiers based on: ![Behavioral Targeting Transitions report](https://www.airship.com/docs/images/whats-new/behavioral-targeting-transitions_hu_ef17744ec211a11f.webp) *Behavioral Targeting Transitions report* * how recently they opened the app, * how frequently they opened the app, and * how much time they spent in the app. Two reports display the tier data: * The Distribution report visually organizes the relative size of each tier and also displays its user count and audience percentage. * The Transitions report shows the flow of users between tiers over time. Understanding the distribution can help you get a pulse on user activity in your app. Seeing the transitions between tiers can give you insight on how well you are retaining users or how effective your marketing campaigns are. You can turn this analysis into actionable information by generating audience [Segments](https://www.airship.com/docs/reference/glossary/#segment) based on selected tiers or transitions. Use cases: * **Personalization** — Different tiers can represent users at different stages of using your app or different levels of interest in your product. Use Segments based on tiers to customize your messaging to each group more appropriately. For example, reward your top tiers and incentivize the lower ones. * **Engagement** — Transitions between tiers are opportunities to provide specific content based on engagement level. Create Segments based on transitions to message users based on which direction they are moving through tiers or which tiers they are moving between. For example, create a re-engagement campaign for users moving down tiers to help retain them, or send a message suggesting users share your app or write a review when they transition into the top tier. When assigned a tier, [Tags](https://www.airship.com/docs/reference/glossary/#tag) describing the tier and analysis window date are assigned to users. Tags are added at the [Contact](https://www.airship.com/docs/guides/audience/your-audience/) level. ## Documentation Get all the details in [Behavioral Targeting](https://www.airship.com/docs/guides/audience/segmentation/audience-pulse/). # Feature Flag A/B Testing > Use Feature Flag A/B testing to make informed, data-driven decisions about features in your app or website. Optimize user engagement and confidently roll out features that drive better business outcomes. A Feature Flag is an experimentation tool for controlling the availability of content or functionality in your app or website. Now you can use flags to compare audience behaviors when a feature is hidden or present, or experiment with distinct feature experiences, such as new home screen designs, by setting different property values for each variant. A/B test use cases: * **Evaluating engagement of new designs** — Create an experiment to test the effectiveness of your new home screen design with new users. Display the new design to 50% of new users and the current home screen to the other 50%, set a goal such as a purchase, and track which version of the home screen leads to more conversions. If the old design still outperforms, you can stop the experiment, and if the new one wins, you can create a new rollout from the winning variant. * **Optimizing loyalty programs** — Create an experiment to test different reward structures for your new loyalty program. Create an experiment with two variations of the program: one offering discounts on future orders and another offering free delivery credits, and set a goal to track repeat orders. Reporting data reveals a 20% increase in repeat orders for the delivery credit variant, providing the team with concrete evidence to present to leadership on which program structure performs best. Reports provide detailed data for evaluating engagement and the overall success of a feature based on your goals. After enough data is available and time has elapsed, Airship declares the winning variant. Then you can roll out that variant to 100% of your A/B test audience. All Airship customers have one complimentary Feature Flag per project. ## Requirements Feature Flags are available as a plan add-on. AXP Essentials and Essentials Starter plan customers can navigate to the Account Info section by clicking on the account icon ( ) at the top right of the navigation bar in the Airship dashboard. Then select **Manage Add-ons**, and see the Feature Flags add-on option. If you have an enterprise plan, [contact Airship Sales](https://www.airship.com/contact-us/). See also [What plan do I have?](https://www.airship.com/docs/reference/feature-packages/#what-plan-do-i-have) in our *Feature packages reference*. Minimum SDK versions for Feature Flag A/B testing: iOS 19.0 and Android 19.0. ## Documentation Get all the details in the docs: * [Feature Flags user guide](https://www.airship.com/docs/guides/experimentation/feature-flags/) * [Feature Flags Web platform documentation](https://www.airship.com/docs/developer/sdk-integration/web/feature-flags/) # Enhanced Click Tracking for Email > The email Click Map is a type of heat map that helps you learn how your audience interacts with your messages. When users follow links in an email, the URLs and related metrics appear in the Performance section of a message report. Today's release adds a **Click Map** to email message reports to help you learn how to optimize message layout. By visually representing where users click most frequently, you can see which parts of an email attract the most attention and measure the effectiveness of call-to-action buttons, images, and text according to their placement. Use this information to ensure that key elements are positioned where they are most likely to be seen and engage users. ## Using the Click Map First, give custom names to the links in your message, either in the WYSIWYG editor or using the HTML attribute `data-ua-linkname` on anchor tags. After sending your message, you can see how the links performed. Go to **Messages**, then **Messages Overview**, select the report icon ( ) for the email, and see the Click Map in the **Performance** section: ![The Click Map in an email message report](https://www.airship.com/docs/images/whats-new/email-click-map_hu_f761546026c958d3.webp) *The Click Map in an email message report* Within a preview of the message body, any named link clicked by a user is highlighted. The volume of clicks is indicated by a highlight color in a gradient from red (most) to yellow (fewest). A table lists the same links with click counts and the percentage of clicks relative to all links in the message. You can filter the preview and table by device type and Total Clicks or Unique Clicks. Use **Preview Data** to see how personalized content in your message appears when populated with user data instead of default values. This can reveal links that might appear in the table but not in the message body due to conditional logic. ## Documentation * [Email performance](https://www.airship.com/docs/guides/reports/message/#email-performance) in *Message Reports* * [Link names](https://www.airship.com/docs/guides/messaging/messages/content/email/email/#link-names) in *Email content* * [Previewing personalized content](https://www.airship.com/docs/guides/personalization/previewing/) # Wallet Multi-Pass Adaptive Links > Create an Adaptive Link that generates multiple mobile wallet passes from a single URL. Adaptive Links are a vendor-agnostic, mobile wallet pass links that support templates for both Google Wallet and Apple Wallet. When a user taps the link, Airship determines the user's platform and generates the right pass for that platform. Today's release adds the ability to download multiple passes from a single link. Combine passes from multiple templates in different projects, even if they are different pass types, to do things like: * Provide multiple boarding passes at once for a group of travelers * Bundle event tickets with parking passes * Include a coupon with a loyalty card download First, create individual Adaptive Links. Then append up to 10 comma-separated Adaptive Link IDs in this format: `https://wallet-api.urbanairship.com/v1/pass/adaptive?ids={adaptiveLinkId},{adaptiveLinkId},{adaptiveLinkId}`. **Example multi-pass Adaptive Link URL** ```text https://wallet-api.urbanairship.com/v1/pass/adaptive?ids=7XRMaSpcEQk,Y0E6EXuTx5i,XGMuDpx2RDs ``` You can distribute the URL to users in the above format. As with any other pass link, you can send multi-pass Adaptive Links to users in numerous ways. You also have the option to use multi-pass URLs in `GET` API calls. Use a `GET` call if you don't want to serve your users an Adaptive Link. Specify a device type in the `GET` URL to request a .pkpass or JSON and stream it to the user from your app or website. ## Documentation * [About Adaptive Links](https://www.airship.com/docs/guides/wallet/user-guide/create-links/adaptive-links/) * [Creating multi-pass Adaptive Links](https://www.airship.com/docs/guides/wallet/user-guide/create-links/api/#creating-multi-pass-adaptive-links) # Actions for Scene Images and Screens > Add more interactivity to your Scenes by setting a behavior that occurs when users tap or click an image or entire screen. ![Make a Scene's screen clickable by setting an action](https://www.airship.com/docs/images/whats-new/actions-for-scene-images-and-screens-example_hu_91cbda541acf3030.webp) *Make a Scene's screen clickable by setting an action* When configuring a screen or the Media element for an image in a [Scene](https://www.airship.com/docs/reference/glossary/#scene), assign an action to make it behave like a button. * **Supported actions** — The same App and Web actions already supported for buttons are also supported for images and screens, except Submit Responses cannot be set for screens. * **Options** — The same options are available as when configuring actions for buttons, text, and images: Scene behavior, setting or removing a tag, and opting a user in to or out of a [Subscription List](https://www.airship.com/docs/reference/glossary/#subscription_list). * **Event names** — Assign a custom name for the click event to differentiate it from other clicks. An event name for the action is required for images and screens but not buttons. Event names also support [Handlebars](https://www.airship.com/docs/reference/glossary/#handlebars). ## Requirements and documentation Minimum SDKs required: 18.12 and Android 18.4. Learn how to set actions for screens and images: * [Set a screen action](https://www.airship.com/docs/guides/messaging/editors/native/about/) in *Configure Scene content* * [Actions](https://www.airship.com/docs/guides/messaging/in-app-experiences/configuration/button-actions/) for in-app experiences # Scene Composer Navigation Updates > Editing options at the screen level make Scene content management even easier. ![Manage your Scene's content in the left sidebar](https://www.airship.com/docs/images/whats-new/scene-composer-navigation_hu_9fbef1f9740f6693.webp) *Manage your Scene's content in the left sidebar* When editing the content of a [Scene](https://www.airship.com/docs/reference/glossary/#scene), you now have these capabilities in the left sidebar: * Toggle the caret icon ( ) to expand and collapse the lists of each screen's content elements and elements inside Containers. * Select and hold an element name and drag and drop to a new position, including into and out of Containers. * Double-click an element name to open it for editing. ## Documentation * [About Scenes](https://www.airship.com/docs/guides/features/messaging/scenes/scenes/) * [Configure Scene content](https://www.airship.com/docs/guides/messaging/editors/native/about/) # AI-Generated Journeys > AI enables simplified, faster campaign creation. Answer guided prompts to generate draft Journeys. Instead of creating each [Journey](https://www.airship.com/docs/reference/glossary/#journey) component from scratch, let AI get you started! Prompts include the purpose of the Journey, the information you want to convey in your messages, message types, trigger, tone, language, and images. After completing the form, the [Journey Map](https://www.airship.com/docs/reference/glossary/#journey_map) displays all linked components. Your selected message types will be included in a [Sequence](https://www.airship.com/docs/reference/glossary/#sequence) and/or [Scene](https://www.airship.com/docs/reference/glossary/#scene). In the Airship dashboard: 1. Go to **Journeys**. 1. Select the plus icon ( ) in the map. 1. Configure each prompt. 1. Select **Generate**. Next, edit each component and finalize your trigger, content, and other settings. Review the generated content before making any Journey component active. You can create up to 100 AI-generated Journeys per project. Explicit content is excluded for all languages. ## Requirements AI generation for Journeys is included in all [AXP](https://www.airship.com/docs/reference/feature-packages/) plans. CEP plans require Orchestration. For other Airship plans, contact your account manager. ## Documentation * To get started, see [Creating AI-generated Journeys](https://www.airship.com/docs/guides/features/orchestration-experimentation/journeys/#create-ai-generated-journeys) in our *Journeys* documentation. * Read about [AI in Airship](https://www.airship.com/docs/guides/features/intelligence-ai/ai/) and [Airship Security Measures](https://www.airship.com/legal/security-measures/). # In-App Experience Journeys > Link between in-app experiences to tailor Journeys within your mobile app. Linking between in-app experiences gives you more flexibility with [Journeys](https://www.airship.com/docs/reference/glossary/#journey). Any [In-App Automation](https://www.airship.com/docs/reference/glossary/#iaa) or App [Scene](https://www.airship.com/docs/reference/glossary/#scene) can be connected to any other In-App Automation or App Scene, so you can do things like: * Trigger an In-App Automation seconds after viewing a Scene in the same session. * Redisplay an onboarding completion prompt and route to a different experience within the app upon completion. * Present contextual learning as users progress through your app. Every page view within a single session can trigger a different in-app experience. Additional linking methods: [Sequence](https://www.airship.com/docs/reference/glossary/#sequence) to Sequence, Sequence to in-app experience, and in-app experience to Sequence. Web Scenes can be linked to Sequences. ## Scene outcomes We also added two new ways to configure outcomes for Scenes: * **Opt-in** — Route to another Journey component based on a user's response to a [location opt-in](https://www.airship.com/docs/guides/messaging/in-app-experiences/configuration/button-actions/#location-opt-in) or [push opt-in](https://www.airship.com/docs/guides/messaging/in-app-experiences/configuration/button-actions/#push-opt-in) prompt. * **Survey Submission** — Route to another Journey component when a user submits answers to [questions](https://www.airship.com/docs/guides/messaging/editors/native/elements/#question) or submits responses to an [NPS survey](https://www.airship.com/docs/guides/messaging/editors/native/elements/#nps)". ## Journey map updates You'll also see these changes in the [Journey Map](https://www.airship.com/docs/reference/glossary/#journey_map): * You can now edit Scene and In-App Automation triggers in the map instead of only in a composer. * Label updates: Display is now Impression and Button Click is now Button Tap. ## Requirements and Documentation Learn about all the ways to set up Journeys in [Linking Journey components](https://www.airship.com/docs/guides/features/orchestration-experimentation/journeys/#link-journey-components). Linking between in-app experiences requires mobile SDKs iOS 18.4+ and Android 18+. Until your app meets the SDK requirements, you may want to hide the ability to link in-app experiences. See [Enabling features](https://www.airship.com/docs/guides/messaging/project/enable-features/#enabling-features) in *Enable dashboard features and set behavioral defaults*. To upgrade your SDK version, follow our guides: * [Android SDK migration guides](https://github.com/urbanairship/android-library/tree/main/documentation/migration#airship-android-sdk-migration-guides) * [iOS SDK migration guides](https://github.com/urbanairship/ios-library/tree/main/Documentation/Migration#airship-ios-sdk-migration-guides) # Configurations for Feature Flags > Create separate Configurations for Feature Flags to control the roll out of a feature to different audiences, at different rates, and on separate schedules. You can also use Configurations to create tailored experiences of a feature for different audiences. Each Feature Flag can have up to 10 active Configurations with different audiences, schedules, and property values. You can arrange Configurations in order of priority to determine which Configuration should display to a user if they are included in multiple Configuration audiences. After adding the flag to your app or website, you can manage a Configuration's audience, schedule, and properties from the Airship dashboard. If something unexpected happens with the feature, or if you have reason to end access before its scheduled end time, you can easily disable it for all users. For apps, this means eliminating the need to release an app update and waiting for users to install the new version. All Airship customers have one complimentary Feature Flag per project. ## Changes in dashboard setup To support targeting multiple audiences with the same flag, we decoupled the flag definition from its audience and schedule. How flag setup works now: 1. **Define the flag** — Set the flag's name, description, and properties that can be used by your app or website code within the flag. 1. **Create one or more Configurations for the flag** — Determine the audience, schedule, and property values for that Configuration only. All existing Feature Flags have been converted to contain a Configuration. ## Putting Feature Flags to work These use cases illustrate some ways you can use Feature Flags: * **Holiday Promotions** — Create a flag for promotional banners in your app. Using Configurations, launch the banners to 100% of the U.S. audience after Thanksgiving, and to 100% of the E.U. audience in early November. This ensures that each region receives the promotion at the optimal time, maximizing engagement and driving the success of the campaign. * **Retail App Loyalty Program** — Create a flag to launch a new loyalty program in your retail app. Release the program to your most loyal users and lowest tier users at different rates, based on observed differences in user behavior for those audiences. You can then create individual Configurations of the Feature Flag for each audience, and roll out the experience to 50% of most loyal users and 10% of lowest tier users under the same flag using different Configurations. You may also use the Feature Flag properties to customize the promotional text for each audience, displaying different messages to each segment. ## Requirements Feature Flags are available as a plan add-on. AXP Essentials and Essentials Starter plan customers can navigate to the Account Info section by clicking on the account icon ( ) at the top right of the navigation bar in the Airship dashboard. Then select **Manage Add-ons**, and see the Feature Flags add-on option. If you have an enterprise plan, [contact Airship Sales](https://www.airship.com/contact-us/). See also [What plan do I have?](https://www.airship.com/docs/reference/feature-packages/#what-plan-do-i-have) in our *Feature packages reference*. Minimum SDK versions: iOS 17.1 and Android 17.1. ## Documentation * [Feature Flags user guide](https://www.airship.com/docs/guides/experimentation/feature-flags/) * [Feature Flags Web platform documentation](https://www.airship.com/docs/developer/sdk-integration/web/feature-flags/) # Web Scenes and Embedded Content > All the Scene capabilities for mobile apps, including Story and Embedded Content formats, are now available for Web. Create the same experiences for your website as your mobile app: onboarding flows, educational information, promotional updates, and more. Web Scenes and Embedded Content are a great way to reach your entire website audience — with no user opt-in requirement. Use the existing Scene composer for Web Scenes. You can create experiences for your website, in your app, or both in a single campaign. ![Web Scenes](https://www.airship.com/docs/images/whats-new/web-scenes.webp) *Web Scenes* ## Embedded Content Highlights ![Embedded Content](https://www.airship.com/docs/images/whats-new/embedded-content-devices_hu_b051e132c57f7ec4.webp) *Embedded Content* Since you create Embedded Content using the same composer and project settings used for Scenes, all features available for Scenes are also available for Embedded Content, like rollout capabilities and A/B testing. A few details about Embedded Content: * **A no-code experience** — Non-technical teams can tailor experiences to every individual, collect feedback, and incentivize high-value actions. You can embed interactive elements such as video, gifs, surveys and stories. * **Limitless possibilities, without opt-in requirements** — Connect with customers using some of your website's most valuable real estate. * **Better UX control** — Control the copy, imagery, timing, and segmentation of specific content blocks. * **Agility and speed in updates** — Dynamically test and modify without developer support or site updates. * **Experimentation** — Incorporate Airship's robust experimentation into your website by testing modal versus Embedded Content. This is all possible without ongoing developer support. ### How Embedded Content works There are three primary components: | Component | Description | | --- | --- | | **A "view" in your website where the content will display** | A web developer creates an HTML container where Scene content will be rendered. They also determine what content can be displayed in the container by setting a value for the view's `embeddedId` that matches the ID of an Embedded Content view style. | | **A view style in your project settings** | A marketer creates an Embedded Content view style and assigns an ID for reference in the view's `embeddedId`. | | **A Scene using an Embedded Content view style** | This is the source of the content that will be displayed in the view. | Once the Scene is triggered for display and matches the specified audience conditions, its content is available to users visiting a web page with a container. The container is populated with the content from all active Scenes with the matching ID and in the order in which the Scenes were triggered. Embedded Content behavior in web pages is the same as for mobile app modal and fullscreen Scenes: * The content displays only within the website. * When the user leaves or closes the web page, the content is not automatically dismissed. It continues to display in the next web session. ## Dashboard updates To support this addition, you'll see these changes in the dashboard: * **Channel selector** — If you have both App and Web messaging, in the Audience step of a Scene, you'll be prompted to select App and/or Web channels. * **Web previews** — When creating a Scene, the device preview now has options for Web. * **Web fallback URL for button and text actions** — For Scenes with both App and Web channels selected, some actions apply to mobile apps only.When configuring the actions, you can enter a URL as an alternative behavior. Selecting the button or text opens a web page or any valid device-level URL such as App Store or app protocol links. The web page opens in the device's default browser. * **Enable/disable shade** — When configuring default settings for Scene view styles, you can specify if you want to remove the shade in a non-fullscreen Scene so the website behind can be accessed. * **Combined** [Message Limits](https://www.airship.com/docs/reference/glossary/#message_limits) — The limit for Scenes and [In-App Automations](https://www.airship.com/docs/reference/glossary/#iaa) are combined. App and Web Scenes use the same limit settings but are tracked independently on the device. If you set a limit of no more than one message in 24 hours, a user can receive a Scene triggered on both App and Web channels: once in the app and once on the web within 24 hours. * **Combined settings** — For accounts with both App and Web messaging, settings shared between channels are grouped together. Go to **Settings**, then **Mobile App & Web**. * **Web channel configuration** — We removed settings that are not supported by Web SDK v2. ## Requirements and documentation Web Scenes and Embedded Content require [AXP](https://www.airship.com/docs/reference/feature-packages/). Depending on purchase date, your contract may require an amendment. Contact your account manager for details. Required SDK: (Web SDK 2+) User guides and billing: * [About Scenes: Fullscreen, modal, and Embedded Content](https://www.airship.com/docs/guides/features/messaging/scenes/scenes/#view-styles) * [Setting Scene defaults](https://www.airship.com/docs/guides/messaging/in-app-experiences/configuration/defaults/#scene-defaults) * [Create a Scene](https://www.airship.com/docs/guides/messaging/in-app-experiences/scenes/create/) * [Button and text actions: Web fallback URL](https://www.airship.com/docs/guides/messaging/in-app-experiences/configuration/button-actions/#web-fallback-url) * [View impressions usage](https://www.airship.com/docs/guides/getting-started/admin/usage-payment/#view-impressions-usage) Web developer guides: * [Getting Started](https://www.airship.com/docs/developer/sdk-integration/web/getting-started/) * [Implementing Web SDK v2](https://www.airship.com/docs/developer/sdk-integration/web/v2-sdk/) * [In-App Experiences](https://www.airship.com/docs/developer/sdk-integration/web/in-app-experiences/) * [Embedded Content](https://www.airship.com/docs/developer/sdk-integration/web/embedded/) Background Push and Missed Behavior: * [Setting behavioral defaults](https://www.airship.com/docs/guides/messaging/project/enable-features/#setting-behavioral-defaults) # Email URL Parameters > Simplify email creation and improve marketing campaigns by adding UTM parameters and custom variables to all link URLs in emails. URL parameters are variables you can automatically append to all link URLs in emails. They function as tags for tracking campaign performance, both on the web and in an app. You can use platforms like Google Analytics to track user behavior after they've followed a link. Add your own custom parameters and/or supply values for these [UTM parameters](https://en.wikipedia.org/wiki/UTM_parameters): | UTM parameter | Description | Usage example | | --- | --- | --- | | utm_campaign | Identifies the purpose of the campaign or promotion | utm_campaign=winter_clearance | | utm_content | Identifies what the user interacted with in the email, such as a button or a text link, and differentiates links that may direct to the same URL, as is commonly used in A/B testing | utm_content=sign-up-button | | utm_medium | Identifies where a user found your URL | utm_medium=email | | utm_source | Identifies the traffic source, which you can use to identify the type of email campaign | utm_source=newsletter | | utm_term | Typically identifies search terms, but instead can be used to differentiate things like subject lines | utm_term=you-forgot-your-cart | {class="table-col-1-compact"} A full link could look like this: `https://example.com/utm_medium=email&utm_source=newsletter&utm_campaign=winter_clearance&utm_content=sign-up-button`. URL parameters can be set at the project level and for individual messages. You can override project-level parameters per message as well. URL parameters are supported for the API and for messages created using the Message, A/B Test, Automation, and Sequence composers. Values for both UTM and custom parameters accept all characters and support [Handlebars](https://www.airship.com/docs/reference/glossary/#handlebars). ## Documentation Learn about formatting, personalization, and setting [URL parameters](https://www.airship.com/docs/guides/messaging/messages/content/email/email/#url-parameters) in our *Email content* documentation. # Experimentation Hub > Learn about the impact of your messaging in the Experimentation Hub. You can track and manage all project experiments from this single location. Performing tests and measuring results are fundamental aspects of improving your business outcomes. The Experimentation Hub gives you a centralized view of this data in the Airship dashboard. From your project dashboard, first select **Experiments**, then select **Experimentation Hub**. The **Overview** section contains: * Counts of [Goal](https://www.airship.com/docs/reference/glossary/#goals) event occurrence in the past 30 days * Counts of message, [Scene](https://www.airship.com/docs/reference/glossary/#scene), and [Sequence](https://www.airship.com/docs/reference/glossary/#sequence) A/B tests and Sequence control groups in the past 30 days, plus counts of message and Scene A/B tests by channel * Counts of total and active [Holdout Experiments](https://www.airship.com/docs/reference/glossary/#holdout_experiment), counts by status, and results of the latest experiment * Links to information about designing effective experiments, analyzing results, and making data-driven decisions, and links to Airship experimentation docs Go to **Goals**, **Holdout Experiments**, and **Campaign Experiments** for summaries and reports. You can also view content previews for A/B tests. Message and Sequence A/B test reports include Goal attribution metrics. Search for specific experiments and follow links to open them and make changes. ## Documentation Check out all our experimentation docs: * [Goals](https://www.airship.com/docs/guides/reports/goals/) * [Holdout Experiments](https://www.airship.com/docs/guides/experimentation/holdout-experiments/) * [Message A/B Tests](https://www.airship.com/docs/guides/experimentation/a-b-tests/about/) * [Scene A/B Tests](https://www.airship.com/docs/guides/experimentation/a-b-tests/scenes/) * [Sequence A/B Tests](https://www.airship.com/docs/guides/experimentation/a-b-tests/sequences/) * [Sequence Control Groups](https://www.airship.com/docs/guides/experimentation/control-groups/) # Embedded Content GA > Embedded Content is now generally available. Embedded Content is an alternative [Scene](https://www.airship.com/docs/reference/glossary/#scene) format that can be displayed on any app screen in a view defined by an app developer. It can also be presented in Story format. ## Highlights ![Embedded Content in an app](https://www.airship.com/docs/images/whats-new/embedded-content-app_hu_6361d73b1e914705.webp) *Embedded Content in an app* You can insert content blocks anywhere within your app. Your developer defines the content's placement, and you can create and manage the content in the Airship dashboard. You create Embedded Content using the same composer and project settings used for Scenes, so all features available for Scenes are also available for Embedded Content, like rollout capabilities and A/B testing. A few details about Embedded Content: * **A no-code native app experience** — Non-technical teams can tailor experiences to every individual, collect feedback, and incentivize high-value actions. You can embed interactive elements such as video, gifs, surveys and stories. * **Limitless possibilities, without opt-in requirements** — Connect with customers using some of your app's most valuable real estate. * **Better UX control** — Control the copy, imagery, timing, and segmentation of specific content blocks. * **Agility and speed in updates** — Dynamically test and modify without developer support or app updates. * **Experimentation** — Incorporate Airship's robust experimentation into your app by testing modal versus Embedded Content. This is all possible without ongoing developer support. ### How it works There are three primary components: | Component | Description | | --- | --- | | **A "view" in your app where the content will display** | An app developer creates an `AirshipEmbeddedView` that controls the dimensions of the content and its location in your app. They also determine what content can be displayed in the view by setting a value for the view's `embeddedId` that matches the ID of an Embedded Content view style. | | **A view style in your project settings** | A marketer creates an Embedded Content view style and assigns an ID for reference in the app view's `embeddedId`. | | **A Scene using an Embedded Content view style** | This is the source of the content that will be displayed in the view. | Once the Scene is triggered for display and matches the specified audience conditions, its content is available to users when visiting a screen that contains the `AirshipEmbeddedView`. The view is populated with the content from all active Scenes with the matching ID and in the order in which the Scenes were triggered. ## Relocated settings Along with the feature release, we also moved Background Push and Missed Behavior to the **Dashboard Settings** section of your projects. ## Requirements and documentation Embedded Content requires [AXP](https://www.airship.com/docs/reference/feature-packages/). Depending on purchase date, your contract may require an amendment. Contact your account manager for details. Required SDKs: [iOS SDK 18.7+](/docs/docs/developer/sdk-integration/apple/ios-changelog/#18.7.0) [Android SDK 18.1.4+](/docs/docs/developer/sdk-integration/android/changelog/#18.1.4) User guides and billing: * [About Scenes: Fullscreen, modal, and Embedded Content](https://www.airship.com/docs/guides/features/messaging/scenes/scenes/#view-styles) * [Setting Scene defaults](https://www.airship.com/docs/guides/messaging/in-app-experiences/configuration/defaults/#scene-defaults) * [Create a Scene](https://www.airship.com/docs/guides/messaging/in-app-experiences/scenes/create/) * [View impressions usage](https://www.airship.com/docs/guides/getting-started/admin/usage-payment/#view-impressions-usage) Developer guides: * [Android Embedded Content](https://www.airship.com/docs/developer/sdk-integration/android/in-app-experiences/embedded-content/) * [iOS Embedded Content](https://www.airship.com/docs/developer/sdk-integration/apple/in-app-experiences/embedded-content/) Background Push and Missed Behavior: * [Setting behavioral defaults](https://www.airship.com/docs/guides/messaging/project/enable-features/#setting-behavioral-defaults) # Preference Center Opt-In Support for Email and SMS > Grow your email and SMS audiences from your app's Preference Center. Users can self-manage their email addresses and phone numbers alongside their notification preferences. In an App [Preference Center](https://www.airship.com/docs/reference/glossary/#preference_center), now you can add notification opt-in prompts for Email and SMS. Just like our App and Web opt-in prompts, they appear as embedded banners within a Preference Center. All labels and fields are fully customizable. ![Opting in to SMS in an App Preference Center](https://www.airship.com/docs/images/whats-new/pf-sms-opt-in_hu_353b6085d81efdde.webp) *Opting in to SMS in an App Preference Center* Opted-in addresses and phone numbers associated with a [Named User](https://www.airship.com/docs/reference/glossary/#named_user) are listed within the banner. Addresses or numbers added by the user are automatically associated with their Named User ID, allowing for cross-channel messaging. Users can add email addresses or phone numbers in order to opt in, add other addresses or numbers, or remove their contact information in order to opt out. They must complete the [Double Opt-In](https://www.airship.com/docs/reference/glossary/#double_opt_in) process in order to start receiving messages. ## Requirements and documentation Required for Email and SMS opt-in prompts: [iOS SDK 18.6+](/docs/docs/developer/sdk-integration/apple/ios-changelog/#18.6.0) [Android SDK 18.1.2+](/docs/docs/developer/sdk-integration/android/changelog/#18.1.2) Get all the details about [notification opt-in prompts](https://www.airship.com/docs/guides/messaging/features/preference-centers/#notification-opt-in-prompts-and-contact-information) and [how to configure them](https://www.airship.com/docs/guides/messaging/features/preference-centers/#configuring-opt-in-prompts-and-contact-information) in our *Preference Centers* user guide. Learn how double opt-in works for [Email](https://www.airship.com/docs/developer/api-integrations/email/getting-started/#double-opt-in) and [SMS](https://www.airship.com/docs/developer/api-integrations/sms/opt-in-out-handling/#double-opt-in) in our platform documentation. # Containers in Scenes > Containers for Scene content gives you more design flexibility, including separate background settings, nesting support, and pinning to the bottom of a screen on scroll. ![A Scene using containers to organize content](https://www.airship.com/docs/images/whats-new/scene-containers-device_hu_5dd43a13dc789c23.webp) *A Scene using containers to organize content* By default, the screen elements in a [Scene](https://www.airship.com/docs/reference/glossary/#scene) are stacked vertically, and you can drag them into your preferred order. With today's release, you can also place one or more elements in a container and arrange them vertically or horizontally. Additional design options for containers: * Background color, background media, height, width, and margin settings * Multiple containers per screen * Nesting * Pin to the bottom of a screen ## Placing content in a container When editing Scene content, select the **Container** element, and then select another element to add to that container: Button, Button Group, Container, List, Media, Question, or Text. NPS is not supported for containers. You can then set the height, width, and margins. Setting a container's background color or adding background media is identical to setting up a screen's background. Use the breadcrumbs above the content elements to navigate between nested containers and back to the root screen. ## Buttons and pinning content This release also includes a couple changes to buttons and keeping content visible at the bottom of a screen when the user scrolls: * **Single button** — In addition to the Button Group element, now you can add a single button. When using multiple buttons in a screen, add single buttons if you want to place content between them, and use a button group to keep buttons together. * **Pinning to the bottom of a screen** — We removed the Button Group and Text elements option **Fix at bottom on scroll**, because now you can pin any content. First, place content in a container, and then hover over the container and select the pin icon: ![Pinning a container in a Scene](https://www.airship.com/docs/images/whats-new/scene-container-pin_hu_22aaef4534ef1eb0.webp) *Pinning a container in a Scene* You can pin multiple containers on the same screen. For Scenes that had **Fix at bottom on scroll** selected, we moved the Text or Button Group element into a container and pinned it. ## Design options unlocked The addition of containers and the single button element means you can now use these content placements: * Text, images, or any other elements side by side * More than two buttons in a single line * Buttons can appear alongside other content instead of only vertically stacked And those are just a few ideas. Create a new Scene now and get creative. ## Documentation Get all the details in [Content elements](https://www.airship.com/docs/guides/messaging/editors/native/screens/#add-content-elements) and [Container](https://www.airship.com/docs/guides/messaging/editors/native/elements/#container) in *Configuring screens* and *Content elements*. Haven't created one before? Check out [Create a Scene](https://www.airship.com/docs/guides/messaging/in-app-experiences/scenes/create/) for a walkthrough. # Conditional Overrides for Scenes > Use conditional overrides to control the appearance of a Scene based on device sizes and orientation. Sometimes a [Scene](https://www.airship.com/docs/reference/glossary/#scene) that looks great on a phone screen in portrait orientation doesn't deliver the same impact on a tablet in landscape. Using conditional overrides, you can be sure your Scenes display in ways that best represent your content. Using a fullscreen view style as an example, without overrides the Scene is displayed as fullscreen on all devices in any orientation. On a large device, such as a 12.9" iPad Pro, this may be overwhelming. For a better experience, you could add overrides for these display scenarios: * Large device in landscape orientation: Set height and width to 80%. * Large device in portrait orientation: Set height to 60% and width to 70%. These overrides ensure that when viewed on large devices, the Scene is reduced to a comfortable viewing size. ![Set conditional overrides to control how your Scenes are rendered on different devices and in different orientations](https://www.airship.com/docs/images/whats-new/scene-overrides_hu_801328478d14ddf3.webp) *Set conditional overrides to control how your Scenes are rendered on different devices and in different orientations* While creating a Scene, you can use the new [orientation preview tool](https://www.airship.com/docs/guides/messaging/editors/native/about/#preview-tools) to see how your content will appear when a device is rotated: ![Previewing a modal Scene on a tablet in landscape orientation](https://www.airship.com/docs/images/whats-new/overrides-preview_hu_bb505344063ca6f9.webp) *Previewing a modal Scene on a tablet in landscape orientation* You'll also see a minor layout change. Instead of selecting **Settings** or **Screens** when editing a Scene, select the gear or file icon in the left sidebar. ## Documentation To learn how to set up conditional overrides and see device size examples, go to [Scene defaults](https://www.airship.com/docs/guides/messaging/in-app-experiences/configuration/defaults/#scene-defaults) in the *In-App Experience Defaults* docs. # Embedded Content > Embedded Content lets you elevate the customer experience without disruption. Adapt content to market trends, user feedback, and promotional campaigns on the fly. Today's release gives you the ability to insert content blocks anywhere within your app. Your developer defines the content's placement, and you can create and manage the content in the Airship dashboard. You create Embedded Content using the same composer and project settings used for [Scenes](https://www.airship.com/docs/reference/glossary/#scene), so all features available for Scenes are also available for Embedded Content, like rollout capabilities and A/B testing. ![Embedded Content in an app](https://www.airship.com/docs/images/whats-new/embedded-content-app_hu_6361d73b1e914705.webp) *Embedded Content in an app* ## Highlights A few details about Embedded Content: * **A no-code native app experience** — Non-technical teams can tailor experiences to every individual, collect feedback, and incentivize high-value actions. You can embed interactive elements such as video, gifs, surveys and stories. * **Limitless possibilities, without opt-in requirements** — Connect with customers using some of your app's most valuable real estate. * **Better UX control** — Control the copy, imagery, timing, and segmentation of specific content blocks. * **Agility and speed in updates** — Dynamically test and modify without developer support or app updates. * **Experimentation** — Incorporate Airship's robust experimentation into your app by testing modal versus Embedded Content. This is all possible without ongoing developer support. ## Early access ~~Embedded Content is available to those participating in our early access program. Contact your account manager to join. We value your feedback! As an early access participant, your insights are crucial in helping us refine and perfect this feature.~~ *GA release: [August 1, 2024](https://www.airship.com/docs/whats-new/2024-08-01-embedded-content-ga/).* ## Documentation See our developer content for implementation information: * [Android Embedded Content](https://www.airship.com/docs/developer/sdk-integration/android/in-app-experiences/embedded-content/) * [iOS Embedded Content](https://www.airship.com/docs/developer/sdk-integration/apple/in-app-experiences/embedded-content/) We'll be updating our documentation for the Embedded Content general availability release. Until then, get familiar with some Scene features you can use with Embedded Content: * [Story mode](https://www.airship.com/docs/guides/features/messaging/scenes/surveys-stories/#story-mode) * [Controlled rollouts](https://www.airship.com/docs/guides/features/messaging/scenes/rollouts/) * [A/B Tests](https://www.airship.com/docs/guides/experimentation/a-b-tests/scenes/) # Feature Flags and Scene Rollouts for AXP Essentials and Essentials Starter > Feature Flags and Scene Rollouts are now available to AXP Essentials and Essentials Starter customers. If you missed our previous announcements, the following features have been available to our enterprise customers. Today's release expands availability to AXP Essentials and Essentials Starter customers. * **Feature Flags** — A toggle for controlling the availability of content or functionality in your app or website Experiment, test, roll out, and validate new features live without needing a new deployment or app store updates. * **Scene Rollouts** — A method of limiting a [Scene's](https://www.airship.com/docs/reference/glossary/#scene) audience by setting an adjustable percentage Test and validate Scenes with a smaller audience and then gradually increase the audience size. Use this approach to reduce errors and enable quick fixes before broad exposure. Both features are bundled in the *Feature Flags* add-on. Billing is usage-based, and you can use one complimentary flag and rollout per project. ## How to get the add-on AXP Essentials or Essentials Starter plans customers can navigate to the Account Info section by clicking on the profile icon at the top right of the navigation bar in the Airship dashboard. Then select **Manage Add-ons**, and see the new Feature Flags add-on option. If you have an enterprise plan, [contact Airship Sales](https://www.airship.com/contact-us/). See also [What plan do I have?](https://www.airship.com/docs/reference/feature-packages/#what-plan-do-i-have) in our *Feature packages reference*. ## Requirements and documentation Minimum SDK versions: iOS 17.1 and Android 17.1. Get the details about these features and learn how to use them: * [Feature Flag user guide](https://www.airship.com/docs/guides/experimentation/feature-flags/) * [Controlled rollouts](https://www.airship.com/docs/guides/features/messaging/scenes/rollouts/) in *About Scenes* * [Audience](https://www.airship.com/docs/guides/messaging/in-app-experiences/scenes/create/#audience) in *Create a Scene* * [View Feature Flag and Scene Rollout usage](https://www.airship.com/docs/guides/getting-started/admin/usage-payment/#view-feature-flag-and-scene-rollout-usage) Previous *What's New* announcements: * [Feature Flags](https://www.airship.com/docs/whats-new/2023-08-09-feature-flags/) * [Feature Flags for Web](https://www.airship.com/docs/whats-new/2023-09-18-feature-flags-for-web/) * [Messaging Capabilities with Feature Flags](https://www.airship.com/docs/whats-new/2024-01-30-feature-flag-messaging/) * [Controlled Rollouts for Scenes](https://www.airship.com/docs/whats-new/2024-03-14-controlled-rollouts-for-scenes/) # Feature Flag Properties > Properties for Feature Flags increase the flexibility and control of app experiences. Rapidly update your app to respond to and stay ahead of user and business goals and needs. Now you can add properties that can be used by your app's code within a [Feature Flag](https://www.airship.com/docs/reference/glossary/#feature_flag), bypassing the need for traditional code changes and release processes. The flag code you pass on to your development team includes references to the properties. Once implemented, edit the properties in the dashboard to make immediate changes to your app, like variables that can be updated remotely. As a general example, you could create properties for a promotion's title, description, and button URL, then change their values when the promotion ends and a new one launches. ![Setting properties for a Feature Flag](https://www.airship.com/docs/images/whats-new/feature-flag-properties-set_hu_4f6b2086d855ead5.webp) *Setting properties for a Feature Flag* ## Where to set properties When creating or editing a flag, you'll now see a Properties section in the Define step, where you can set a name, type, and value for each property. Properties can be a string, number, boolean, or JSON. When you need to make updates, edit the properties like you can already do for scheduling and audience settings. ## Putting them to work in your app These use cases illustrate some ways you can use properties: * **Coffee mobile ordering app** — Create a flag with properties for controlling the promotions and rewards for loyalty membership. Using just the Airship dashboard, you can transition from pumpkin spice promotions to holiday themes in sync with seasonal campaigns. Celebrate special limited time milestones, such as the app's 10th anniversary, by offering "10x rewards" points. * **Music streaming app** — Create a flag with properties to introduce a new premium subscription tier. Launch the feature to 25% of the audience, with flag properties "Price Point" and "Trial Period Duration" and quickly gauge engagement data and user feedback as users respond to the new tier. Update the properties to fine tune the subscription offer, and roll out the feature to 100% of users once you land on the right details. You can also use a "Promotional Messaging" property to periodically update the copy promoting the new subscription. ## Requirements Feature Flags are available as an add-on to enterprise plans. [Contact Airship Sales](https://www.airship.com/contact-us/) to make changes to your plan. For AXP Essentials or Essentials Starter plans, the add-on will be available at a later date. See also [What plan do I have?](https://www.airship.com/docs/reference/feature-packages/#what-plan-do-i-have) in our *Feature packages reference*. Minimum SDK versions: iOS 17.1 and Android 17.1. ## Documentation See the [Feature Flags user guide](https://www.airship.com/docs/guides/experimentation/feature-flags/). # Wallet Push Notifications > Notify your wallet pass holders using the Wallet Push Notifications API. This release provides day 1 support for [Google Wallet push notifications](https://developers.googleblog.com/en/everything-google-wallet-at-io-24/). Use push notifications to deliver important information to your Apple and Google Wallet pass holders regarding their flight, event, or wallet pass program. For example, you might want to notify pass holders about weather conditions for an event, even when no changes were made to the time or location of the event. Or you might want to alert coupon pass holders that their coupon is set to expire. ## Send, Delete, and Schedule ![A wallet push notification on Android](https://www.airship.com/docs/images/whats-new/google-wallet-pass-notification.webp) *A wallet push notification on Android* You can send notifications using any one of the Push Notifications endpoints across all pass identifiers. **Identifiers for individual passes:** * Pass ID * Pass with external ID **Identifiers for groups of passes:** * Template ID * Template with external ID * Tag * Segment Deleting a notification removes the "Last Notification" field from the back of the pass. It does not remove a push notification that has already been delivered. Use the Schedule an Update or Push Notification endpoint to set a future delivery date and time for a push notification. ## Documentation Get the details in the docs * [Wallet Push Notifications user guide](https://www.airship.com/docs/guides/wallet/user-guide/notifications/push-notifications/) * [API: Push Notifications](https://www.airship.com/docs/developer/rest-api/wallet/operations/push-notifications/) * [API: Schedule an Update or Push Notification](https://www.airship.com/docs/developer/rest-api/wallet/operations/schedules/#scheduleupdate) # Ban Lists > Automatically avoid sending messages to banned users by setting up a Ban List for your Airship project. A Ban List has these components: * **Your record of banned users** — These may be users compiled from "Do not contact me" responses or any other reason to omit them from messaging. You decide the record's format and storage location outside of Airship. Each user must be associated with a [Named User](https://www.airship.com/docs/reference/glossary/#named_user) or [Channel ID](https://www.airship.com/docs/reference/glossary/#channel_id). We recommend Named User since it maps to all Channel IDs associated with a user. * **A connection to your record** — This is in the form of a [webhook](https://en.wikipedia.org/wiki/Webhook) that Airship will use to query your data. * **A Ban List configuration in your Airship project** — You will enter a request URL for the webhook and confirm Airship is authorized to use it for its intended purpose. Once the above items are in place: 1. Airship makes an API call to your webhook for every Channel ID in a message audience. 1. Your webhook checks your record of banned users for matches for each Channel ID. If a match is found, the webhook sends a response telling Airship to drop the matched user. 1. Airship drops the send for each match. Each dropped recipient counts toward the Not Sent count in a message report, and a `SEND_ABORTED` event occurs when a recipient is dropped from our system before delivery is attempted. Additionally, you can set a frequency rate for your requests and also have the option to bypass your Ban List when sending business-critical or otherwise required messages, such as privacy policy update notifications. You can set up one Ban List per project. ~~Ban Lists are not supported for [In-App Automation](https://www.airship.com/docs/reference/glossary/#iaa), [Scenes](https://www.airship.com/docs/reference/glossary/#scene), or [Surveys](https://www.airship.com/docs/reference/glossary/#survey).~~ *Ban List support for in-app experiences was released June 17, 2024.* ## Documentation Get all the details in [Ban Lists](https://www.airship.com/docs/guides/audience/segmentation/ban-lists/). # Feature Flags and Scene Rollouts GA > Feature Flags and Scene Rollouts are now generally available to enterprise customers. If you missed our previous announcements, the following features have been available to customers participating in our special access program. Today's release expands availability to enterprise customers. * **Feature Flags** — A toggle for controlling the availability of content or functionality in your app or website Experiment, test, roll out, and validate new features live without needing a new deployment or app store updates. * **Scene Rollouts** — A method of limiting a [Scene's](https://www.airship.com/docs/reference/glossary/#scene) audience by setting an adjustable percentage Test and validate Scenes with a smaller audience and then gradually increase the audience size. Use this approach to reduce errors and enable quick fixes before broad exposure. Both features are bundled in the *Feature Flags* add-on. Billing is usage-based, and you can use one complimentary flag and rollout per project. ## How to get the add-on If you have an enterprise plan, [contact Airship Sales](https://www.airship.com/contact-us/). ~~For AXP Essentials or Essentials Starter plans, the add-on will be available at a later date.~~ *Add-on release for AXP Essentials and Essentials Starter plans: [June 4, 2024](https://www.airship.com/docs/whats-new/2024-06-04-feature-flags-scene-rollouts-essentials/).* See also [What plan do I have?](https://www.airship.com/docs/reference/feature-packages/#what-plan-do-i-have) in our *Feature packages reference*. ## Requirements and documentation Minimum SDK versions: iOS 17.1 and Android 17.1. Get the details about these features and learn how to use them: * [Feature Flag user guide](https://www.airship.com/docs/guides/experimentation/feature-flags/) * [Controlled rollouts](https://www.airship.com/docs/guides/features/messaging/scenes/rollouts/) in *About Scenes* * [Audience](https://www.airship.com/docs/guides/messaging/in-app-experiences/scenes/create/#audience) in *Create a Scene* * [View Feature Flag and Scene Rollout usage](https://www.airship.com/docs/guides/getting-started/admin/usage-payment/#view-feature-flag-and-scene-rollout-usage) Previous *What's New* announcements: * [Feature Flags](https://www.airship.com/docs/whats-new/2023-08-09-feature-flags/) * [Feature Flags for Web](https://www.airship.com/docs/whats-new/2023-09-18-feature-flags-for-web/) * [Messaging Capabilities with Feature Flags](https://www.airship.com/docs/whats-new/2024-01-30-feature-flag-messaging/) * [Controlled Rollouts for Scenes](https://www.airship.com/docs/whats-new/2024-03-14-controlled-rollouts-for-scenes/) # Custom Layouts for Scenes — Additional Options > Maintain consistent design and branding with reusable layouts for Scenes. Today's release gives you more flexibility and options for [Scene](https://www.airship.com/docs/reference/glossary/#scene) layouts. First of all, now you can create layouts outside of the Scene composer. Go to **Messages**, then **Content**, then **Scene Layouts**, and create layouts alongside [Templates](https://www.airship.com/docs/reference/glossary/#template), [Snippets](https://www.airship.com/docs/reference/glossary/#snippet), and other reusable content. You'll see a list of all the layouts in your project, plus new options to manage your layouts: * **Editing** — Now you can edit a layout's content, name, and description. * **Duplication** — Make a copy of any custom layout. ## Documentation Get the details in [Creating custom content layouts](https://www.airship.com/docs/guides/messaging/editors/native/custom-layouts/) in *Configure Scene content*. # Campaign Categories in Holdout Experiments > Better assess the effectiveness of targeted campaigns by using a Holdout Experiment to exclude specific messages. Allow specific messages to ensure sending required content to holdout group members. A Holdout Experiment measures the effects of excluding a group of audience members from messaging. You can compare the performance of the two audience groups in reports for selected goal events. Today's release gives you two new options when configuring your experiments: ![Configuring a Holdout Experiment](https://www.airship.com/docs/images/holdout-experiment-campaign-categories_hu_62cd312f090b1fa8.webp) *Configuring a Holdout Experiment* 1. **Withhold by Campaign Category** — Instead of withholding all messages from holdout group members, withhold only messages with specific [Campaign Categories](https://www.airship.com/docs/reference/glossary/#campaign_categories). For example, retailers could exclude `purchase_journey` campaigns to learn how their onboarding, abandoned cart, product rating requests, and other purchase-related messages impact conversion rates. After setting the holdout group percentage, choose to withhold by Campaign Category, then enter a category and select its name below the entry field. Repeat for additional categories. 1. **Allow by Campaign Category** — If your experiment is set to withhold all messages, you can allow messages with specific Campaign Categories. This flexibility helps ensure your business-critical or other required messages still reach your intended audience. You can also pair it with the existing option to allow transactional messages. Under **Allowances**, select **Campaign Categories** and add categories as described above for withholding by Campaign Category. When creating messages, you can set Campaign Categories per message using the dashboard or API. ## Requirements and documentation Minimum SDKs required for [In-App Automation](https://www.airship.com/docs/reference/glossary/#iaa), [Scenes](https://www.airship.com/docs/reference/glossary/#scene), and [Surveys](https://www.airship.com/docs/reference/glossary/#survey) only: iOS 17.2.0, Android 17.2.0. Get all the details in our [Holdout Experiments](https://www.airship.com/docs/guides/experimentation/holdout-experiments/) docs and start experimenting! 🥽 🥼 🧪 # Email HTML Minification and Plain Text Generation > Improve email deliverability by reducing message size with HTML minification. Save time and avoid errors by automatically generating plain text versions of your HTML content. These options are available when creating email content in messages and [Templates](https://www.airship.com/docs/reference/glossary/#template) in the WYSIWYG editor. ## Plain text generation ![Options for saving HTML and generating plain text](https://www.airship.com/docs/images/whats-new/generate-plain-text_hu_9cae8f9f983d0aaa.webp) *Options for saving HTML and generating plain text* Skip the tedious process of creating plain text versions of your email messages. Let Airship do it! When adding or editing the HTML body, after selecting **Done**, select the option to save your HTML and generate plain text. Your HTML content, including links, is converted and populated into the **Plain text body** field. You can then edit the plain text version as needed. ## HTML minification ![Enabling Minify HTML in Settings](https://www.airship.com/docs/images/whats-new/minify-html_hu_5f95d39d189d9979.webp) *Enabling Minify HTML in Settings* Reducing message size can help with deliverability and avoiding message truncation by email clients. Instead of depending on third-party tools, now you can reduce your HTML in the WYSIWYG editor. Select **Settings** in the sidebar, and then enable **Minify HTML**. When applying the setting to an existing message, you do not need to change anything else in the message before saving. You can request enabling **Minify HTML** by default for all new messages and templates. [Contact Support](https://support.airship.com) and include your project App Key, which you can copy from **Settings**. ## Documentation Learn about [Email content](https://www.airship.com/docs/guides/messaging/messages/content/email/email/), [Templates](https://www.airship.com/docs/guides/personalization/content/templates/), and the [WYSIWYG editor](https://www.airship.com/docs/guides/messaging/editors/interactive/about/). # Controlled Rollouts for Scenes > Gradually roll out your Scenes so you can effectively manage feedback volume, server constraints, or other concerns. For example, retailers might put controlled rollouts to work when announcing a new loyalty program or sales offers. Start with a limited audience, then increase it as your customer service team adapts to the changed workflow or as you add staff to handle the increased workload. Controlled rollouts are part of our [Feature Flags](https://www.airship.com/docs/reference/glossary/#feature_flag) release, which is currently available to customers participating in our special access program. The following information is a preview for all customers. ## How it works When configuring a Scene's audience: 1. Select **All Users** or **Target Specific Users**. 1. Enable **Audience Allocation** and then set a percentage. The percentage applies differently, depending on your audience selection. For example, with an allocation of 10%: * When targeting all users, 10% of your total number of users are included in the audience. * When targeting specific users, 10% of the users who meet the set conditions are included in the audience. Audience members are randomly selected. You can change the percentage at any time. ![Allocating an audience percentage in a Scene](https://www.airship.com/docs/images/whats-new/audience-allocation-scenes_hu_6cfda859c408193.webp) *Allocating an audience percentage in a Scene* ## Requirements and documentation ~~This feature is available to Airship customers participating in our [Feature Flags](https://www.airship.com/docs/reference/glossary/#feature_flag) special access program. *[Sign up here](https://www.airship.com/lp/special-access-feature-flags)*~~ *GA release: [April 30, 2024](https://www.airship.com/docs/whats-new/2024-04-30-feature-flags-scene-rollouts-ga/).* It also requires minimum SDK versions iOS 17.1 and Android 17.1. See [Controlled rollouts](https://www.airship.com/docs/guides/features/messaging/scenes/rollouts/) in *About Scenes* for all the details. # OAuth 2.0 Authorization Support > Use OAuth 2.0 authorization for improved security and more control over credential permissions. [OAuth 2.0](https://oauth.net/2/) is an authorization framework you can use to provide secure, limited access to the Airship API. Instead of providing a single string like with Basic Auth or Bearer Token authorization, you regularly fetch short-lived bearer tokens to use in your API calls. This method provides better security than Basic Auth and Bearer Token since, in the event of the tokens becoming public, they can only be used for a short time before they expire. Another benefit is control of permissions. Instead of broad access to the API, you select one or more scopes that define which endpoints and operations are authorized for the tokens, and you can edit them at any time. ## Workflow Getting an OAuth 2.0 token is a two-step process. Put simply, first you create client credentials in your Airship project settings, then you use the credentials to request tokens to use in your API calls. Need more details? Here you go: 1. **Create client credentials** in your Airship project settings and specify the scope of permissions to authorize for issued tokens. You can also specify an expiration date and time for the credentials or revoke them later. 1. **Request a token** using the credentials. In your request, you can restrict a token to specific permission scopes and/or IP addresses. We built the new OAuth API for requesting tokens and verifying keys. 1. **Refresh the token** before it expires. Keep refreshing until it is no longer needed, or revoke the credentials in the dashboard if you want to disallow further token requests. An additional important detail about OAuth 2.0 authorization is that you must use different base URLs than Basic Auth and Bearer Token authorization. ## Documentation Go to [Airship API Security](https://www.airship.com/docs/guides/getting-started/developers/api-security/) to learn about OAuth 2.0 and client credentials. In the API reference, see: * [Base URLs for OAuth authentication](https://www.airship.com/docs/developer/rest-api/ua/introduction/#servers) in the *Base URLs* section * [HTTP Authentication: Basic Auth (OAuth)](https://www.airship.com/docs/developer/rest-api/ua/introduction/#security) in the *Authentication* section * [OAuth Authentication: OAuth 2.0](https://www.airship.com/docs/developer/rest-api/ua/introduction/#security) in the *Authentication* section * [OAuth API](https://www.airship.com/docs/developer/rest-api/ua/operations/oauth/) # Custom Layouts for Scenes > Error-proof your Scenes' look and feel by creating custom layouts that match your brand's design system. Maintain consistent message design and branding by saving configured content as a reusable layout. When creating a new [Scene](https://www.airship.com/docs/reference/glossary/#scene), you can select from your custom layouts then edit for the current campaign. You can even create a Scene using a default layout, edit the content, then save it as a custom layout. Create a layout at any point in the Content step: 1. Select **Save as layout**. 1. Enter a name and description. 1. Select **Save**. You can then delete the current Scene or complete its configuration. Either way, you can select your saved layout as a content starting point the next time you create a Scene. ## Documentation Get the details in [Creating custom content layouts](https://www.airship.com/docs/guides/messaging/editors/native/custom-layouts/) in *Configure Scene content*. # JSON Attributes > Improve message relevancy and personalization using JSON Attributes. This Attribute type can store complex user data in the structure you choose. From the team that brought you such hits as Text, Number, and Date Attributes, we present...JSON Attributes! JSON Attributes are data objects containing one or more key-value pairs and arrays. A JSON object allows for nested objects and arrays, so it can contain an array of properties, and those properties can themselves be objects containing more properties and arrays of properties...😴 What we're saying is, you can reach [Inception](https://www.youtube.com/watch?v=Jvurpf91omw) levels of data complexity and store it all as a single Attribute. Think of them as collections of information you can assign to a user. Then what? Personalize message content using the data! Segment your audience! Go nuts! Example use cases: * **Retailer** — Store user preferences and send sale or discount messages about items you know a user will be interested in and with personalized content for their preferred brands, colors, etc. * **Airline** — Store a user's booking information and send confirmation and update messages leading up to, during, and after their trip. Messages would contain their confirmation code, flight numbers, origin and destination airport codes, and departure and arrival times. ## Documentation For setup and usage information, see [JSON Attributes](https://www.airship.com/docs/guides/audience/attributes/about/#json-attributes) in *About Attributes*. Also check out the rest of the Attributes docs to learn how to use them for your messaging programs: * [About Attributes](https://www.airship.com/docs/guides/audience/attributes/about/) * [Adding Attributes to your project](https://www.airship.com/docs/guides/audience/attributes/adding/) * [Setting and removing Attributes](https://www.airship.com/docs/guides/audience/attributes/setting/) * [Targeting your audience using Attributes](https://www.airship.com/docs/guides/audience/attributes/targeting/) * [Personalizing messages using Attributes](https://www.airship.com/docs/guides/personalization/sources/attributes/) # Enhanced Email Performance Reporting > New email performance metrics help you assess campaign effectiveness, identify areas for improvement, and make data-driven decisions. These reporting updates are a direct result of feedback from Airship customers. ~~They are still in development and currently available to customers who participated in discovery sessions and responded to surveys. The following information is a preview for all customers.~~ *GA release: May 31, 2024.* ## Email performance metrics Select the **Messages** menu, then **Messages Overview**, then select the report icon ( ) for an email message. The report will load with the new metrics in the **Email Performance** section, and you can select the **Legacy Email Performance** tab to see the older metrics: ![An email message report with new performance metrics](https://www.airship.com/docs/images/whats-new/email-message-report-performance_hu_f6b6d27a3737a7f6.webp) *An email message report with new performance metrics* The new metrics currently use data from [Performance Analytics](https://www.airship.com/docs/reference/glossary/#pa). Due to the different data sources and processing methods, they may not always match the legacy metrics. Additional differences: * **Availability** — All accounts that include email have access to the legacy metrics. For the new metrics, Performance Analytics data availability is determined by [your Airship billing plan](https://www.airship.com/docs/reference/feature-packages/). Customers on the PA3 plan have access to a maximum of three months' data. If a message was sent more than three months ago, the new metrics will not include its data. * **Deleted channels** — When an email channel is deleted, its associated email event data is removed from Performance Analytics. Legacy metrics are not affected by this, but there may be an impact on the new metrics. * **Latency** — The legacy metrics are populated in near real time, so they can provide immediate insight into the progress of your email sends. Data loaded from Performance Analytics is subject to a delay. # App Health Dashboard > App health reports give you meaningful metrics for evaluating the success of your app. No data analyst? No problem. The App Health dashboard tells you about your users at each stage of the mobile app lifecycle and can help you gauge overall program performance. ## Dashboard walkthrough Select the **Reports** menu, then select **App Health**. Select a lifecycle stage in the sidebar and check out the reports: * **Acquisition** — Installs, uninstalls, and net gain show how your audience is growing. * **Activation** — View the daily active user count and activation rates for users who installed your app within the last 30 days. View opt-in rates for both push notifications and specific [Subscription Lists](https://www.airship.com/docs/reference/glossary/#subscription_list) for your entire app audience. * **Engagement** — Learn about your active users and their app sessions. Daily, weekly, and monthly counts, engagement score, engagement with app messages, and more. App session reports show how many sessions are happening, when, and for how long. * **Loyalty** — View opt-in and retention rates over the last 90-120 days. ![App Health dashboard](https://www.airship.com/docs/images/whats-new/app-health-dashboard-acquisition_hu_3cbcfcd325013038.webp) *App Health dashboard* The last report in Engagement and Loyalty displays a daily count of all [Custom Events](https://www.airship.com/docs/reference/glossary/#custom_event) over the last 90 days, with a 7-day smoothed average. Enter an event name to filter the report for relevant events you'd like to measure. The same report is also in Activation, pre-filtered for Custom Events containing "login" in the name. ![Custom Event reporting](https://www.airship.com/docs/images/whats-new/app-health-dashboard-custom-events_hu_6f8778c7fd3e10ee.webp) *Custom Event reporting* For report definitions, hover over a report, then hover over the question mark ( ) icon. To download, hover over a report, select the download icon, then save as a CSV or TXT file. ## Requirements The App Health dashboard requires [Performance Analytics](https://www.airship.com/docs/reference/glossary/#pa), which is included in all [current AXP plans](https://www.airship.com/docs/reference/feature-packages/). Non-enterprise customers can [upgrade to AXP Essentials](https://www.airship.com/docs/guides/getting-started/admin/company-plan/#changing-your-airship-plan) in the dashboard. To upgrade to AXP Enterprise or add Performance Analytics to another enterprise plan, [contact Airship Sales](https://www.airship.com/contact-us/). If a project does not contain Custom Events or Subscription Lists, reports for that data will not appear. Reports that require data older than 90 days will not appear for accounts without 13 months' retention for Performance Analytics. # Messaging Capabilities with Feature Flags > Maximize feature adoption by creating messaging campaigns for Feature Flag audiences and triggering surveys for users based on interaction with the feature. A Feature Flag is a toggle for controlling the availability of content or functionality in your app or website. Today's release gives you ways to message users based on their access to and interaction with flagged features. ## Audience Use a flag's audience as the audience for an [In-App Automation](https://www.airship.com/docs/reference/glossary/#iaa) or [Scene](https://www.airship.com/docs/reference/glossary/#scene). In the composer's Audience step, select **Feature Flag Audience**, then search for and select a flag: ![Selecting a Feature Flag for a message audience](https://www.airship.com/docs/images/whats-new/feature-flag-audience_hu_c4bc3bf0d9d26006.webp) *Selecting a Feature Flag for a message audience* ## Trigger Trigger an In-App Automation, Scene, or [Sequence](https://www.airship.com/docs/reference/glossary/#sequence) when a Feature Flag interaction event occurs. This requires tracking user interaction in your app or website. While it is called an "interaction" event, what you track is up to you and depends on the feature. For example, you might want to track a screen view instead of a literal interaction like selecting a button. Configure the trigger in the Behavior step in the In-App Automation or Scene composers or from the [Journey Map](https://www.airship.com/docs/reference/glossary/#journey_map) for an In-App Automation, Scene, or Sequence: 1. Search for and select a flag. 1. Select who can trigger the In-App Automation, Scene, or Sequence: * **Users with feature access** — These are members of the Feature Flag audience. When using the same flag for Audience and Trigger, you can only trigger for this group of users. * **Users without feature access** — These users are not members of the Feature Flag audience. 1. Enter the number of times the event must occur before the message is triggered. ## Putting them to work in your campaigns This example is for feature rollout in an app. Your developer would implement tracking when users view the screen containing the new feature. Your campaign strategy could look like this: 1. **Inform users of the new feature** — Create an In-App Automation or Scene for the **Feature Flag Audience**, and use the **App Update** trigger to determine when to display your message after users install the version of your app that contains the feature and flag code. 1. **Trigger a survey for users who have interacted with the feature** — Create a Scene with questions or an NPS survey for the **Feature Flag Audience**, and use the **Feature Flag Interaction Event** trigger to specify when to display the message for users who have interacted with the feature. Have a broader use case? Design a [Journey](https://www.airship.com/docs/reference/glossary/#journey) that combines the above with a Sequence that follows a user's interaction with the flagged feature and sends a customized message for each key step along the way. ## Requirements and documentation Feature Flags for apps require minimum SDK versions iOS 17.1 and Android 17.1. See the [Feature Flag user guide](https://www.airship.com/docs/guides/experimentation/feature-flags/) for all the details. > **Important:** ~~Feature Flags are available for Airship customers participating in our special access program. *[Sign up here](https://www.airship.com/lp/special-access-feature-flags)*~~ *GA release: [April 30, 2024](https://www.airship.com/docs/whats-new/2024-04-30-feature-flags-scene-rollouts-ga/).* # FCM HTTP v1 API Support > Airship now supports Android apps using the Firebase Cloud Messaging HTTP v1 API. Google's Firebase Cloud Messaging (FCM) HTTP v1 API replaced their Cloud Messaging API, which will be removed by Google in ~~June~~ July 2024 *[Google updated the shutdown date to July 22, 2024. See [How and when will the deprecated APIs be shut down?](https://firebase.google.com/support/faq#deprecated-api-shutdown) in Google's Firebase documentation.]* FCM uses token-based authentication instead of server key, so you must update your Airship project's channel configuration. ~~First, [contact Airship Support](https://support.airship.com/) or your account manager to request enabling token-based authentication for your project.~~ *[Token-based authentication was enabled for all projects in February 2024.]* Once enabled, you will see an updated configuration page for the Android channel in your project settings. Token-based authentication will be enabled for all Airship projects in February 2024. For setup steps and additional information about the authentication methods, see [Android channel configuration](https://www.airship.com/docs/guides/getting-started/developers/configure-channels/#android-channel-configuration) in *Configure Channels*. For more about the move to the FCM HTTP v1 API, go to the [FAQ](https://www.airship.com/docs/guides/getting-started/developers/configure-channels/#fcm-http-v1-api-faq) on the same page. # SMS Forwarding Senders > Maintain regulatory compliance by using an SMS forwarding sender. Each SMS message has an associated sender ID, which is an originating phone number or string identifier used to indicate who an SMS message comes from. Members of your audience subscribe (opt in) to each sender ID they want to receive messages from. Alpha codes have become a common sender type for SMS marketers throughout the world, however they are a one-way sender, so cannot receive inbound SMS (mobile originating, or MO) messages. This can be a problem for brands required to maintain regulatory compliance with SMS keywords. For example: STOP, HELP, CONTACT. You can maintain compliance by forwarding messages from a two-way sender to an alpha sender. See [SMS Senders](https://www.airship.com/docs/developer/api-integrations/sms/senders/) to learn about the various sender types and how message forwarding works for alpha senders. # Design Properties for Scenes — Additional Properties > More design properties you can use to customize Scenes. [Scenes](https://www.airship.com/docs/guides/features/messaging/scenes/scenes/) are multi-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. Today's release gives you four additional ways to control the appearance of your Scenes. And good news: No SDK update is required. ## Margins Now you can set the spacing width between an element and the Scene edges and its proximity to other elements. **Docs:** [Design property field reference](https://www.airship.com/docs/guides/messaging/editors/native/design-properties/) in *Configure Scene content* ## Media fit You'll see a new Fit property when configuring the List element and background media. This property resizes media to fit within a viewable area, maintaining the original image aspect ratio. You have two options: * **Center inside** resizes the media to fit entirely within the viewable area. The width and height of the image will be equal to or less than the width and height of the view. The image will not be cropped. * **Center crop** resizes the media to fill the viewable area. The width and height of the image will be equal to or greater than the width and height of the view. The sides or top and bottom of the image will be cropped to fill the entire view. For Lists, the viewable area is the bullet for each item in a list. For background media, the viewable area is the entire screen as determined by the selected view style. **Docs:** [Background color and media](https://www.airship.com/docs/guides/messaging/editors/native/screens/#set-background-color-and-media) and [Design property field reference](https://www.airship.com/docs/guides/messaging/editors/native/design-properties/) in *Configure Scene content* ## NPS scale Now you can style the appearance of the 0-10 scale separately from the other text in the NPS element. You can also style different versions for the selected and unselected states. Properties: * Font family * Font size * Color * Emphasis * Background color * Border color * Border radius **Docs:** [Design property field reference](https://www.airship.com/docs/guides/messaging/editors/native/design-properties/) in *Configure Scene content* ## Fix at bottom on scroll Previously, you had the option to keep a Button Group visible at the bottom of the screen when the user scrolls. Now you do the same for the Text element. You might want to use this as a link to your privacy policy. **Docs:** [Configuring content elements: Text](https://www.airship.com/docs/guides/messaging/editors/native/elements/#text) in *Configure Scene content* # Design Styles for Scenes > Define reusable styles for Scene design elements to accelerate content creation while maintaining consistent branding. If you're new to Scenes, this should be a smooth ride. If not, the main thing to know is that Scenes no longer share default settings with other in-app experiences. You still set default colors for the background and the dismiss button, but all other background, text, and button settings are handled by styles. In addition, you can now set indicator colors. ## Custom view, text, and button styles Instead of only Modal or Fullscreen options, now you can create custom view styles. You can also create your own text and button styles! Even better, you no longer have to set up multiple text and button defaults for Modal then repeat them for Fullscreen. ![Configuring default settings for Scenes](https://www.airship.com/docs/images/whats-new/scene-defaults_hu_1f979794b257d87d.webp) *Configuring default settings for Scenes* How it works: 1. Add a style in your Scene defaults, giving it a name and defining its properties. For example, view style properties are height, width, and position (top, middle, or bottom). 1. Select the style by name when configuring individual Scenes. If you are thinking, "Hey, that's how [Color Sets](https://www.airship.com/docs/reference/glossary/#color_set) work," you are correct. ### Previewing defaults When configuring defaults, you can select a view style for the device preview. We also added previews of your text and button styles. ### Presets and migration All new projects contain style presets that you can rename, customize, and remove. For example, the view style presets are Modal and Fullscreen. For existing projects, we duplicated your In-App Automation and Survey text and button settings so you wouldn't have to start from scratch. ## Indicator colors Set default colors for the dots that indicate the number of screens and their active/inactive state in a multi-screen Scene. You can set separate Active and Inactive colors. When Story mode is enabled, the progress bar that indicates the number of screens and their remaining duration is displayed using the Inactive color. ## Overriding default settings We didn't change this. You can override any default setting per Scene. For text and button styles, you can override individual properties. ## Navigation and layout changes You still access your defaults by going to **Settings**, then **Mobile Apps**, then selecting **Manage** for **In-App Automation, Scenes, and Surveys**. But once you get there, you'll see we added a sidebar and moved some things around. Previously, we had Design, Colors, Fonts, and Advanced Options tabs. Here's where they are in the new layout: | Sidebar section | Tabs | What's different | | --- | --- | --- | | **General** | **Colors**, **Fonts**, **Advanced Options** | Not a thing. Super boring. Check out the new stuff instead. | | **In-App Automation** | Banner, Modal, Fullscreen, HTML | Everything you used to do on the **Design** tab you do here instead. Modal and Fullscreen settings still apply to Surveys1. | | **Scenes** | Background, Text, Buttons | **This is the new stuff!** Go here to set up your indicator colors and view, text, and button styles. There are also default color settings for the background and the dismiss button. They aren't new, they are just separate from In-App Automation and Survey defaults now. | 1. All Survey functionality is available in Scenes. Start using Scenes instead so you can do things like create multi-screen surveys and provide users with preliminary information before presenting questions. Plus, more design options! ## Requirements and documentation Scenes are an [AXP](https://www.airship.com/docs/reference/feature-packages/) feature. All Airship customers with access to In-App Automation will see the new layout for default settings, but the Scenes section and new features are limited to those with access to Scenes. Minimum SDK required for non-fullscreen view styles only: Android 17.4.1. iOS does not require an SDK update. Check out the docs to learn more about defaults, see reference tables for what can be configured and where, and step-by-step instructions. Not familiar with Scenes yet or want to know all the options when setting one up? We've got that too. * [In-App Experience Defaults](https://www.airship.com/docs/guides/messaging/in-app-experiences/configuration/defaults/) * [About Scenes](https://www.airship.com/docs/guides/features/messaging/scenes/scenes/) * [Create a Scene](https://www.airship.com/docs/guides/messaging/in-app-experiences/scenes/create/) # Design Properties for Scenes > Customize individual screen elements with design properties in Scenes. [Scenes](https://www.airship.com/docs/guides/features/messaging/scenes/scenes/) are multi-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. Previously, you could override your project-level design defaults per screen. Now, you can override the defaults for each element in a screen: Button Group, List, NPS, Question, Text. The Media element does not have design settings. ## Design properties When designing screens, the right side sidebar displays design overrides for the selected screen only. To change the design properties for an individual element (Text, List, Button Group, etc.), click and select ** Edit**. The sidebar will update with options for that element. For all elements except Media and Button Group, first select from the default Header, Body, and Footer text styles defined for Modal and Fullscreen messages. You can then override their properties: * *Font family* * *Font size* * *Color* * *Alignment* * *Style* For the Button Group element, first select from your default button styles defined for Modal and Fullscreen messages, then override properties: * *Background color* * *Border color* * *Border radius* * *Font family* * *Font size* * *Text color* * *Text style* Get the details in the docs: [Create a Scene: Content: Design](https://www.airship.com/docs/guides/messaging/editors/native/design-properties/). ## Text links We also expanded the use of links for text. Before, when configuring the Text element, you could only make the Footer style function as a link, selecting the Web Page, Deep Link, or Adaptive Link action. Now, you can add those actions to any Text element. Learn how: [Create a Scene: Screen elements: Text](https://www.airship.com/docs/guides/messaging/in-app-experiences/configuration/button-actions/). # Improved Email Suppression Automation and Contact Management > More intelligent email channel suppression ensures that your transactional messages get through. Self-serve access for removing channel suppression saves you time and puts you in control. ## Email Suppression We refined email suppression automation for transactional messages and added the ability to override email suppression status for individual channels. **Previously**, when a recipient marked a [Commercial Email](https://www.airship.com/docs/reference/glossary/#commercial_email) as spam, they would be automatically suppressed by setting their email channel's `suppression_state` value to `spam_complaint`. This opted their email channel out of *all* email messaging, even [Transactional Email](https://www.airship.com/docs/reference/glossary/#transactional_email), and you would need to contact Airship support to resolve delivery issues **With today's release**, when a recipient marks a commercial email as spam, we set their channel's `suppression_state` value to `commercial_spam_complaint`. They will continue to receive transactional email (if opted in) while remaining opted out of commercial email. We added self-service methods for removing suppression: * **Dashboard** — Go to *Audience » Contact Management*, search for an email channel, and click to see details. If suppressed, you'll see a **Remove suppression** button and can click to see the specific complaint. * **New API endpoint** [`/api/channels/email/unsuppress`](https://www.airship.com/docs/developer/rest-api/ua/operations/email/#unsuppressemailchannel) After removing suppression, you must opt the channel back in to messaging before they can receive email from you again. ## Contact Management We also expanded access to Contact Management. Now you can: * Change opt-in status for SMS * Change opt-in and tracking status and remove suppression for Email * Delete named users and channels ## Documentation Head to the [Email Bounce Handling and Suppression](https://www.airship.com/docs/developer/api-integrations/email/bounce-handling/) and [Contact Management](https://www.airship.com/docs/guides/audience/contact-management/) docs to get all the details. # Additional Default Events for Goals > Create a Goal based on a default event and track daily counts, counts per channel, frequency, and more. Then make adjustments to your marketing strategies for improvement. Goals are selected events that generate a set of performance reports. They are also used for measurement in [Holdout Experiments](https://www.airship.com/docs/reference/glossary/#holdout_experiment). You can create goals based on predefined and custom events in your project, and [in August](https://www.airship.com/docs/whats-new/2023-08-30-app-open-goals/) we added support for a default event: App Open `app_open`. Today's release adds support for five more default events: * **First Open** `first_open` — User opened your mobile app for the first time. * **First Seen** `first_seen` — User opted in to notifications or opened your mobile app for the first time. * **First Opt In** `first_opt_in` — User opted in to a channel for the first time. For Email (commercial), SMS, and Open channels only. * **Uninstall** `uninstall` — User uninstalled your mobile app in response to a push. * **Web Session** `web_session` — User generated a [web session](https://www.airship.com/docs/reference/glossary/#web_session). Unlike custom and predefined events, you do not need to add default events to your project before selecting them for goals. ## Requirements and documentation *As of November 15, 2023, [Performance Analytics](https://www.airship.com/docs/reference/glossary/#pa) is included in all [AXP plans](https://www.airship.com/docs/reference/feature-packages/#data).* ~~The Goals feature requires Performance Analytics. [Contact Airship Sales](https://www.airship.com/contact-us/) to add it to your Airship plan.~~ Learn how to create [Goals](https://www.airship.com/docs/guides/reports/goals/) and [Holdout Experiments](https://www.airship.com/docs/guides/experimentation/holdout-experiments/) and view their reports. # Feature Flags for Web > Use feature flags to control the availability of content or functionality on your website, without deploying new code. Our initial release of feature flags was for mobile apps. Today's release adds support for websites. The format of a feature flag is a conditional *if* statement you add to your website code. It contains your flag name and wraps around the website code you want the flag to control. After adding the flag to your website, you can manage the feature's audience and schedule from the Airship dashboard. If something unexpected happens with the feature, or if you have reason to end access before its scheduled end time, you can turn it off for all users instantly, without having to update your website code. Use feature flags for: * **Premium features** — Provide premium feature access only to paid users based on membership tiers. * **Phased releases** — Release features to segments of your audience over time to prevent a strain on resources, such as database queries, support tickets, or limited initial product supply. * **Time-limited promotions** — Turn on and off features that are meant to be time-restricted, manually or using an automated schedule, such as displaying a promotional banner only during a sale weekend. * **Testing** — Test features with a small segment of your audience before releasing the feature to the rest of your audience. ## Workflow The following is the general workflow for using feature flags. 1. **Create a flag in the dashboard**, defining: * A display name and description for the dashboard * A flag name for reference in your website code * Audience — When creating a flag, you can set your audience to members of a [Test Group](https://www.airship.com/docs/reference/glossary/#preview_test_groups). When you are ready to go live, set a percentage of your total audience that will be able to view the feature determined by the flag. You can also set conditions audience members must meet in order to experience the feature the flag controls. * Scheduling — You can create open-ended or time-bound flags, starting immediately or at a scheduled time and date. 1. In the Review step when creating the flag, **copy the code snippets and docs link, then give them to your developer**. 1. **Add the flag to your website.** This step is usually performed by a developer. After you update your website with the flag code, the feature will be available to the configured audience the next time they visit the site, according to the flag's schedule. Manage the flag from the Airship dashboard. ## Requirements and documentation > **Important:** ~~Feature Flags are available for Airship customers participating in our special access program. *[Sign up here](https://www.airship.com/lp/special-access-feature-flags)*~~ *GA release: [April 30, 2024](https://www.airship.com/docs/whats-new/2024-04-30-feature-flags-scene-rollouts-ga/).* Get all the details in the [user guide](https://www.airship.com/docs/guides/experimentation/feature-flags/). # Enhanced Previews for Scenes — Additional Features > More preview options for Scenes makes content creation and testing easier and more reliable. [*Scenes*](https://www.airship.com/docs/guides/features/messaging/scenes/scenes/) are multi-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. A preview of a Scene updates as you design its content. Today's release gives you three more ways to enhance previews. ## Personalized content Scene previews now display the default values for [personalized content](https://www.airship.com/docs/guides/personalization/about/) instead of the logic as entered in text fields. We also added support for previewing personalization by entering your own JSON sample data or by selecting a [Preview Group](https://www.airship.com/docs/reference/glossary/#preview_test_groups) user. The *Preview Data* option appears alongside the other preview tools when editing screens: ![Preview tools in Scenes](https://www.airship.com/docs/images/whats-new/scene-previews_hu_f426c89e0c490e68.webp) *Preview tools in Scenes* **Docs:** [Previewing Personalized Content](https://www.airship.com/docs/guides/personalization/previewing/) ## Text scaling for accessibility Above Scene previews, you'll now see the text scale tool. You can set a scale between 70% and 200% of the current text size to display how the content will appear on devices using text size accessibility features. **Docs:** [Create a Scene: Preview Tools](https://www.airship.com/docs/guides/messaging/editors/native/about/#preview-tools) ## Custom fonts Set a web font URL for the first font in each of the font stacks in your design defaults, and the font will be rendered in Scene previews. **Docs:** [In-App Experience Defaults: Adding Custom Fonts](https://www.airship.com/docs/guides/messaging/features/brand-guidelines/#fonts) # iOS 17 Support > Airship provides day 1 support for iOS 17. Apple revealed all the new features and updates to iOS at [WWDC23](https://developer.apple.com/wwdc23/) in June. Since then, our Mobile team has been hard at work testing our SDK to ensure all of our existing functionality works on iOS 17, as well as exploring how to add support for its new capabilities. This year brings a number of updates to iOS, including: * New privacy features — Privacy manifests, SDK signatures, and more * Interactive Live Activities * Accessibility updates ## Privacy Manifests and Required Reason APIs **Privacy manifests** are a new way for third-party SDK developers to provide information about their privacy practices to app developers. The manifest provides information about how the SDK collects and uses data, including information about the types of data collected, the purpose of collecting said data, and whether it is used to track the user or is otherwise tied to their identity. Apple also made changes to their list of **Required reason APIs** to further protect user privacy. These are considered more sensitive than other APIs, so developers (including third-party SDK developers) are required to declare the reason why they are using a specific API in their privacy manifest file. If an app uses a required reason API and does not declare the reason in their privacy manifest, they will not be able to submit their app to the App Store. Requiring developers to declare the reason why they are using one of these APIs helps Apple ensure they are not being used for harmful purposes such as fingerprinting. There are a variety of approved reasons for using APIs that fall into this category. --- Using Xcode 15+, all privacy manifests in an app and its third-party SDKs automatically roll up into a single **privacy report**. The report provides a full list of the required reason APIs. This is important information for the app developer, as this report can then be used to fill out Apple’s [Privacy Nutrition Labels](https://www.apple.com/privacy/labels/). --- Apple will be publishing a list of privacy-impacting SDKs (third-party SDKs that have particularly high impact on user privacy) that will require providing a privacy manifest. Typically, this includes ad networks, so we do not expect Airship to appear on this list. However, with our focus on data privacy, we believe it is important that we support our customers in making it as easy as possible to disclose all of the data collection practices of your app to your users so will include our own privacy manifest in SDK 17.3.0 and above. For apps using an SDK version older than 17.3.0, refer to the *Required reason API usage* section of our [privacy manifest documentation](https://www.airship.com/docs/reference/data-collection/apple-privacy-manifest/) when creating an Apple privacy manifest. This document covers Airship's privacy manifest and data collection information as related to Apple's privacy manifest, plus direct links to related Apple documentation. ## SDK signatures We also added support for iOS 17's **SDK signatures**, which are digital signatures used to verify the authenticity of third-party SDKs. When an SDK is installed, Xcode verifies the signature of the SDK. SDK signatures can help ensure developers are installing the SDKs they expect, not malicious or tampered-with SDKs. ## Interactivity for Live Activities [Live Activities](https://www.airship.com/docs/reference/glossary/#live_activity) can now be much more interactive and drive more engagement with **support for buttons and toggles**. Keep these new functionalities in mind as you design and develop Live Activities for your brand. Use cases: * Checking in at a restaurant from a Live Activity counting down to a reservation time * Checking in at a retail store for a curbside order pickup * Directing a user to live games or replays from a Live Activity tracking the score of a game * Counting down to a ticket sale and including a purchase button directly in the Live Activity No changes are required in the Airship SDK to support buttons and toggles. ## Airship support Update your app to SDK 17.3.0 to take advantage of iOS 17 features. We always recommend keeping up with SDK releases to stay current with enhancements and fixes. Releases as of SDK 17.0.0 include: * [Stories](https://www.airship.com/docs/guides/features/messaging/scenes/surveys-stories/#story-mode) * [Feature Flags](https://www.airship.com/docs/reference/glossary/#feature_flag) * [Holdout Experiments](https://www.airship.com/docs/reference/glossary/#holdout_experiment) * Downstream in-app experiences in [Journeys](https://www.airship.com/docs/reference/glossary/#journey) ## Resources * Airship * [iOS platform documentation](https://www.airship.com/docs/developer/sdk-integration/apple/) and [iOS SDK Setup](https://www.airship.com/docs/developer/sdk-integration/apple/installation/getting-started/) * [iOS SDK migration guides](https://github.com/urbanairship/ios-library/tree/main/Documentation/Migration#airship-ios-sdk-migration-guides) * [iOS SDK changelog](https://www.airship.com/docs/developer/sdk-integration/apple/ios-changelog/) * Apple * [iOS 17 Preview](https://www.apple.com/ios/ios-17-preview/) * [Apple Developer: iOS](https://developer.apple.com/ios/) # App Open Events for Goals > Create a Goal based on app opens and track daily counts, counts per channel, frequency, and more. Then make adjustments to your marketing strategies for improvement. Goals are selected events that generate a set of performance reports. They are also used for measurement in [Holdout Experiments](https://www.airship.com/docs/reference/glossary/#holdout_experiment). In addition to creating goals based on a predefined or custom event, now you can select the App Open (`app_open`) event. You do not need to add the `app_open` event to your project before selecting it as a goal. The event is added to your project automatically after your app has been opened at least once. ## Requirements and documentation *As of November 15, 2023, [Performance Analytics](https://www.airship.com/docs/reference/glossary/#pa) is included in all [AXP plans](https://www.airship.com/docs/reference/feature-packages/#data).* ~~The Goals feature requires Performance Analytics. [Contact Airship Sales](https://www.airship.com/contact-us/) to add it to your Airship plan.~~ Learn how to create [Goals](https://www.airship.com/docs/guides/reports/goals/) and [Holdout Experiments](https://www.airship.com/docs/guides/experimentation/holdout-experiments/) and view their reports. # Holdout Experiments > Use holdout experiments to compare the performance of audience members who receive messaging (the treatment group) with those who do not (the holdout group) for the duration of the experiment. When you create a holdout experiment, you set up: 1. **Holdout group** — The percentage of your total audience that will be excluded from messaging 1. **Goals** — The events to measure in your experiment 1. **Duration** — The period when the experiment is active As an experiment runs, reports for each goal show the performance of the holdout and treatment groups. After the experiment ends, or after a period of time relevant to the purpose of the experiment ends, you can evaluate the reports to determine the impact your messaging has on driving conversion goals or KPIs. If there is no significant difference between holdout and treatment group performance, you may want to consider your campaigns and experiments for areas of improvement. Even with significant differences, this data can help you make informed decisions on how to best evolve your marketing strategy. ![Holdout experiment performance report](https://www.airship.com/docs/images/whats-new/holdout-exp_hu_a09e4a84d2462b37.webp) *Holdout experiment performance report* ## Requirements and documentation Minimum SDKs required for [In-App Automation](https://www.airship.com/docs/reference/glossary/#iaa), [Scenes](https://www.airship.com/docs/reference/glossary/#scene), and [Surveys](https://www.airship.com/docs/reference/glossary/#survey) only: iOS 17.2.0, Android 17.2.0. Get all the details in our [Holdout Experiments](https://www.airship.com/docs/guides/experimentation/holdout-experiments/) docs and start experimenting! 🥽 🥼 🧪 # Feature Flags > Use feature flags to control the availability of content or functionality in your app, without deploying new code. > **Important:** ~~Feature Flags are available for Airship customers participating in our special access program. *[Sign up here](https://www.airship.com/lp/special-access-feature-flags)*~~ *GA release: [April 30, 2024](https://www.airship.com/docs/whats-new/2024-04-30-feature-flags-scene-rollouts-ga/).* The format of a feature flag is a conditional *if* statement you add to your app code. It contains your flag name and wraps around the app code you want the flag to control. After adding the flag to your app, you can manage the feature's audience and schedule from the Airship dashboard. If something unexpected happens with the feature, or if you have reason to end access before its scheduled end time, you can turn it off for all users instantly, without having to release an app update and waiting for users to install the new version. Use feature flags for: * **Premium features** — Provide premium feature access only to paid users based on membership tiers. * **Phased releases** — Release features to segments of your audience over time to prevent a strain on resources, such as database queries, support tickets, or limited initial product supply. * **Time-limited promotions** — Turn on and off features that are meant to be time-restricted, manually or using an automated schedule, such as displaying a promotional banner only during a sale weekend. * **Testing** — Test features with a small segment of your audience before releasing the feature to the rest of your audience. ## Feature flag workflow The following is the general workflow for using feature flags. 1. **Create a flag in the dashboard**, defining: * A display name and description for the dashboard * A flag name for reference in your app code * Audience — When creating a flag, you can set your audience to members of a [Test Group](https://www.airship.com/docs/reference/glossary/#preview_test_groups). When you are ready to go live, set a percentage of your total audience that will be able to view the feature determined by the flag. You can also set conditions audience members must meet in order to experience the feature the flag controls. * Scheduling — You can create open-ended or time-bound flags, starting immediately or at a scheduled time and date. 1. In the Review step when creating the flag, **copy the code snippets and docs link, then give them to your developer**. 1. **Add the flag to your app.** This step is usually performed by a developer. After users install the version of your app that contains the feature and flag code, the feature will be available to the configured audience according to the flag's schedule. Manage the flag from the Airship dashboard. ## Requirements and documentation Feature flags require minimum SDK versions iOS 17.1 and Android 17.1. Get all the details in the [Feature Flags user guide](https://www.airship.com/docs/guides/experimentation/feature-flags/). # Enhanced Previews for Scenes > More preview options for Scenes makes content creation and testing easier and more reliable. *Scenes* are multi-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. In addition to improving previews, today's release also adds support for displaying Scenes from edge to edge on a device. ## Enhanced previews A preview of your Scenes updates as you design its content. Now you can select from a list of iOS and Android devices for a more accurate representation of how a Scene will appear to your audience. **Check it out:** In the Content step of a Scene, select a device from the dropdown menu. The preview will update to reflect the dimensions of the viewport of the selected device. ## Edge-to-edge display The "safe area" defines the portion within a view in your app's interface that is not covered by physical or UI elements, such as a status bar or notch. By default, fullscreen Scenes respect these insets and display only within the safe area. Now you can override this behavior and extend the content to the full height and width of the device. **Check it out:** In the Content step while editing a Scene, go to *Settings* to see the new option to *Respect safe area*. It is enabled by default. Uncheck to ignore safe area insets. The preview also reflects this setting. ## Requirements and documentation Scenes are an [AXP](https://www.airship.com/docs/reference/feature-packages/) feature. * [About Scenes](https://www.airship.com/docs/guides/features/messaging/scenes/scenes/) * [Create a Scene: Content Settings](https://www.airship.com/docs/guides/messaging/editors/native/about/) # Stories > Use Stories to engage your audience in a trending and familiar format. *Scenes* are multi-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. Their default behavior requires the user to swipe between screens. **Story mode** enables automatic transitions to the next screen without requiring swiping. Various popular social media apps use the story format, so many users recognize it immediately and are familiar with its interactions. ## Setting up a story ![A Scene presented in Story format](https://www.airship.com/docs/images/whats-new/stories.webp) *A Scene presented in Story format* You configure a story in the Content step of the Scene composer. In *Settings*: 1. Click for Story mode. 1. Enter the number of seconds (1-60) to display each screen. 1. Determine what happens after the story ends: * *Loop* — The scene replays indefinitely. * *Display last screen* — The last screen of the scene continues to display. * *Dismiss* — The scene closes. When designing content for the story, note that this initial release of Story mode does not support: * Scrolling — Make sure to design screens for small device dimensions to eliminate the appearance of a non-functional scroll bar. * Video * [Questions or NPS](https://www.airship.com/docs/guides/messaging/editors/native/elements/) ## Viewing a story When a story plays in your app, a progress bar indicates the number of screens and their remaining duration. The user can: * Tap the right side of a screen to go to the next screen and tap the left side to go to the previous screen * Tap and hold anywhere on the screen to pause * Swipe down or tap the Dismiss (X) button to close ## Requirements and documentation Story mode requires minimum SDK versions iOS 17.0 and Android 17.0. Scenes are an [AXP](https://www.airship.com/docs/reference/feature-packages/) feature. * [About Scenes: Story mode](https://www.airship.com/docs/guides/features/messaging/scenes/surveys-stories/#story-mode) * [Create a Scene](https://www.airship.com/docs/guides/messaging/in-app-experiences/scenes/create/) # Downstream In-App Experiences in Journeys > Support for downstream In-App Automations, Scenes, and Surveys gives you more options for customizing Journeys. A *journey* is a continuous user experience of connected [Sequences](https://www.airship.com/docs/reference/glossary/#sequence), [Scenes](https://www.airship.com/docs/reference/glossary/#scene), [Surveys](https://www.airship.com/docs/reference/glossary/#survey), and/or [In-App Automations](https://www.airship.com/docs/reference/glossary/#iaa). **Previously** we had two ways for you to connect journey components: * **In-app experience to sequence** — Route users to a sequence when an in-app automation, scene, or survey displays on a device or when they click a button in an in-app automation. * **Sequence to sequence** — Route users to another sequence when Airship sends the last message in the current sequence or a specific event occurs. **Today's release** gives you a third: * **Sequence to in-app experience** — Route users to an in-app experience when Airship sends the last message in the current sequence or a specific event occurs. If the downstream in-app automation, scene, or survey does not display on a user's device within the default period of 31 days, they will exit the journey. This period starts after any configured delay period elapses. As an alternative to exiting, you can route to a fallback sequence. You can also set a shorter expiration period. ## How to set it up Configure continuation from a sequence to an in-app experience in the [Journey Map](https://www.airship.com/docs/reference/glossary/#journey_map): 1. Select **Journeys**, then select a sequence. 1. Click to the right of the sequence or a previously configured exit event. A configuration drawer will open. 1. Select *Continuation*. (This step is eliminated if configuration is for an exit event.) 1. Select *Create new* or *Insert existing*. 1. Set a delay period in minutes, hours or days. This is the time Airship should wait before triggering the in-app experience. The delay period starts when the last message in the current sequence is sent. 1. Select *Scene*, *Survey*, or *In-App Automation*, then enter a name for the draft or search for an existing message. 1. (Optional) Edit the expiration period and/or set a fallback sequence. * **Expiration** — Enter a number of days. * **Fallback sequence** — Search for an existing sequence or enter a name for a draft and click **Create new sequence: [draft name]**. 1. Click **Save**. The map will now show the downstream in-app experience with a connection to the upstream sequence or exit event. ## Requirements and documentation Minimum SDKs required: iOS and Android 17.0. Surveys and scenes are [AXP](https://www.airship.com/docs/reference/feature-packages/) features. * [About sequence outcomes](https://www.airship.com/docs/guides/messaging/messages/sequences/create/outcomes/) * [Configuring sequence outcomes in the journey map](https://www.airship.com/docs/guides/messaging/messages/sequences/create/outcomes/) * [About Journeys](https://www.airship.com/docs/guides/features/orchestration-experimentation/journeys/) * [Create a journey](https://www.airship.com/docs/guides/features/orchestration-experimentation/journeys/) # Google Analytics 4 Integration > Send user-level mobile engagement data from Airship to Google Analytics in real time. On July 1, 2023, [Google Analytics 4 (GA4) is replacing Universal Analytics](https://support.google.com/firebase/answer/9167112). Today we released a new integration that supports Google Analytics 4 and replaces Airship's previous integration with Universal Analytics, which will be removed in July 2023. To continue (or start!) sending Airship app events to Google Analytics, configure our new integration for GA4. ## Documentation * [Google Analytics integration](https://www.airship.com/docs/integrations/google-analytics/) * [Real-Time Data Streaming](https://www.airship.com/docs/guides/reports/real-time-data-streaming/) # SDK 17 > Airship SDK 17 for iOS and Android delivers new features for Journeys and in-app experiences, updated and additional modules, and more. Changes to your app depend on your implementation of Airship. Please make sure to review the migration guides and changelogs linked below. In the coming weeks, we will also update our frameworks (Flutter, React Native, etc.) to SDK 17. ## New features * **More ways to create** [Journeys](https://www.airship.com/docs/reference/glossary/#journey) — Previously you could route users to another [Sequence](https://www.airship.com/docs/reference/glossary/#sequence) when all the messages in the current sequence were delivered or when an exit event occurred. Now you also have the option to route to a [Scene](https://www.airship.com/docs/reference/glossary/#scene), [Survey](https://www.airship.com/docs/reference/glossary/#survey), or [In-App Automation](https://www.airship.com/docs/reference/glossary/#iaa). You can also set up a **fallback sequence**. If the user doesn't meet the conditions for routing to the in-app experience during a certain period of time, they will be routed to the fallback sequence instead. See: [Whats New: Downstream In-App Experiences in Journeys](https://www.airship.com/docs/whats-new/2023-06-15-downstream-in-app-experiences/). * **Video in** [Scenes](https://www.airship.com/docs/reference/glossary/#scene) — Background video displays in portrait mode, starts automatically, and plays in a loop. Video in the Media element displays in landscape mode and does not start until a user clicks the Play button. See: [Create a Scene](https://www.airship.com/docs/guides/messaging/in-app-experiences/scenes/create/). * **Stories** — When creating [Scenes](https://www.airship.com/docs/reference/glossary/#scene), you can enable **Story mode**. This setting presents the Scene with automatic transitions to the next screen instead of requiring swiping. Use Stories to engage your audience in a trending and familiar format. *Support for Stories is included in SDK 17, however the feature will not be available in the Airship dashboard till later this month.* ## Improvements * **Allowed URLs** — The SDK now allows all URLs. After setting up or upgrading to SDK 17, you will see an implementation error until you either set your own defaults or accept the Airship default of allowing all URLs. See: * [Android: URL Allowlist](https://www.airship.com/docs/developer/sdk-integration/android/installation/advanced-integration/#url-allowlist) * [iOS: URL Allowlist](https://www.airship.com/docs/developer/sdk-integration/apple/installation/advanced-integration/#url-allowlist) * **iOS Message Center** — We added a new Swift [Message Center](https://www.airship.com/docs/reference/glossary/#message_center) module with a new SwiftUI version of our out-of-the-box (OOTB) Message Center. We also added new APIs for things like fetching messages and marking as read. See: [iOS Message Center](https://www.airship.com/docs/developer/sdk-integration/apple/message-center/getting-started/). * **iOS Preference Center** — We rewrote our iOS OOTB [Preference Center](https://www.airship.com/docs/reference/glossary/#preference_center) UI in SwiftUI. SDK 17 loads this new SwiftUI version of the OOTB UI by default. See: [iOS Preference Center](https://www.airship.com/docs/developer/sdk-integration/apple/preference-center/getting-started/). ## Breaking changes SDK 17 introduces a number of breaking changes to the codebase. In addition to reading here, see the full list in the [changelogs](#changelogs). * **Location Module** — We removed the location module. If you want to continue prompting users for location permissions, you must update your integrations to use the permission delegate. See [Permission Prompts](https://www.airship.com/docs/developer/sdk-integration/apple/data-collection/permission-gathering/) for iOS and [Permission Prompts](https://www.airship.com/docs/developer/sdk-integration/android/data-collection/permission-gathering/) for Android. * **Accengage Module** — For apps previously migrated from Accengage SDK to Airship SDK, upgrading to Airship SDK 17 requires removing the Airship-Accengage module. ## iOS minimum versions iOS SDK 17 requires these minimums: * Target version iOS 14.0 * Xcode 14 ## SDK setup and migration For new apps, follow our platform docs: * [Android SDK Setup](https://www.airship.com/docs/developer/sdk-integration/android/installation/getting-started/) * [iOS SDK Setup](https://www.airship.com/docs/developer/sdk-integration/apple/installation/getting-started/) To upgrade your SDK version, follow our migration guides: * [Android SDK migration guides](https://github.com/urbanairship/android-library/tree/main/documentation/migration#airship-android-sdk-migration-guides) * [iOS SDK migration guides](https://github.com/urbanairship/ios-library/tree/main/Documentation/Migration#airship-ios-sdk-migration-guides) ## Changelogs * [Android SDK Changelog](https://www.airship.com/docs/developer/sdk-integration/android/changelog/) * [iOS SDK Changelog](https://www.airship.com/docs/developer/sdk-integration/apple/ios-changelog/) # Hands-On Learning with the Airship Demo App > Airship's 1st Flight demo app now contains educational information about features, capabilities, and data. ![Airship 1st Flight app](https://www.airship.com/docs/images/whats-new/1st-flight-learning-tracks_hu_99f81a27ea51dab0.webp) *Airship 1st Flight app* Airship's **1st Flight** app guides you through creating push notifications, surveys, and other messages that you can send to your own device. You can try Airship without needing to integrate with your own app. 1st Flight does not require a contract for use. ## Updated content Today's update adds two learning tracks, each with modules about specific topics: * **App Experience** — Airship's data model concepts and core messaging features with push, Message Center, in-app experiences, and journeys. * **App Optimization** — [Apptimize](https://apptimize.com/) testing and release management features, including A/B testing, Feature Flags, and Feature Variables. You'll read an overview of each topic, plus key benefits and use cases. Most modules also include related tasks to complete in the app or in the Airship dashboard, giving you hands-on experience building campaigns and seeing them live on your device. ## Get started Try it it now! Create an account at [go.airship.com](https://go.airship.com/) or [go.airship.eu](https://go.airship.eu/). We’ll email you a magic link so you can connect your account with the 1st Flight app. To preview the steps you'll take, or for additional guidance, see: [Create an account and set up the app](https://www.airship.com/docs/guides/getting-started/1st-flight-app/#create-an-account-and-set-up-the-app). Just need to download the apps? Go directly to the app stores: * [1st Flight in the Google Play App Store ](https://play.google.com/store/apps/details?id=com.urbanairship.iceberg) * [1st Flight in the Apple App Store](https://apps.apple.com/us/app/1st-flight/id1195168544) # Android Live Updates > Use Live Updates to display current data from your app in an Android notification, home screen widget, or embedded view. ![A Live Update in a sports game notification](https://www.airship.com/docs/images/whats-new/android-live-update_hu_69500d2b5654883.webp) *A Live Update in a sports game notification* Android Live Updates bring functionality similar to [iOS Live Activities](https://www.airship.com/docs/guides/features/messaging/live-activities-updates/) to the Android platform, providing an easy way to display dynamically updated content in a custom notification, home screen widget, or custom view embedded within an app. They can make it easier to keep information updated in real time instead of receiving multiple notifications from the same app for things like a game’s latest score, food delivery status, or rideshare arrivals. We've updated our Android SDK and Push API to support: * Implementing and registering handlers for Live Updates * Starting, updating, ending, and clearing Live Updates Live Updates are an [AXP](https://www.airship.com/docs/reference/feature-packages/) feature. Minimum SDK required: Android 16.10.0. ## Documentation * [Android Live Updates](https://www.airship.com/docs/guides/features/messaging/live-activities-updates/) * [Android Override `live_update`](https://www.airship.com/docs/developer/rest-api/ua/schemas/platform-overrides/#androidoverrideobject) * [Android SDK changelog](https://www.airship.com/docs/developer/sdk-integration/android/changelog/) * [Android SDK migration guides](https://github.com/urbanairship/android-library/tree/main/documentation/migration) # Platform Status Page Updates > View the status and uptime of Airship services, and sign up for notifications. ![Accessing the Status page from the dashboard](https://www.airship.com/docs/images/whats-new/check-status_hu_7a86cb4faae81a82.webp) *Accessing the Status page from the dashboard* The Airship Status page has a new look and now includes uptime information. You can view statistics of system uptime and the status of individual services from the last 90 days. You can also view the details of past incidents and information about upcoming scheduled maintenance. The status page can be found at https://status.airship.com for the US and https://status.airship.eu for the EU. Each page has a link to the other. From the dashboard, you can access the Status page by clicking and selecting *Check status*. ## Subscribe to updates If you are already subscribed to email alerts regarding the Airship platform status and maintenance events, there is no action required on your part, as we have migrated your subscription to the new status page. If you would like to update your preferences or subscribe to SMS notifications as well, go to the Status page and click **Subscribe to updates**. You will see options to enter your email address and phone number. You can also enter a webhook URL or copy the RSS feed URL. --- If you have any questions, our [Support team](https://support.airship.com) is available to help. # Goals > Generate reports that assess the performance of specified events. You can create a goal — a single event defined in your project — and track its performance in a set of reports: * **Goal** — The number of times the event occurred per day and the 7-day average. * **Goal per platform or named user** — The number of times the event occurred per platform or [Named User](https://www.airship.com/docs/reference/glossary/#named_user). Only appears if multiple platforms are configured for the project. * **Channels per goal** — The number of [Channels](https://www.airship.com/docs/reference/glossary/#channel_engage) that performed the event at least one time. You can filter by *greater than or equal to* or *is between* and enter values. * **Goal frequency per channel** — The frequency of event occurrence per [Channel](https://www.airship.com/docs/reference/glossary/#channel_engage). Data points displayed: 50th (median), 75th, and 99th percentiles. The default view is the last three months of data. You can select a new time frame, and the reports will reload with the data for that period. For reports displaying multiple platforms, you can filter by one or more platforms. ![Goal reporting](https://www.airship.com/docs/images/whats-new/goals-report_hu_1cf39c250fec3e80.webp) *Goal reporting* ## Requirements and documentation *As of November 15, 2023, [Performance Analytics](https://www.airship.com/docs/reference/glossary/#pa) is included in all [AXP plans](https://www.airship.com/docs/reference/feature-packages/#data).* ~~Goals requires Performance Analytics but appears independently in the Reports menu. [Contact Airship Sales](https://www.airship.com/contact-us/) to add Performance Analytics to your Airship plan.~~ Learn how to create [Goals](https://www.airship.com/docs/guides/reports/goals/) for your project and view the reports. ## All Releases Browse Airship product release announcements, from messaging and wallet passes to AI-powered tools and accessibility features.