Skip to main content
A deep link opens a mini app inside the shell (or brings it to the front), optionally at a route inside it:
For example, xyz.cskn.apps://open/music/playlist/42?ref=share opens the Music app at /playlist/42?ref=share. useDeepLink starts with the link the app was launched with and updates whenever a new one arrives while the app is open. Drive your router from it:
A link reaches your app in one of two ways:
  • Launch link. When a link opens the app, the path is already part of the URL the page boots with. No event is sent. Read it with getInitialDeepLink().
  • Runtime link. When the app is already open, the shell sends a deeplink event so your router can navigate without reloading. Subscribe with onDeepLink(cb).

Opening another app

string
Another app to open or bring to the front.
string
A full cskn.app URL instead of a slug.
string
The route to open. Alone, it navigates inside the current app.
Record<string, string>
Query parameters.
Opening a different app always shows the user a confirmation (“X wants to open Y”). Nothing happens if they decline, so an app cannot move the user to another app without their consent. Navigating within your own app needs no confirmation.

Surfaces