Skip to content

infra: host association files + fallback on invitations.dashpay.io for DIP-13 invitation applinks #4212

Description

@shumkov

The example-app invitation flows (Swift + the new Kotlin port on feat/kotlin-dashpay-invitations) now emit AppsFlyer-form invitation links onlyhttps://invitations.dashpay.io/applink?du=…&assetlocktx=…&pk=…&islock=… — matching the production wallets (owner decision; the interim dashpay://invite custom scheme is retired). For these links to open the apps, the domain needs infra work:

  1. /.well-known/assetlinks.json — Android App Links verification for the example/production app package(s) + signing-cert SHA-256. The Kotlin app already ships the https intent-filter; we flip android:autoVerify="true" the moment this is served.
  2. /.well-known/apple-app-site-association — iOS Universal Links for the Swift app's app id; the app then adds the associated-domains entitlement.
  3. Web fallback for /applink — the path currently 404s (dead since the Firebase Dynamic Links shutdown). A tap without the app installed should land on an install/explainer page. ⚠️ The query string carries pk, a one-time bearer private key — the fallback endpoint must not log query strings (access logs, analytics, CDN logs) and should be served with strict no-referrer.
  4. AppsFlyer OneLink template/credentials (optional, for the managed short-link + attribution layer) — the account creds sit with the Android team; needed only if we want OneLink-wrapped short links rather than the raw applink form.

Context: #4096 (closed) tracked the earlier universal-link migration; this supersedes it with the concrete host-side checklist. Client-side wiring on both platforms is done up to the two one-line verification flips in (1)/(2).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions