# Deep Links for published apps

{% hint style="warning" %}
Please note that Firebase Dynamic Links are now deprecated and should not be adopted in new projects that don't already use it. We have implemented an alternative using <https://dynalinks.app/> which works in a very similar way.
{% endhint %}

### Requirements

* A Dynalinks account.
* A ready to publish or published app
  * For iOS, it is needed to [have completed step 2](/app-publication/publishing-your-app/ios-publication-complete-process/generate-certificates-appids-and-provisions.md) of the iOS publishing process. The app doesn't need to be published, only created in **App Store Connect**.
  * For Android, it is needed to [have completed steps 1 and 4](/app-publication/publishing-your-app/android-publication-complete-process.md) of the Android publishing process.

In case you're about to publish your app to the stores or test it with Testflight / debug APK, you can generate a deep link targeting it.&#x20;

{% hint style="warning" %}
Make sure you **set this up before generating the app bundles (IPA / AAB) and making your app public**. Otherwise you will need to upload an update to the stores, requiring all your users to update the app on their phones.
{% endhint %}

### Step 1: Create an app in Dynalinks

If you don't have any app created in Dynalinks yet, follow the next steps:

1. Register your app in the [Dynalinks Console](https://dynalinks.app/console)
2. For Android:
   1. Upload your SHA-256 fingerprint
   2. Add Package Id
3. For Ios:
   1. Add Bundle Identifier – You’ll find this in your **Xcode project settings**.
   2. Add Team ID – Locate it in your [Apple Developer account](https://developer.apple.com/account/ios/profile/) under **Provisioning Profiles**.
   3. Add App Store ID – Found in your app’s App Store URL, e.g.:\
      `https://itunes.apple.com/us/app/yourapp/id**123456789**`

{% tabs %}
{% tab title="iOS" %}

1. Enter your <mark style="color:red;">**`Bundle ID`**</mark> and <mark style="color:red;">**`App Store ID`**</mark>. Remember you need to complete [step 2 of the publishing process](/app-publication/publishing-your-app/ios-publication-complete-process/generate-certificates-appids-and-provisions.md) to have these parameters ready.

**Where do I find the final Bundle ID (for iOS)?**\
\
When you have the necessary files for publication, use the same **Bundle ID** from the Bravo publication form for the final Firebase file. (Check how to [set up the Bundle ID](https://docs.bravostudio.app/app-publication/publishing-your-app/ios-publication-complete-process) on the app publication process)

2. Enter the <mark style="color:red;">**`Team ID`**</mark> on the Apple app you have just created. You can find this on the Apple developer portal, under the [Identifier of your app](https://developer.apple.com/account/resources/identifiers/list), as *App ID Prefix.* Then **Save**.
   {% endtab %}

{% tab title="Android" %}

1. Enter your <mark style="color:red;">**`Android Package`**</mark> name. Remember you need to [have completed steps 1 and 4](/app-publication/publishing-your-app/android-publication-complete-process.md) of the Android publishing process to have these parameters ready.

**Where do I find the final package name (for Android)?**\
\
In the Publish tab of your app project, go to **Android** > **Publication**.&#x20;

2. Get the SHA256 code from the **build history** of your app on Bravo Studio:&#x20;

<figure><img src="/files/p12SrKSJZrGwWjbygKzI" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

### Step 2: Complete Firebase Settings in Bravo

1. Go back to **Bravo** -> **Your app** -> **Integrations** -> **Deep Links** -> **Dynalinks Settings**

![](/files/9a1PNqe47OaUvDK9IoMM)

1. Complete the following data:
   1. Domain - Dynalinks Domain
   2. API Key - Dynalinks API Key
   3. IOS Bundle ID - as mentioned above
   4. Android Package Name - as mentioned above<br>
2. Once you've set these values, click **Save**.&#x20;

### Step 3: Generate the Deep Link

Finally, go to the [**Generate links**](/integrations/deep-links.md#generate-a-deep-link) section, fill in the following values:

* **Deep Link Name**: The name for the deep link you'll generate. You can use any name you prefer. Later on, the latest generated deep links will appear in the panel, identified with the name you set here.
* **URL copied from Bravo Vision**: Here, specify the app page you want to target with the deep link. To get this URL, you need to open the app in Bravo Vision, go to the desired page, long press, and select **`Copy page URL`**, as indicated [here](/integrations/push-notifications/how-to-get-a-bravo-page-url.md).
* **URL to open from Desktop**: In case the deep link is opened from a desktop device instead of a mobile phone, the URL specified here will be opened. You can set it to whatever webpage you wish. Remember to provide the **complete webpage URL** (including <mark style="color:red;">`https://`</mark>).

<figure><img src="/files/kBsUnUPoNaxoda9qb0DP" alt=""><figcaption></figcaption></figure>

4. Click on <mark style="color:red;">**`Create live app link`**</mark> button and your deep link is created! :tada:&#x20;

{% hint style="warning" %}
If you already have a published app bundle, and you change these settings afterwards, you'll need to generate a new bundle and publish an update to the stores.
{% endhint %}

### Step 4: Test your Deep Link

Once generated, you'll obtain a deep link that you can test on a mobile device with the target app installed. You'll find the list of deep links generated right under.&#x20;

<figure><img src="/files/OWL8YQd3RBcLKkj2o3Wb" alt=""><figcaption></figcaption></figure>

From this screen, you'll be able to:

* **Copy the Deep Link URL to the Clipboard** in a Notes app and open the Deep Link URL from a mobile device. You can also test using opening the link from the browser address bar of a desktop, the URL to open from Desktop will be shown in this case.&#x20;
* #### Scan a QR code to test your deep link with a mobile device.

Related guides:

{% content-ref url="/pages/iExDQl92RWBYbmCOlyh5" %}
[Troubleshooting Deep Links](/integrations/deep-links/troubleshooting-deep-links.md)
{% endcontent-ref %}

{% content-ref url="/pages/o41J5bhRIjVNh86hS6Rg" %}
[Deep Links for Bravo Vision](/integrations/deep-links/deep-links-for-bravo-vision.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bravostudio.app/integrations/deep-links/deep-links-for-published-apps.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
