Skip to content

docs(push): add iOS Live Activities page#3464

Open
ttypic wants to merge 1 commit into
mainfrom
liveactivity-section
Open

docs(push): add iOS Live Activities page#3464
ttypic wants to merge 1 commit into
mainfrom
liveactivity-section

Conversation

@ttypic

@ttypic ttypic commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Description

Document starting, updating, and ending iOS Live Activities via Ably-managed APNs broadcast channels: device registration with push-to-start tokens, broadcast channel creation, the start/update/end server calls, and an aps payload and headers reference. Marked Experimental.

Checklist

@ttypic
ttypic requested a review from m-hulbert July 8, 2026 12:55
@coderabbitai

coderabbitai Bot commented Jul 8, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 10b462ed-945a-43ef-8cd7-989ca03e1fdf

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch liveactivity-section

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@ttypic
ttypic requested a review from JoaoDiasAbly July 8, 2026 13:30
@lawrence-forooghian lawrence-forooghian added the review-app Create a Heroku review app label Jul 8, 2026
@ably-ci
ably-ci temporarily deployed to ably-docs-liveactivity--kmqavy July 8, 2026 17:19 Inactive
Comment thread src/pages/docs/push/live-activities.mdx Outdated
Comment thread src/pages/docs/push/live-activities.mdx Outdated
Comment thread src/pages/docs/push/live-activities.mdx Outdated
Comment thread src/pages/docs/push/live-activities.mdx Outdated
@lawrence-forooghian

Copy link
Copy Markdown
Contributor

Probably a question for the devex team but is there a way to force it to show something for a snippet even if it's not in the selected language? Else you have to keep flipping the language selector between JS and Swift to view the full page.

Comment thread src/pages/docs/push/live-activities.mdx Outdated
```
</Code>

Finally, make the device targetable for push-to-start. Either subscribe it to an Ably channel:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It took me a while to understand why Ably channels are introduced here. I think it would be useful to say something like "the Ably channel is only used to select which devices to push-to-start; it has nothing to do with the broadcast channel that carries updates"

Comment thread src/pages/docs/push/live-activities.mdx Outdated
Comment thread src/pages/docs/push/live-activities.mdx Outdated
Comment thread src/pages/docs/push/live-activities.mdx Outdated
Comment thread src/pages/docs/push/live-activities.mdx Outdated
Comment thread src/pages/docs/push/live-activities.mdx Outdated
Comment thread src/pages/docs/push/live-activities.mdx
Comment thread src/pages/docs/push/live-activities.mdx Outdated
Comment thread src/pages/docs/push/live-activities.mdx Outdated
```
</Code>

The underlying REST endpoint is `POST /push/apnsBroadcastChannels/{id}/broadcast`.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe add one clause on why update() posts to /broadcast — an update is a single broadcast to the channel

Comment thread src/pages/docs/push/live-activities.mdx Outdated
| `attributes-type` | start | The exact name of the Swift `ActivityAttributes` struct. |
| `attributes` | start | The activity's fixed attributes; `Date` values as Unix epoch seconds. |
| `input-push-channel` | start | The `apnsChannelId` the started activity subscribes to for broadcast updates. |
| `alert` | start | The user-visible notification shown when the activity starts. |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this also used in update (not just start)?

@ably-ci
ably-ci temporarily deployed to ably-docs-liveactivity--kmqavy July 10, 2026 09:04 Inactive
@ttypic
ttypic force-pushed the liveactivity-section branch from 3561365 to 009ead0 Compare July 10, 2026 10:10
@ably-ci
ably-ci temporarily deployed to ably-docs-liveactivity--kmqavy July 10, 2026 10:10 Inactive
@ttypic
ttypic force-pushed the liveactivity-section branch from 009ead0 to a59c5b0 Compare July 10, 2026 12:45
@ably-ci
ably-ci temporarily deployed to ably-docs-liveactivity--kmqavy July 10, 2026 12:45 Inactive
- Attribute update fan-out to APNs and clarify the one-time channel
  create plus three lifecycle calls in the intro
- Fix the APNs config link (needs ?lang=swift) and use ".p8
  authentication key" terminology
- Add the push-admin capability prerequisite
- Correct iOS requirements: broadcast channels need iOS 18, not 17.2
- Remove the activate(pushToStart:) section; that API is not yet in
  ably-cocoa
- Clarify that the Ably channel only selects push-to-start targets and
  is unrelated to the APNs broadcast channel
- Note that update() posts to /broadcast because an update is a single
  broadcast, and that alert is also valid in update events
- Style guide fixes: remove em-dashes and bold list prefixes

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@ttypic
ttypic force-pushed the liveactivity-section branch from a59c5b0 to 216f0e8 Compare July 13, 2026 17:26
@ably-ci
ably-ci temporarily deployed to ably-docs-liveactivity--kmqavy July 13, 2026 17:26 Inactive
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

review-app Create a Heroku review app

Development

Successfully merging this pull request may close these issues.

4 participants