> For the complete documentation index, see [llms.txt](https://docs.buildnatively.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.buildnatively.com/hidden-pages/setup-website-universal-links-deeplinks.md).

# Setup website Universal Links (Deeplinks)

{% embed url="<https://www.youtube.com/watch?v=ZegNTNAOJVM>" %}

## Android

### Setup Associated Domain

#### Create assetlinks.json file

* Download the following template file and open it.

{% file src="/files/lDOGIhUbUBkkru0mjCNE" %}

* Replace [**BUNDLE\_ID**](broken://pages/GO6Q68GbybIEr01M4coS#bundle-identifier) \*\*\*\* with your IDs
* Replace PRODUCTION\_SHA256 & STAGING\_SHA256 with your fingerprint value

{% hint style="info" %}
If you don't see the Upload key certificate content,, you need to [upload](https://support.google.com/googleplay/android-developer/answer/9845334#zippy=%2Cinternal-test-manage-up-to-testers) your app first.
{% endhint %}

![](/files/ReoNA0pNzW0p3SHHztJc)

![](/files/s71lOvMgwc4u8kVnPOfU)

* In the final result you should get something like this:

```
[
  {
    "relation": ["delegate_permission/common.handle_all_urls"],
    "target": {
      "namespace": "android_app",
      "package_name": "com.example.app",
      "sha256_cert_fingerprints":
        [
          "E7:8B: (YOUR KEY HERE) :BB:98",
          "0F:38: (YOUR KEY HERE) :1B:F2"
        ]
    }
  }
]
```

* Save the file as **assetlinks.json**

#### Setup your bubble.io website

* Open your bubble project
* Go to the **Settings -> SEO / metatags**
* Scroll down and find **Hosting files in the root directory** section
* Set name to **.well-known/assetlinks.json** and upload your file
* Publish the changes

![](/files/XgQ1iwyrnipw2XxtbzpR)

### Verify Android Domain Works

{% embed url="<https://developers.google.com/digital-asset-links/tools/generator>" %}

## iOS

### Prerequisites

* [Add](broken://pages/ou3RV3s0QhBkOeM1aFDP#add-associated-domains-feature-to-bundle-identifier) the Associated Domains feature to your Bundle Identifier.

### Setup Associated Domain

#### Create apple-app-site-association file

* Download the following template file and open it.

{% file src="/files/jP9hv2uXrw0fsLSejvZm" %}

* Replace **TEAM\_ID &** [**BUNDLE\_ID**](broken://pages/GO6Q68GbybIEr01M4coS#bundle-identifier) \*\*\*\* with your IDs
  * To find **TEAM\_ID**, open the Apple's developer website
  * Click Membership
  * Copy your Team ID

![](/files/txyHVYvLY3uNj8Wn9aMw)

![](/files/DAaG9cgA5fsXkuy34OP5)

* In the final result you should get something like this:

```
{
	"applinks": {
		"apps": [],
		"details": [{
			"appID": "TEAM_ID.BUNDLE_ID",
			"paths": [
				"*"
			]
		}]
	}
}
```

* Save the file as **apple-app-site-association**

#### Setup your bubble.io website

* Open your bubble project
* Go to the **Settings -> SEO / metatags**
* Scroll down and find **Hosting files in the root directory** section
* Set name to **.well-known/apple-app-site-association** and upload your file
* Publish the changes

![](/files/NtbYmPFrgVMuxIoZOGQH)

### Verify iOS Domain Works

{% embed url="<https://branch.io/resources/aasa-validator/>" %}

{% hint style="info" %}
If your app supports both Android and iOS, you must upload both the [`assetlinks.json`](https://docs.buildnatively.com/guides/setup-website-universal-links-deeplinks#create-assetlinks.json-file) file for Android and the [`apple-app-site-association`](https://docs.buildnatively.com/guides/setup-website-universal-links-deeplinks#create-apple-app-site-association-file) file for iOS to your web server.
{% endhint %}

## Enable the Universal Links feature

[Enable](/natively-platform/features/deep-links.md#android) the Universal Links feature and fill out all relevant information.
