Keeping Score! accepts deep links from three URL families. They’re the same endpoints used internally by the app’s widgets and Shortcuts, and they’re stable across releases.
- Custom scheme:
keepingscore://<host>/<path>
- Universal links:
https://www.keepingscore.app/open/<host>/<path>
- Short universal links:
https://open.keepingscore.app/open/<host>/<path>
A locale prefix in universal links is stripped automatically. https://www.keepingscore.app/fr/open/games is treated identically to https://www.keepingscore.app/open/games.
| Route |
Destination |
game/new |
New game form. ?kids=true starts a Kids game; ?scrollTo=rules or ?scrollTo=winConditionSection jumps to a section. |
game/{uuid} |
Open a specific game |
game/{uuid}/calculator |
Open game and present the calculator sheet |
game/{uuid}/leaderboard |
Open game and present the leaderboard sheet |
game/{uuid}/history |
Open game and present score history |
game/{uuid}/share |
Open game and present the share sheet |
game/{uuid}/edit |
Open game and present the edit form |
game/{uuid}/tv |
Push the game to the TV. ?variant=classic|competitive|cozyLight|cozyDark picks a theme. |
game/{uuid}/notes |
Open game and present the memories sheet |
game/{uuid}/notes/new |
Open game and present the memory capture sheet |
game/{uuid}/celebrate |
Open game and play the winner celebration. ?variant=... for the TV scene. |
game/{uuid}/rematch |
Create a rematch from this game |
games |
Games list. ?filter=playing or ?filter=finished. |
resume |
Resume the most recent in-progress game |
| Route |
Destination |
personas |
Persona library |
persona/new |
New persona. ?kind=player|team. |
persona/{name} |
Edit persona by display name |
persona/{name}/stats |
Persona stats |
persona/id/{uuid} |
Edit persona by stable ID. Locale-stable across renames |
| Route |
Destination |
templates |
Custom game template library |
templates/new |
New custom template |
templates/{uuid} |
Edit custom template |
categories |
Category template library |
categories/new |
New category template |
categories/{uuid} |
Edit category template |
| Route |
Destination |
collection/new |
New collection |
collection/picker |
Collection picker sheet |
collection/{uuid} |
Open a collection |
| Route |
Destination |
calendar |
Calendar at the default zoom |
calendar/year |
Calendar zoomed to year |
calendar/month |
Calendar zoomed to month |
calendar/week |
Calendar zoomed to week |
calendar/date/{YYYY-MM-DD} |
Calendar centred on a specific date |
journey |
Your Journey |
| Route |
Destination |
paywall |
Paywall sheet |
settings |
Settings root |
settings/sounds |
Sound settings |
settings/sounds/{event} |
Per-event sound picker |
settings/sounds/record |
Custom sound recorder |
settings/appicon |
App icon picker |
settings/tv-display |
TV display theme picker |
settings/sync |
Sync status |
settings/pin |
Kids Mode PIN entry |
settings/deleted |
Recently Deleted |
settings/backup |
Backup overview |
settings/backup/list |
Backup snapshot list |
settings/report |
Report an Issue |
settings/report/submitted |
Submitted reports list |
settings/report/submitted/{refID} |
Specific submitted report detail |
Long-press the app icon on the home screen for two Quick Actions:
- New Game (
NewGameAction)
- Resume Game (
ResumeGameAction)
The app also publishes the app.keepingscore.KeepingScore.viewGame NSUserActivity type for Handoff.
- Use
https://open.keepingscore.app/open/... rather than the custom scheme inside a Shortcut. Universal links survive across iCloud-synced Shortcuts even if a device hasn’t yet installed the app.
- The
resume route is the most useful one to wire to a home-screen widget. One tap returns to the game you were last playing.
- For TV-driven game nights, build a Shortcut that opens
game/{uuid}/tv?variant=competitive from a home-screen icon.