"At a glance" is perhaps the most valuable way to convey information on mobile devices today. With Live Activities, you not only appear top-of-screen for your users, but also remain top-of-mind.  

Since its release, we've architected support for Live Activities to make it easier for our users to create, customize, and manage Live Activities from the OneSignal dashboard once the feature becomes available.

What are Live Activities?

Live Activities are a type of real-time, interactive push notification. They were designed by Apple to enable iOS apps to provide live updates to their users that are visible from the lock screen.

Left: A Live Activity showing an Uber driver's progress and estimated ETA. Right: A Live Activity showing the current score, inning, and pitch count for a live baseball game.

Live Activities vs. Widgets

Unlike Widgets, Live Activities live exclusively on the lock screen and can only last up to eight hours. They are intended to display changing data for live events such as sports scores, delivery statuses, and other real-time transactional updates.

A Live Activity for a fitness app showing a user's current run time and distance.

In contrast, Widgets can permanently live on the home screen and aren't necessarily associated with a particular live event. Although they are implemented similarly, Widgets are permanent features that require less lifecycle management. Whereas Live Activities are associated with push notifications, Widgets are not.

Using Live Activity Notifications to Enhance Your App UX

Many apps send real-time transactional updates via push notification to keep users informed and create a more seamless experience after a user has exited their app. For instance, a food delivery app might send push notifications with live order status updates, a Rideshare app might send notifications when a driver is approaching, and a sports media app might send score updates at different intervals during a live game.

A Live Activity showing the current score, quarter, game clock, and other series details for a live NBA game.

Rather than sending a new notification each time there is a status update, the new Live Activities feature allows app developers to update a single, interactive notification for the duration of the live event. This ultimately creates a cleaner, simpler, and more intuitive user experience by reducing the number of notifications sent while also making information more readily accessible.

A Live Activity tracking the progress of a Starbucks in-store pickup order.

Beyond food delivery and media events, Live Activities can be a valuable feature for many app categories. For instance, this feature might be used by digital wallets and crypto apps to provide users with real-time price changes and trade updates, or used by mobile games to showcase a live game event.

Discoveries from  iOS 16

As we work to continue support for Live Activities, we’ve discovered a few things about this  iOS feature. Here's what we learned:

  • Live Activities currently cannot be launched from the background, so the user will need to have an app open in order to start the Activity.
  • If your app supports Live Activities, when a user accepts the permission prompt to allow push notifications, the Live Activities capability will be enabled by default. This can be changed by the user in the iOS Settings app.
  • An app can define multiple Live Activities with different interfaces and content states using a WidgetBundle.
  • An App can have multiple Live Activities running simultaneously. For instance, if a user follows two different sports teams, they might have multiple Live Activities on their lock screen for different live games. These activities can be stacked and expanded upon user interaction.
  • Live Activity interfaces can't contain interactable elements such as buttons and web views. Instead, when a Live Activity is tapped, your application will be launched. You can, however, still load images from a URL on demand into your Live Activity. The image URL could be part of the activity content that changes.

How to Create Live Activities for iOS 16+

Live Activities are created in a Widget Extension (Widgets were released with iOS 14) for your iOS application. If you already have a Widget in your iOS application, you can create Live Activities alongside it in the same extension using a WidgetBundle. If you don’t yet have a Widget in your iOS App, you can create a Widget Extension and build your Live Activity using SwiftUI and the new ActivityKit library. When doing so, your app will define attributes for the activity that dictates both the static and mutable content for your activity. Live Activities can then be started, updated, and ended by your application when appropriate. Your Live Activity interface cannot contain any interactable elements and tapping on the Live Activity will launch your application.

The data in your Live Activities can also be updated via remote push notifications. To update or end a Live Activity with a push notification, your app must first request a push token for the Live Activity and send it to your push server. You can then use the push token to send notifications to the Live Activity that specify its new “content-state.” These push tokens are only valid for the duration of the Live Activity, and each Live Activity will receive a unique token. For more details on implementing Live Activities and updating them with push notifications visit Apple’s documentation.

Live Activities Best Practices

1. Introduce a Live Activity specifically designed for tasks and events with clear start and end points. These notifications are ideal for tracking short to medium-duration activities. Avoid implementing Live Activities for tasks exceeding eight hours, ensuring prompt conclusion when the task or event concludes.

2. When crafting your Live Activity presentation, ensure compatibility across various locations, devices, and their respective appearances. Consider the amount of information being displayed at the same time and tailor layouts to seamlessly integrate into different system interfaces.

3. As with other mobile notifications, brevity is key. Emphasize clarity by prioritizing essential information for quick comprehension, recognizing that not every detail needs to be showcased. Focus on presenting information deemed most valuable, allowing users to tap the Live Activity for more in-depth insights within your app.

4. Do not use Live Activities for advertising or promotions, as their primary function is to keep users informed about ongoing events and tasks. Display only information relevant to these contexts to enhance user experience.

5. Exercise caution when it comes to sensitive information in Live Activities, as they are visually prominent and potentially visible to casual observers. If the content is deemed private or sensitive, you may offer a generic summary in the Live Activity, then allow users to tap for access to more detailed information within your app.

6. Avoid incorporating elements that draw attention to the Dynamic Island when your app is not in use, recognizing that the Live Activity resides there. Maintain focus on the Live Activity's intended purpose, as other items may also appear on the Dynamic Island when your app is active.

7. Beginning with iOS 17 and iPadOS 17, the expanded Live Activity presentation in the Dynamic Island and the Lock Screen can include toggles, offering people a way to perform tasks directly from the notification. Keep in mind, these elements occupy space that can otherwise display useful information. Make sure you only include these if they are offering essential functionality or value directly related to your Live Activity.

For more information about Live Activities, including in-depth design best practices, developer documentation, specific device specifications, and more, read explore the official Live Activities page.

Managing Live Activities with OneSignal

We have built a solution to simplify Live Activity push token management and make it easier to customize Live Activities from the OneSignal dashboard for different use cases. You can contact our team for a demo or get started today by following our documentation on Live Activities.

Click the link below to speak with our team to discuss how we can help bring your ideal use case to life.

Chat With an Expert