Deep links
Listen for custom URI-scheme links, read a pending launch link, and build links with your registered schemes.
Listen for deep links
Subscribe with onReceived to handle custom URI-scheme links — it fires for warm deliveries and replays one unconsumed cold-start link, deduped by id. Don't also call get() for the same launch. Branch dynamic links are a separate server feature — see Branch deep links.
The payload is a BdkDeepLinkRecord. Path-form links (form: "path") are for you to route. URL-form links are already applied by native — don't navigate again.
This feature can be switched off in a given app build — check await bdk.capabilities.has("deeplink.scheme") before showing the UI. See Detect features. When it's off, get() resolves ok: false with code: "common/feature_disabled".
Read a pending link
Call get() to consume the stored link — use this when you are not using onReceived. received is false when there is none. A received record includes coldStart (whether this link launched the app) and consumed (whether a previous get() already took it).
List your schemes
schemes() returns the app's registered URI schemes in preference order. It returns [] when the capability is absent.
Build a link
buildLink encodes a URL-form or path-form link with the first registered scheme. URL-form is scheme://open?url=…. Path-form is scheme://path?query. It returns null when the build has no scheme.