9 Best iOS Live Activities Tools in 2026
A Live Activity is the Lock Screen and Dynamic Island view for something already in progress: a courier ten minutes away, a score in the third quarter, a car heading to the pickup point, a gate change on a flight. Drawing it is the easy part, because Xcode gives you a widget template. The hard part is the lifecycle. You have to start the activity from your server while the app is closed, update it with the right token, end it when the order is delivered, and notice the failures that often show up as a push that iOS quietly drops.
This page compares nine options that cover that lifecycle: Apple's own APNs path, seven push and engagement vendors, and Sequenzy. Vendor pricing changes, so treat the pricing lines as a starting point for a quote, not as a bill.
Quick comparison
| Tool | Remote push-to-start | Who manages tokens | React Native or Flutter | Android | Published price signal |
|---|---|---|---|---|---|
| Apple APNs (DIY) | Yes, iOS 17.2+ | You | Native module you write | No | $99 per membership year, no push fee listed |
| OneSignal | Yes, iOS 17.2+ | OneSignal | React Native, Expo, Flutter | No | Free to 1,000 MAU, Growth from $19 per month |
| Airship | Yes, iOS 17.2+ | Airship, tracked by name | Setup guides for React Native and Flutter | Separate Live Updates docs | Not published |
| Braze | Yes, iOS 17.2+ | Braze SDK | React Native via Swift code | No | Not published, no free plan |
| CleverTap | Yes, iOS 17.2+ | CleverTap SDK | Native iOS only | No | Core from $85 per month, rest not published |
| MoEngage | Yes, but iOS 18+ target | MoEngage SDK | Native iOS only | No | Not published, quote based |
| Customer.io | Yes, iOS 17.2+ | Customer.io | React Native, Flutter, Expo | Yes, Android 16 Live Updates | Premium from $1,000 per month |
| Pushwoosh | Yes, iOS 17.2+ | Pushwoosh SDK | Flutter guide | Separate Live Updates module | Free to 1,000 MAU, $13 per 1,000 MAU list |
| Sequenzy | Yes, iOS 17.2+ | Sequenzy, linked to the contact | Small Swift module passes tokens | No, iOS only | Push unlimited on every plan |
Constraints that apply to every option
Before you compare vendors, know the limits that come from Apple rather than from any vendor:
- The activity itself needs iOS 16.1 or later (some vendors say 16.2), and remote start needs iOS 17.2. Below 17.2, your app has to start the activity while it is open, and your server can only update and end it. Several vendors state the same split.
- Live Activity pushes need token-based APNs. Apple's developer forums say certificate-based authentication is not supported for these pushes, and Pushwoosh and Braze say the same in their docs.
- An activity can run 8 hours, then stay on the Lock Screen for up to 4 more. Plan your content and your end events around that window.
- Push-to-start tokens are hard to get on some devices. Braze's guide says iOS only generates push-to-start tokens during the first app install after a device restart. CleverTap says the same about the first launch after a restart. Register early in launch, and test on a device that has actually restarted.
How to choose
Five questions will narrow this list faster than any feature grid:
- Do you already pay for a push vendor? If yes, start with its Live Activity support. Most vendors expose the same start, update and end lifecycle, and switching vendors for one activity type rarely pays.
- Who starts the activity? If your backend does, check the remote start path and its iOS version. If only the app starts it, push-to-start matters less.
- Is your app React Native or Flutter? Some vendors ship a cross-platform SDK that covers Live Activities. Others expect you to write Swift.
- Do you need Android? Only Customer.io and Pushwoosh describe an Android path in the same product. Airship links separate Android docs. Everyone else either says iOS only or says nothing about Android.
- What is the bill at your audience size? Vendors price on different units: monthly active users, monthly tracked users, profiles, or emails. Price your real count, not the entry tier.
1. Apple APNs directly (DIY)
Best for: A team with a backend engineer that wants no vendor in the path and accepts owning token storage, retries and cleanup.
Pricing: The Apple Developer Program costs $99 per membership year, and it includes the Push Notifications capability. There is no per-message fee or quota for push.
How it works: Your app listens to the push-to-start token sequence for each activity type from iOS 17.2 and sends each new token to your server. Your server then sends start, update and end pushes to APNs using token-based authentication. Each push needs the apns-push-type header set to liveactivity, a topic equal to your bundle ID with the push-type.liveactivity suffix, and a priority of 5 or 10. Every running activity also has its own update token, and updates and ends go to that token, so the app has to report it to you as well. Apple budgets high-priority updates, so send routine ones at priority 5.
Where it hurts: You build everything the vendors below sell: token storage per device and per activity, rotation, retries, cleanup when a person dismisses the activity, and the 4 KB limit on the whole payload. Your registration code has to run early in launch, because of the push-to-start token behavior described above.
Cross-platform: Swift only. React Native and Flutter apps need a native module of your own.
Android: No.
Verdict: The right answer when Live Activities are central to the product and someone on the team will own the pipeline. Overkill when one delivery tracker is the whole feature.
2. OneSignal
Best for: Teams already on OneSignal for push or in-app messages, especially cross-platform apps that want Live Activities in the same account.
Pricing: OneSignal's free plan lists Live Activities for organizations up to 1,000 monthly active users. Growth starts at $19 per month, Live Activities are included with a mobile push purchase, and mobile push adds $0.012 per monthly active user. Professional and Enterprise are quote based. The Live Activities docs also say they are not available on free plans with more than 10,000 opted-in subscribers, so check that line if your list is large.
How it works: Your server starts an activity through the Start Live Activity API, which supports push-to-start on iOS 17.2 or later with iOS SDK 5.2.0 or later. One update request reaches every device registered to an activity ID. Ending is an update with an end event and an optional dismissal date. OneSignal stores and refreshes each device's update token, so you do not manage that part. The limit is five simultaneous Live Activities per app.
Cross-platform: React Native, Expo, Flutter, Unity, Cordova, Capacitor and .NET MAUI are all listed. With those SDKs, the default setup handles the ActivityKit lifecycle, and the native code you write is the widget layout.
Where it falls short: You cannot send Live Activities from the dashboard. They go through the APIs only, and a new Live Activity use case needs an app change. OneSignal also does not sync the frequent-updates setting, so you read it in the app and save it as a tag.
Android: Not supported.
Verdict: The most direct path for a team that already runs OneSignal. If the free-tier cap or the subscriber limit will bite, read the OneSignal alternatives before you commit.
3. Airship
Best for: App teams that already run Airship, and larger teams that want the vendor to track each activity by name across devices.
Pricing: Airship does not publish prices. Its Airship Experience Platform is quote based, and the self-serve Essentials tier has no published price. The Live Activities page carries an AXP badge, so ask which package includes the feature before you commit. Airship says tracked tokens do not increase your billable audience.
How it works: Start, update and end all go through the Push API. You send a live activity object on the iOS override with an event of start, update or end. You name each activity, and Airship tracks its push token under that name on the device's channel. An update targets the name with the audience set to all, and Airship finds the matching tokens. Airship requires token-based APNs.
Where it falls short: A push-started activity is not tracked automatically. After iOS wakes your app, your code has to pass the activity to Airship, because the app has no normal entry point in that moment. If your users often go days without opening the app, test a push-started activity under those conditions before you launch.
Cross-platform: Setup tabs cover React Native, Capacitor and Flutter, and the Flutter plugin has its own guide. The iOS Live Activities page covers iOS only. Android has a separate Live Updates page.
Verdict: Good if you already run Airship. If you are shopping on price, expect a sales-led quote with no published numbers.
4. Braze
Best for: Enterprise teams already on Braze that want Live Activities in the same audiences and reporting, and that can own a Swift layer.
Pricing: Braze publishes no prices and has no free plan. It offers a free trial and startup programs. The contract combines a platform edition, monthly active users, and a shared pool of action credits, where a WhatsApp message costs more credits than an SMS.
How it works: Locally, your app calls launchActivity with a unique tag, and the SDK extracts and watches the tokens. For remote starts, you register push-to-start early in launch and send an activity ID and the initial data to the start endpoint. The audience can be a segment, a list of users or a connected audience. Updates go to the update endpoint. You end an activity by sending the same update with end_activity set to true, plus an optional dismissal date. Braze advises waiting at least 5 minutes after a start before the first update. The default limit is 250,000 requests per hour per workspace.
Cross-platform: The React Native SDK from version 3.0.0 supports Live Activities through the Swift SDK, but you write the iOS code natively, and there is no JavaScript API.
Where it falls short: Braze says Live Activities cannot be used as a campaign or Canvas step. You send them through the API, so a marketer cannot build one in the dashboard. Braze also states that it does not provide native Live Activities support on Android.
Verdict: Pick Braze when Live Activities are one channel in a large program with a data team behind it. It is a poor fit for a small team that wants a dashboard step. Read the Braze alternatives before you commit.
5. CleverTap
Best for: Apps already on CleverTap that want Live Activity impressions, clicks and lifecycle events recorded on the same profiles as their other campaigns.
Pricing: The Core plan is listed from $85 per month, with taxes applied and add-ons excluded, and it has a 30-day trial. Pro and Ultimate are sold through a demo, and add-ons such as WhatsApp and RCS have no published prices. Pricing depends on monthly active users or data points, depending on the commercial model.
How it works: Call registerPushToStart early in launch with your activity type. The SDK sends the push-to-start token and each activity's token to CleverTap, then records Started, Updated, Ended and Dismissed events automatically. Your backend sends the APNs pushes. It is a backend-driven model, so ask whether CleverTap offers an API or dashboard step for starting, updating or ending an activity before you plan around one.
Where it falls short: The guide has sharp edges. If your payload does not match your attribute types, the entire decode fails and the activity does not start, with no error. When the app is killed, updates are not recorded, and ends show up as dismissed, so you need your backend's send logs for the full picture. Impressions are de-duplicated to one per activity, but clicks are not.
Cross-platform: The guide covers Swift and Objective-C only. Objective-C apps need a small Swift wrapper. React Native and Flutter are not mentioned.
Release: The guide requires CleverTap iOS SDK 7.9.0 or later, and GitHub lists that release as published on October 15, 2026.
Verdict: Reasonable if CleverTap already holds your profiles and analytics. Do not buy the suite for this one feature.
6. MoEngage
Best for: Brands already on MoEngage that want one shared activity for many users, or a per-user activity started by an event, and that can target iOS 18 or later.
Pricing: MoEngage publishes no prices. Its plans are quote based and billed on monthly tracked users, and many features are sold as add-ons. Ask whether your plan includes Live Activities before you sign.
How it works: MoEngage has two shapes. Broadcast Live Activities run from a push campaign created through the Create Push Campaigns API with the broadcast delivery type. MoEngage says those campaigns cannot be created in its UI. The start, update and end endpoints then manage one shared activity across devices. Transactional Live Activities are one user, one activity. You start them by push through the Inform API or locally in the app, and updates must go through the Inform API.
Requirements: Both pages say the Live Activity must target iOS 18 or later. Devices on iOS 17 will not receive it, which matters if your base is still on older phones. MoEngage's tracking methods also have to run after the SDK initializes. Called too early, they crash debug builds and are dropped silently in release builds.
Cross-platform and Android: The Live Activities docs cover native iOS only. MoEngage's FAQ says Live Activities are a native iOS feature, so there is no Android path.
Verdict: A fit for a MoEngage team that targets iOS 18 and wants the campaign tooling. Still choosing? See the MoEngage comparison.
7. Customer.io
Best for: Teams already on Customer.io's Premium or Enterprise plan that want one server API for live notifications on both iOS and Android.
Pricing: Customer.io calls these live notifications, and its July 24, 2026 release note says they are available on Premium and Enterprise plans. Premium starts at $1,000 per month billed yearly. Essentials starts at $100 per month, but the release note lists live notifications only for Premium and Enterprise. Enterprise is quote based.
How it works: You define the activity's data model in the native SDK and render it with a SwiftUI widget. Your server calls the live notifications API to start, update and end each one. Customer.io turns each call into an APNs push and manages the push tokens, so your server never talks to APNs directly. The API rejects anonymous profiles, so the person has to be identified before tokens register. On iOS, these do not need notification permission. iOS needs 16.2 or later, and push-to-start needs 17.2 or later.
Android: Yes. On Android 16 phones, the notification appears in the notification shade with the Live Updates treatment. The bundled templates are a multi-step tracker and a countdown timer.
Cross-platform: React Native, Flutter and Expo SDKs support it. Those SDKs give you one custom type that you render yourself, while the native SDKs let you define your own data model.
Verdict: A strong pick if you already pay for Premium and want Android too. For everyone else, the plan price is the decision. See the Customer.io comparison and the Customer.io alternatives.
8. Pushwoosh
Best for: Teams that want Live Activities in the same SDK as their push, priced by monthly active user, with a documented API for start and update.
Pricing: Pushwoosh bills by monthly active users rather than by subscribers or messages. Its subscription is free while your project stays within 1,000 MAU. The omnichannel list price is $13 per 1,000 MAU, and email only is $5 per 1,000 monthly unique recipients. Pushwoosh says every feature is available on every plan. Its pricing page does not mention Live Activities, so confirm they are included at your volume.
How it works: The SDK's setup call tracks and refreshes push-to-start and update tokens for you. Your backend starts an activity through the startLiveActivity endpoint and updates it through updateLiveActivity. One push to a shared activity ID updates every device running that activity, and a filter can target a segment. Pushwoosh supports token-based APNs only. With large audiences, some devices may get a start a few minutes after the scheduled time.
Where it falls short: Remote ends are less clear than starts and updates: cancel ends the activity on the device right away and notifies Pushwoosh, while stopLiveActivity only notifies the server. Check the API reference before you rely on remote ends.
Cross-platform and Android: A Flutter guide exists. The iOS guide does not mention React Native. Pushwoosh's product page says Android is handled through a separate Live Updates module.
Verdict: A good price-led option for a team that already wants a push vendor. Ask for the Live Activity line in writing before you sign.
9. Sequenzy
Disclosure: I build Sequenzy.
Best for: Lean SaaS and app teams that already run email, push, in-app messages and SMS in Sequenzy and want Live Activities driven by their own backend alongside them.
Pricing: Push is unlimited on every plan, including Free, and sending a push does not use email credits. Live Activities are delivered over APNs with the same .p8 key as your notifications. There is no separate Live Activity charge or plan gate, and updates do not use email credits. See Sequenzy pricing for the email tiers.
How it works: Your backend starts, updates and ends an activity through the Sequenzy API, CLI or MCP server. You name the contact by email or subscriber ID and the activity by an ID you choose. The iOS SDK reports push-to-start and update tokens, and you register each activity type with Sequenzy.observeLiveActivities(of:) at launch. Tokens link to the contact once the app calls identify. In Settings, then Push, then iOS, the Live Activities step lists each activity type with the devices that can start it, and it has a Send a test option so you can start one from the dashboard.
Requirements: Live Activities need iOS 16.1 or later, and starting one from your backend needs iOS 17.2 or later. On iOS 16.1 to 17.1, your app starts the activity and your backend updates and ends it. The docs say these work only on iOS.
Cross-platform: React Native and Flutter apps write a small Swift module that passes the ActivityKit tokens to the SDK and ends running activities on sign-out. The rest of the app stays in JavaScript or Dart.
Where it falls short: It is iOS only, so Android users get standard push and no Live Update equivalent. Sequenzy has a smaller ecosystem than Braze or Iterable and no enterprise experimentation suite. If you need those, compare the customer engagement platforms first.
Verdict: Right when your backend already triggers lifecycle messages in Sequenzy and you want a Live Activity in the same flow. Wrong if you need Android parity now or an enterprise experimentation suite.
Which one should you pick?
- Already on a push vendor: Start with that vendor's Live Activity support. Adding a second vendor for one activity type is rarely worth it.
- Backend engineer, no vendor: Use APNs directly, and budget time for token storage and cleanup.
- Need Android too: Customer.io on Premium, or Pushwoosh with its Live Updates module. Airship has separate Android docs. Otherwise you are building two features.
- React Native or Flutter: OneSignal and Customer.io ship cross-platform SDKs with Live Activity support, Airship has setup guides for both, and Pushwoosh has a Flutter guide. Braze and Sequenzy need a small Swift layer.
- Email, push and SMS already run in Sequenzy: Sequenzy, if iOS only is acceptable.
- Budget decides it: Customer.io Premium starts at $1,000 per month. CleverTap Core is listed from $85 per month, OneSignal's Growth plan from $19, and Pushwoosh is free under 1,000 MAU. Confirm every plan gate in writing before you build.
Frequently asked questions
What is the best tool for iOS Live Activities?
There is no single winner, because your existing stack decides it. If you have a backend engineer and want no vendor in the path, send the pushes yourself with APNs. If you already use OneSignal, Airship, Braze, Pushwoosh, CleverTap or MoEngage for push, start with that vendor's Live Activity support. If you need Android too, Customer.io and Pushwoosh document an Android path in the same product, and Airship links separate Android Live Updates docs. Then check the price at your monthly active user count.
What is push-to-start for Live Activities?
Push-to-start is an iOS 17.2 feature that lets your server start a Live Activity with an APNs push while the app is closed. The device gives your app a push-to-start token for each activity type, and your backend sends a start push to that token. Before iOS 17.2, a server could only update or end an activity that the app had already started in the foreground. Live Activity pushes need token-based APNs with a .p8 key, not certificates.
Do I need a backend to update Live Activities?
Yes, for any update that happens while the app is closed. An update to a running activity is an APNs push sent to that activity's own update token, so something has to hold the token and send the push. Your app can update the activity while it is open, but an order that is out for delivery needs a server. You can run that server yourself, or call a vendor's start, update and end API, which stores the tokens and sends the pushes for you.
Are there Live Activities on Android?
No. Live Activities are an Apple feature built on ActivityKit, and none of the tools here offers an Android version of that feature under the same name. Android 16 added progress-centric notifications, built with Notification.ProgressStyle, for journeys such as rideshare, delivery and navigation. They appear on the lock screen and in the notification shade. Customer.io and Pushwoosh call their Android version Live Updates. These are notifications rather than activities, so treat the Android build as separate work.
How long can a Live Activity run?
Apple lets a Live Activity stay active for up to 8 hours unless your app or the person ends it first. After that, the system ends it and removes it from the Dynamic Island. It can then stay on the Lock Screen for up to 4 more hours, so 12 hours at most. For a multi-day flight or order, end the activity at a stage boundary and start a new one for the next stage instead of keeping one running.
Final recommendation
- Already on a push vendor: that vendor's Live Activity support, after you confirm the plan.
- No vendor, strong backend team: Apple APNs directly.
- Premium budget and Android required: Customer.io.
- Price-led with Android in view: Pushwoosh, after you confirm Live Activities in writing.
- Email, push and SMS already run in Sequenzy: Sequenzy, if iOS only is acceptable.
Pricing and plan gates change. Check the vendor's page, or ask for the quote in writing, before you build around any number on this page.