Andrew Tunnell-Jones / Log

App to website URL associations on Android, iOS, macOS, and Windows

App Links were introduced with Android 6.0 (API level 23).

Handling Android App Links:

The general steps for creating Android App Links are as follows:

  1. Create deep links to specific content in your app: In your app manifest, create intent filters for your website URIs and configure your app to use data from the intents to send users to the right content in your app. Learn more in Create Deep Links to App Content.

  2. Add verification for your deep links: Configure your app to request verification of app links. Then, publish a Digital Asset Links JSON file on your websites to verify ownership through Google Search Console. Learn more in Verify App Links.

Said JSON file is hosted at .well-known/assetlinks.json and contains the package name and SHA-256 fingerprints of the app's signing certificate.

Universal Links have been available on iOS since iOS 9 and are coming to macOS in 10.15.

Allowing Apps and Websites to Link to Your Content:

Take the following steps to support universal links:

  1. Create a two-way association between your app and your website and specify the URLs that your app handles, as described in Enabling Universal Links.

  2. Update your app delegate to respond to the user activity object iOS provides when a universal link routes to your app, as described in Handling Universal Links.

The gist of the first step is to host some JSON at .well-known/apple-app-site-association containing the application identifier and paths the app can handle, and on the app side to use the Associated Domain Entitlement to specify associated domains.

Windows - Apps for Websites

Introduced in the Anniversary Update.

Enable apps for websites using app URI handlers:

To enable web-to-app linking you will need to:

  • Identify the URIs your app will handle in the manifest file
  • A JSON file that defines the association between your app and your website. with the app Package Family Name at the same host root as the app manifest declaration.
  • Handle the activation in the app.

JSON is hosted at windows-app-web-link or .well-known/windows-app-web-link.