Skip to content
Launching Oct 10 — OpenPush is free forever to 1M MAU per app, every feature included. Get early access →
ProductJourneysLive ActivitiesPricingCompareDocsChangelogMigrate from OneSignalSign in
Home / Live Activities
Live Activities · iOS · Android Live Updates · free

The Lock Screen,
live.

A Live Activity is the one notification people never swipe away: a countdown to the guild war, the score of the match they are in, the energy bar refilling, the order on its way. OpenPush starts it, updates it and ends it — from the console or two REST calls — on your own APNs credentials. Android gets the same moments as Live Updates. Included on the free plan.

Push-to-start · update fan-out to every device on an activity · a final frame on end · API reference →
01 · Example — the live-event countdown

One activity, three pushes, done.

The event a game runs every weekend, on the Lock Screen of everyone who opted in — started by push before they open the app, updated as the clock runs, ended with the result.

Start · push-to-start
Guild War
Ends in 2 hours
Your guild is 3rd · 4,120 points to 2nd
Update · every few minutes
Guild War
Ends in 25 minutes
Your guild is 2nd · 610 points to 1st
End · final frame
Guild War · finished
2nd place
Rewards are waiting in the game
# start — by activity type, to a segment; devices need a push-to-start token POST /apps/{app_id}/activities/activity/GuildWarAttributes { "event": "start", "activity_id": "war-2026-w36", "name": "Guild war week 36", "event_attributes": { "guild": "Nightfall" }, "event_updates": { "endsAt": 1757100000, "rank": 3, "gapToNext": 4120 }, "included_segments": ["Guild members"], "headings": { "en": "Guild War" }, "contents": { "en": "Ends in 2 hours" } } # update — every device on the activity POST /apps/{app_id}/live_activities/war-2026-w36/notifications { "event": "update", "event_updates": { "rank": 2, "gapToNext": 610 } } # end — with the final frame, then the activity can never be updated again POST /apps/{app_id}/live_activities/war-2026-w36/notifications { "event": "end", "event_updates": { "rank": 2, "final": true }, "dismissal_date": 1757103600 }

The same two endpoints OneSignal documents, field for field — a migration keeps its calls. Schema and rules in the reference.

02 · Templates — shipping with the launch

Five activities every app needs.

Each one ships with the launch as a template: a typed attribute and content-state schema the server validates, a widget layout in the SDK, and a demo timeline the console can play to your own phone. Copy the one closest to yours; change the fields.

Countdown

Live-event countdown

Ends-at time, your rank, the gap to the next rank. Starts by push before the event; ends with the result.

Score

Tournament and match score

Two sides, a status line, a progress bar. Updates as often as the match does; ends with the final score.

Timer

Energy and lives refill

The next-refill time, the count so far, a tap that deep-links into the game. Ends when the bar is full.

Progress

Season pass and event progress

Tier, points to the next reward, days left. Updates on each qualifying event your app records.

Tracking

Order and delivery

The non-game one: status, ETA window, the courier's last step. Ends on delivery with a final frame.

Android

Live Updates, the same way

Android renders start, update and end as one ongoing notification with a progress style, promoted where the OS allows it. One send, both platforms.

03 · How it works

Tokens, windows, and an honest end.

Two kinds of token

Update tokens and push-to-start tokens

When a device opens an activity, the SDK registers its update token against the activity id; every update fans out to every device on that id. A push-to-start token, registered per activity type, lets you start the activity by push on devices that have not opened the app. Both are handled by the SDK with disk-persisted retries.

Apple's windows, enforced server-side

Eight hours active, four hours stale

The server only targets devices inside Apple's activity windows, so an update never goes to a token that cannot show it. An ended activity is final — the API answers with a clear error rather than a silent no-op — and every start, update and end is a message in your report, with confirmed receipts and taps.

Straight answers

Live Activities questions.

Is this really free?

Yes — Live Activities and Android Live Updates are included on the free plan to a million MAU per app, with no cap on total subscribers using them.

Do I need a new widget for every template?

The SDK ships a default attributes type that decodes any content state, so you can start with the default widget and one layout. Each template above also ships its own widget layout you can drop into your widget extension. Unity apps get a bundled default widget and the injection to use it.

Can I try it without writing code?

Yes. The OpenPush.ai App links your phone to the console; the sample workspace has a Live Activities lab that plays a whole timeline — start, updates, end — to your device. The app →

What about very large activities?

Update fan-out is bounded per activity today; we publish the exact figure on /limits after our benchmark runs against real providers rather than guessing here. If you run a stadium-sized activity, tell us and we will plan it with you.

Start one by push

Before they even open the app.

Free forever to 1M MAU · read the pledge