Deep Linking

Deep Linking

Deep Linking provides a smooth user experience by opening specific pages inside your app when users click matching links. It ensures that http:// or https:// links from a specified domain open within the app instead of the default mobile browser. It is recommended to add your hostname both with and without the “www” prefix.

As you click on "Configure", a pop-up will appear.

LH 2.webp


Now, add a URL that matches a specified domain to open the link within your app instead of the default mobile browser.

DP 1.webp


NOTE: Keep in mind that your domain should not contain http:// or https:// prefixes.

Android Configuration

Default Behavior:

  • In Android, Deep Linking usually display a disambiguation dialog, to prompt users to select either to open the link in your app or in a default mobile browser.

App Link Verification:

  • Enable App Link Verification, To bypass the disambiguation dialog prompt and open links directly in your app. This requires adding a configuration file to your website at "/.well-known/assetlinks.json" to prove you control the reference domain.

Steps for Configuration

1. Create the Assetlinks File:

  • Add a "/.well-known/assetlinks.json" file to your website. This file should reference your app's package name and include a SHA-256 fingerprint of your app's signing certificate.

Example of assetlinks.json:

[
  {
    "relation": ["delegate_permission/common.handle_all_urls"],
    "target": {
      "namespace": "android_app",
      "package_name": "com.example.yourapp",
      "sha256_cert_fingerprints": ["<your_sha256_fingerprint>"]
    }
  }
]

2. Verify Configuration:


3. Repeat for each Hostname:

  • Perform the above steps for each hostname you intend to use.

iOS Configuration

Default Behavior:

  • iOS always present a confirmation screen when a user clicks a Deep Linking.

Requirements:

1. Provisioning Profile:

  • In the provisioning profile associated with your app ID, add "Associated Domains" under App Services.

2. Configuration File:

  • Add an "/.well-known/apple-app-site-association" file to your website. This file must include your TEAMID from your Apple Developer account.

Steps for Configuration

1. Add Configuration File:

  • Place the "/.well-known/apple-app-site-association" file on your website to prove domain ownership.

Example of apple-app-site-association:

{
  "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "TEAMID.com.example.yourapp",
        "paths": [ "/path/to/content/*" ]
      }
    ]
  }
}

2. Test Configuration:


iOS Tips:

  • Path Requirement:

  • Multiple Subdomains:

    • If your site uses multiple subdomains (e.g., example.com, www.example.com, support.example.com), each subdomain requires its own entry in the Associated Domains Entitlement and must serve its own /.well-known/apple-app-site-association file.

  • Hosting Requirements:
    • The "/.well-known/apple-app-site-association" file must be hosted with a "Content-Type: application/json" HTTP header, use "https://: with a valid SSL certificate, and return a "200 HTTP Status Code" with no redirects.

Apple Documentation: