iOS Live Activities

Show the whole story on the lock screen

Pushwoosh starts and updates a live card for an order, a ride or a match, from the same campaign and Journey as the rest of your push. iOS keeps it on the lock screen and in the Dynamic Island for as long as the event runs.

Three iPhone screens side by side showing a Live Activity: a food order at the courier step, a ride with the driver two minutes away, and a live match score, plus the same activity condensed into the Dynamic Island

Trusted by 80,000+ companies to scale their engagement

The format in full

A plain push says something happened, once. A Live Activity keeps saying it — the same card on the lock screen rewrites itself for as long as the order, the ride or the match is still going.

Local start

Start the activity from inside your app with ActivityKit, iOS 16.1 and later.

Push-to-start

A token-based push opens the activity with the app closed, iOS 17.2 and later.

Live content updates

/updateLiveActivity rewrites the same card in place as the event moves along.

One card for the whole segment

Push once to a shared activity ID and every device running that activity updates together.

Synced across the lock screen and Watch

One activity, kept in sync across surfaces, including the Apple Watch Smart Stack on watchOS 11.

One token helper

setup() tracks and refreshes your push-to-start and push-to-update tokens automatically.

Where a Live Activity sits between a push and a screen

When the message isSendWhere it lives
One change of state, said onceA plain pushThe banner, then the lock screen list
One change worth a pictureA rich media pushThe expanded notification
A choice the user can make in a tapAn interactive pushButtons on the notification
An ongoing event, minutes to hoursA Live ActivityOne card on the lock screen and in the Dynamic Island, rewriting itself in place
A record the user comes back to laterMessage InboxA list inside the app
Detail, a form or a layoutAn in-app messageA full screen in the app
When the message is
1 / 6
One change of state, said once
Where it lives
The banner, then the lock screen list
When the message is
2 / 6
One change worth a picture
Where it lives
The expanded notification
When the message is
3 / 6
A choice the user can make in a tap
Where it lives
Buttons on the notification
When the message is
4 / 6
An ongoing event, minutes to hours
Send
A Live Activity
Where it lives
One card on the lock screen and in the Dynamic Island, rewriting itself in place
When the message is
5 / 6
A record the user comes back to later
Where it lives
A list inside the app
When the message is
6 / 6
Detail, a form or a layout
Where it lives
A full screen in the app

The job it does inside a journey

One Journey for both platforms

A Live Activity is an attribute of a message you’re already sending, not a separate integration. The audience, the trigger, the segment and the customer profile stay where they are, and the format decides what that message looks like while the event is still running.

iPhones get the Live Activity, Android 16 phones get a Live Update, and older devices get a standard push, all from the same Customer Journey that runs your push, in-app and email.

An order worked end to end

The restaurant accepts the order, and the Journey opens the Live Activity with a push-to-start call.

A silent push warms the courier data in the background, invisible to the user, so the first update lands with a real name and a real ETA. Cooking, courier assigned and two minutes away then rewrite that same card. Apple keeps Live Activities to the current event only, so any upsell for the next order runs as an in-app message on the same Journey, not on the card itself. The delivered event ends the activity and leaves the receipt in Message Inbox.

What to use it for

A Live Activity earns its place when something is genuinely underway and the user already started it — an order, a trip, a match already in progress. Apple restricts the surface to that: no announcements, no offers, nothing the user didn’t set in motion.

MomentWhat the card carriesWhat the user does
Food delivery · an order in progressAccepted, cooking, courier assigned, minutes awayGlances at the lock screen instead of reopening the app
Ride-hailing · a trip underwayDriver en route, ETA, trip progressChecks the Dynamic Island instead of the map screen
E-commerce · after the purchaseShipped, out for delivery, stops away, deliveredFollows the parcel from the lock screen and knows when to be in
Marketplaces · several orders at onceOne card per shipment, each from its own sellerKeeps track of parcels landing on different days
Airlines · the day of the flightGate, boarding, delay, baggage beltChecks the gate from the lock screen in a loud terminal
Car-sharing · an active rentalSession running, fuel or charge, time left, return pointWatches the session countdown without opening the app
Live sports · a match in playScore, clock, periodFollows the match with the phone locked
Sports betting · an in-play betBet status, live odds, cash-out windowActs on the cash-out before the window closes
Moment
1 / 8
Food delivery · an order in progress
What the card carries
Accepted, cooking, courier assigned, minutes away
What the user does
Glances at the lock screen instead of reopening the app
Moment
2 / 8
Ride-hailing · a trip underway
What the card carries
Driver en route, ETA, trip progress
What the user does
Checks the Dynamic Island instead of the map screen
Moment
3 / 8
E-commerce · after the purchase
What the card carries
Shipped, out for delivery, stops away, delivered
What the user does
Follows the parcel from the lock screen and knows when to be in
Moment
4 / 8
Marketplaces · several orders at once
What the card carries
One card per shipment, each from its own seller
What the user does
Keeps track of parcels landing on different days
Moment
5 / 8
Airlines · the day of the flight
What the card carries
Gate, boarding, delay, baggage belt
What the user does
Checks the gate from the lock screen in a loud terminal
Moment
6 / 8
Car-sharing · an active rental
What the card carries
Session running, fuel or charge, time left, return point
What the user does
Watches the session countdown without opening the app
Moment
7 / 8
Live sports · a match in play
What the card carries
Score, clock, period
What the user does
Follows the match with the phone locked
Moment
8 / 8
Sports betting · an in-play bet
What the card carries
Bet status, live odds, cash-out window
What the user does
Acts on the cash-out before the window closes

Sports betting, trading, banking and telemedicine use cases need a compliance sign-off before launch — loop in your Pushwoosh CSM early.

The card is half the job. The other half is what you put in it

50 push notifications worth copying, with the copy and the creative behind each one.

Get the examples

Platform & technical coverage

Live Activities are an iOS-only surface, and the version floors are the first thing to check against your own install base. The last column says where the push is the format itself, and where it only drives something your app already ships.

CapabilityiOSAndroidDelivered by
An ongoing card that updates in placeiOS 16.1+, as a Live ActivityAndroid 16 (API 36), as a Live UpdateThe push, rendered by the SDK against the OS live-activity API
Remote start without opening the appiOS 17.2+, push-to-startYes, from the serverToken-based APNs only — certificate-based configuration isn't supported for Live Activities
Content updates/updateLiveActivityOPERATION_UPDATE in the Messages APISame activity ID ties every update to the running card
Updating everyone on the same activityPush once to the shared activity IDAndroid updates per deviceEvery device holding that activity ID re-renders on the next push — there's no separate broadcast channel
Always-visible compact indicatorDynamic Island (iPhone 14 Pro+), Apple Watch Smart StackStatus bar chipThe OS, from the live activity
Widget codeA Widget Extension with SwiftUI/WidgetKit, built by a developerpushwoosh-liveupdates SDK module ships the default styleApple requires your own widget UI; Android ships the OS progress style
Capability
1 / 6
An ongoing card that updates in place
iOS
iOS 16.1+, as a Live Activity
Android
Android 16 (API 36), as a Live Update
Delivered by
The push, rendered by the SDK against the OS live-activity API
Capability
2 / 6
Remote start without opening the app
iOS
iOS 17.2+, push-to-start
Android
Yes, from the server
Delivered by
Token-based APNs only — certificate-based configuration isn't supported for Live Activities
Capability
3 / 6
Content updates
iOS
/updateLiveActivity
Android
OPERATION_UPDATE in the Messages API
Delivered by
Same activity ID ties every update to the running card
Capability
4 / 6
Updating everyone on the same activity
iOS
Push once to the shared activity ID
Android
Android updates per device
Delivered by
Every device holding that activity ID re-renders on the next push — there's no separate broadcast channel
Capability
5 / 6
Always-visible compact indicator
iOS
Dynamic Island (iPhone 14 Pro+), Apple Watch Smart Stack
Android
Status bar chip
Delivered by
The OS, from the live activity
Capability
6 / 6
Widget code
iOS
A Widget Extension with SwiftUI/WidgetKit, built by a developer
Android
pushwoosh-liveupdates SDK module ships the default style
Delivered by
Apple requires your own widget UI; Android ships the OS progress style

Security & hosting

Pushwoosh runs on its own hardware in the US and Germany, under GDPR and BDSG.

ISO 27001:2022 CertifiedISO 27001 CertifiedGDPR CompliantData Privacy FrameworkHIPAA CompliantSOC 2 Type I CertifiedOWASP Compliant

How it works

Building the widget is a one-time engineering step. After that, the three operations run from the Control Panel and the API like any other message in the Journey.

  1. Build the widget once (developer)

    Add a Widget Extension with ActivityKit and SwiftUI/WidgetKit, following Apple's Live Activity attributes model. This step needs a developer — Apple requires your own UI code for the card.

  2. Drive the whole lifecycle from the server (API)

    Push-to-start opens the activity, /updateLiveActivity rewrites it, and an end call closes it, all through the Messages API with one activity ID tying the operations together. setup() manages the push-to-start and push-to-update tokens for you.

  3. Orchestrate it (no-code)

    Fire those operations from the same Customer Journey as the rest of your messaging, against the same segment and the same customer profile. The Android half of the same story runs from that Journey too, through Live Updates.

Limits worth knowing

The surface is narrow by design. These are its edges.

  • Token-based APNs configuration only — certificate-based setups can’t run Live Activities.
  • The card needs its own Widget Extension with a SwiftUI/WidgetKit UI, built by a developer — no visual editor covers this step.
  • Apple restricts the surface to a currently ongoing, user-started event — no promotions, no upsells, no chat messages on the card itself.
  • An activity runs for about 8 hours, plus up to 4 more in a stale state, then Apple ends it regardless of updates.
  • iOS 18 throttles remote updates to roughly one every 5 to 15 seconds. Countdown-based activities, an ETA for instance, keep ticking locally between updates and aren’t affected.
  • Opt-in follows the app’s push permission automatically, though the user keeps a separate toggle to turn Live Activities off on their own.
  • Reporting sees each start, update and end call. The card itself leaves no in-app engagement marker, so per-glance engagement has to come from events you send back separately.
Show the whole story on the lock screen

Start and update a live card from the same campaign and Journey as the rest of your push.

Book a demo