For the complete documentation index, see llms.txt. This page is also available as Markdown.

πŸ”—Universal Links

Associate your website domain with your app so that links open directly in your app instead of a browser.

Universal Links associate your website domain directly with your app - no third-party service required. When a user taps a link to your website, the device recognizes it as a deep link and opens your app instead of a browser, navigating them directly to the right page or content.

If the app is not installed on the device, the link opens normally in the browser, so your website always works as a fallback.

Setups differ between iOS and Android. Use the sections below to follow the correct setup for your platform, or complete both if your app supports both platforms.

iOS

Prerequisites

App Capabilities Configuration

App capabilities define what system-level features your app is allowed to use on iOS. Before Natively can include Universal Links in your build, the Associated Domains capability must be explicitly enabled in your Apple Developer account for your app's Bundle ID.

  1. Select your app's Bundle ID.

  2. Scroll down the Capabilities list and enable Associated Domains.

  3. Click Save and confirm.

apple-app-site-association

For Universal Links to work, your website must host a special verification file called the Apple App Site Association (AASA) file. This file tells iOS that your website and app are associated, allowing links to your domain to open in your app instead of a browser.

Download AASA template

Replace TEAM_ID with your Apple Team ID and BUNDLE_ID with your iOS app's Bundle ID.

Your Apple Team ID is located in your Apple Developer account under Membership details.

Team ID under Membership Detail
Bundle ID from App Store Connect iOS app

Android

Prerequisites

  • Your Android app is already published in the Natively Dashboard.

  • Your app is uploaded to the Google Play Console - required to access the Upload key SHA-256 certificate fingerprints.

assetlinks.json

For Android App Links to work, your website must host a Digital Asset Links file. This file tells Android that your website and app are associated, allowing links to your domain to open in your app instead of a browser.

Download assetlinks.json template

Replace BUNDLE_ID with your app's Bundle ID. As for the SHA256 fingerprints:

  • APP_SIGNING_KEY_SHA256 β€” your App signing key SHA-256 certificate fingerprint.

  • UPLOAD_KEY_SHA256 β€” your Upload key SHA-256 certificate fingerprint.

Both can be found in your Google Play Console app page under Protected With Play > Play Store protection > Protect app signing key > Manage Play App Signing.

If you don't see the Upload key certificate content, you need to upload your app first.

Google Play Console Manage Play app signing
SHA-256 fingerprints

Website setup

Before proceeding, make sure you have already created and configured your verification files for iOS and Android.

Once your files are ready, follow the instructions below for your platform to host them on your website.

To make Universal Links work, your website needs to host two special files at specific locations that Apple and Google can access to verify your domain.

Upload the relevant file(s) for your platform::

  • apple-app-site-association - required for iOS, must be accessible at https://yourdomain.com/.well-known/apple-app-site-association

  • assetlinks.json - required for Android, must be accessible at https://yourdomain.com/.well-known/assetlinks.json

Files must be publicly accessible without any redirects.

If you are unsure how to host files on your website, check the other tabs for platform-specific instructions.

How to verify?

Once your verification files are hosted, confirm everything is configured correctly before proceeding to the Natively Dashboard Setup.

Both tools check the live hosted files, not your local copies. Make sure you have published your changes before running the verification.

iOS

Use the Branch AASA Validator to verify your apple-app-site-association file. Enter the following details to confirm the file is accessible, correctly served, and valid:

  • Domain - your website domain.

Android

Use the Google Digital Asset Links tool to verify your assetlinks.json file. Enter the following details to confirm the file is correctly hosted and your app is properly associated with your domain:

  • Hosting site domain - your website domain.

  • App package name - your app's Bundle ID.

  • App package fingerprint (SHA256) - either your app signing key or upload key SHA256 fingerprint from the Google Play Console.

Checking via Android device settings

You can also verify directly on your Android device. Go to Settings > Apps > [your app] > Open by default (also called Supported web addresses on some devices):

  • If the toggles are enabled or the link is present but there are no toggles (behavior depends on Android vendor) - Android Universal Links are correctly configured.

  • If the toggles are present but disabled - the assetlinks.json is incorrect or couldn't be verified by Android. The app is configured for deep links, but Android couldn't confirm domain ownership.

Natively Dashboard Setup

Before proceeding, make sure your verification files are hosted and accessible. You can confirm this using the tools in the How to verify section above. If there are any issues with your files, Natively Dashboard will indicate a configuration problem, and the feature cannot be enabled until they are resolved.

  1. Open your Natively app dashboard and navigate to Features > Deep Links > Universal Links.

  2. Toggle the feature to Enabled.

  3. Enter your Associated Domain - your website domain (e.g. yourdomain.com).

  4. Click Save.

  5. Rebuild your app(s).

Natively will prefill the Associated Domain with your app's URL configured in the Natively Dashboard. You can modify it if your deep links domain differs from your app's main URL.

Troubleshooting

Last updated