Skip to content

Deep Links

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.
Round48of48