Bravo Studio Help Center
  • Get started with Bravo Studio 👏
  • Get Started
    • 🚀Create your first app
    • 🌟Bravo introduction
      • Get ready to create your app with ChatGPT
      • Create an app
        • Creating an app with Figma
        • Creating an app with Adobe XD
      • Duplicate an app
      • Delete an app
      • Replace linked Figma file
      • The app page
      • Sharing your app
      • Add an editor to your app
      • Fonts
        • Adobe XD - Supported fonts
    • 📱Bravo Vision previewer
    • ✨Unlock power features to create interactive apps
    • 🎓Help and tutorials
      • 📖App guide tutorials
        • Sample app tutorial: Your first binding
        • How to build a Fitness app with Bravo, Xano and RevenueCat
        • Foodgram: Social content sharing
        • Expedition journal: Write and share your adventures
        • My Subscriptions: Display data based on device ID
        • My Notes: using user ID and email from Firebase
        • My Store: Sell physical products with Bravo and Stripe
        • Titan: How to create a Smart Home App with No-Code?
        • n8n: Building an expense tracking app in 10min
      • 📺Learn with videos
      • 📚Learn with articles
      • 🗃️Browse by app feature
        • Save or "bookmark" a page
        • Backend search with Airtable
        • Backend search with Xano
        • Nested lists (list within a list)
        • Create and edit user profile (Firebase + Airtable)
        • Skeleton loader
        • Create albums in your app with Bravo Infinite images
  • Set up your design
    • 🖌️Get your Figma ready for Bravo
      • 🗃️Structuring the design: the layer hierarchy
      • 🪄Bravo Tags: adding functionality to the UI elements
      • 🧱The container
        • Setting up a container on Figma
        • Setting up a container on Adobe XD
      • 📲App navigation
        • Setting up app navigation on Figma
        • Setting up app navigation on Adobe XD
    • 🔌Bravo plugin for Figma
    • 💾Sample design files
    • 🤓Best Practices
  • App components
    • 📒Bravo Tags Master List
    • 🚪Menus
      • Modal Menu
      • Modal pages
      • Tabs Menu
      • Pop Up pages
      • Slide Menu
    • 🍞Pages
      • Modal pages
      • Pop-up pages
      • Swipe page
      • Transitions page
      • Page reveal animations
      • Page tabs
      • 🔮Stateful pages
    • 📦Containers
      • Swipe to delete
      • Top bar
      • Carousel slider
      • Aspect ratio relative to screen
      • Sortable List
      • Layer (sticky element)
    • 👋Intro & Onboarding
      • Intro page
      • Post-login page (Onboarding)
    • ⌛Loading experience
      • Loading page
      • Custom loading page
      • No loading
      • Preload
    • 📝Form & input fields
      • 👁️Password Visibility Toggle
      • 🩷Stateful input
        • ☑️Checkboxes (Multiple select)
        • ✅Required Checkbox
        • 🔘Radio buttons (Single select)
      • ⏳Input time Interval
      • 📄Dropdown selector
      • 🎚️Slider control
      • 🗓️Calendar picker
      • 📄Send form input to a database
    • 💎Components
      • Autoplay Video
      • GIF
      • SVG Component
      • Web view
      • Web Components using AI
      • Web view communication
      • LottieFile
      • Lottie-animated component
      • Flexible text (Flexo)
      • Zoomable image
      • Component states
      • Stateful component (like button)
      • Setting up the backend of Stateful component (like button)
      • Haptic Feedback (Buzzz)
      • Progress bar
      • Rich text
      • Date, Time and Currency Formatter
      • Scrollable text
      • Text Lines & Truncation
      • Status bar
    • ⚡Mobile actions
      • Mobile Actions
      • Play audio
      • Record audio
      • Play video
      • Scan QR code (external URL)
      • Scan codes (remote action)
      • Search & filter
      • Refresh page
      • Share location
    • 📱App Icon & Splash Screen
    • 🗺️Map with markers
    • 📈Charts
  • Data and Backend
    • 🗂️Set up a no-code backend
      • Xano
        • Nested lists (list > list > detail page) with Xano
        • Create a bookmark functionality with remote actions and device ID with Xano
        • Multi-user setup with Xano
        • 🔒Setting up the Xano Log in Snippet
          • ♻️Refresh Token
      • Airtable
        • Nested lists (list > list > detail page) with Airtable
        • Sort list with Airtable
        • Connect multiple tables from Airtable to one app
        • Update Airtable's API key to Access Token
      • Backendless
      • Bubble
      • Notion
        • Getting data from a Notion table
      • Firebase
        • Getting data from Firestore
    • 💾Set up API requests
      • Set up from scratch
        • Airtable
          • Set up an API GET request for list page - Airtable
          • Set up an API GET request for detail page - Airtable
          • Set up an API POST request - Airtable
          • Set up an API DELETE request - Airtable
        • Xano
          • Set up an API GET request for list page - Xano
          • Set up an API GET request for detail page - Xano
          • Set up an API PATCH request - Xano
          • Set up an API POST request - Xano
          • Set up an API DELETE request - Xano
      • Using GraphQL body type
      • Set up with API wizard & importer
        • Using the Airtable API Wizard
        • Using the Xano API wizard
    • 🎲Variables
      • Built-in variables
      • Set Variable
    • 📚Data Collection & Binding: Complete Collection
    • 🗂️Pagination
    • 🐛Debugging API issues
      • ⚙️Debugging requests in the API Collection
      • 📲Event logger
      • 🔗Link property
  • Data binding
    • 🤝Data binding types
      • API binding types
      • Bind multiple API requests to one screen
      • How to connect my API to a mobile actions
      • Remote actions: trigger an API request with a UI element
    • 💡Display data in your app
      • Bind data to design for a list page
      • Bind data to design for a detail page
    • 🆕Create data from your app
    • 🗑️Delete data from your app
    • 🚦Conditional Visibility
    • 🎛️Conditional Actions
  • Integrations & Settings
    • 🖇️Deep Links
      • 🖇️Deep Links for Bravo Vision
      • 🖇️Deep Links for published apps
      • 🖇️Troubleshooting Deep Links
    • 🔔Push Notifications with OneSignal
      • How to get a Bravo page URL
    • ⚙️Firebase Configuration
    • 🔐User Authentication
      • 🔑Authentication with Kinde and Xano
      • 🧙🏽Authentication with OAuth 2.0
        • Using social logins to authenticate users
        • Using AWS Cognito to authenticate users
        • Connecting to Spotify API
      • 📲User login with Firebase
        • ✉️Email and password Login with Firebase
        • 📞Phone Login with Firebase
        • 🍎Social Login with Firebase
        • 👻Anonymous Login with Firebase
      • ⛓️Authentication with custom backend
        • Set up Xano as your user authentication backend
    • 💰Stripe: One-time Payment
    • 💬Chat: CometChat
    • 💸RevenueCat: In-app purchases and subscriptions
    • 📉Bravo Analytics
    • 📳Facebook App Events
    • 📊Google Analytics
    • 🌐Multilingual apps
    • 🕸️How to connect with Webflow API
    • 📡NFC connection
    • 🎯Admob
  • App Publication
    • 🚀Publishing your app
      • iOS Publication: Complete Process
        • 1. Generate Certificates, AppIDs and Provisions
        • 2. Get the IPA
        • 3. Upload IPA to App Store Connect
        • 4. Test your app on TestFlight (optional)
        • 6. App Store publication
        • 7. Updating an app in the App Store
      • Android Publication: Complete Process
        • 1. Create a Keystore File (optional)
        • 2. Get the Debug APK to install
        • 3. Install the Debug APK in your device
        • 4. Get the AAB (Android App Bundle) file to publish
        • 5. Google Play publication
        • 6. Updating an app in Google Play
      • Android APK Installation Guide
      • Rejection from the app stores
    • 🎛️Making changes to your app after publication
    • 🛍️Versioning
    • 🌟App rating alert
  • Good to Know
    • 🤔Troubleshoot
      • Errors when logging in
      • Errors when creating an app
      • Errors in API requests
        • Request timeouts on Bravo
      • Errors after importing
      • Errors in publication form
    • 🧑‍💻Manage your account
    • 💳Billing
      • Bravo Subscription Plans Overview
      • App Add-ons
      • Upgrading a plan
      • Downgrading a plan
      • App allowance
      • Invoices & payment method
      • FAQ
    • ❓FAQs
      • About Bravo Studio
      • Importing a design file
      • Bravo Vision
      • Bravo Tags
      • API & Data Library
      • Login & Account
      • Other Features
  • NEED SOME HELP?
    • 📖Bravo Support Guide
    • 🤝Join the Bravo community
    • 🤖Bravo Assistant
    • 👥Production support
    • 🐞Report an issue
Powered by GitBook
On this page
  • Requirements
  • Step 1: Create a Firebase project
  • Step 2: Generate the web API Key
  • Step 3: Create an app in Firebase
  • Step 4: Configure Dynamic Links in Firebase
  • Step 5: Complete Firebase Settings in Bravo
  • Step 6: Generate the Deep Link
  • Step 7: Test your Deep Link

Was this helpful?

  1. Integrations & Settings
  2. Deep Links

Deep Links for published apps

PreviousDeep Links for Bravo VisionNextTroubleshooting Deep Links

Last updated 11 months ago

Was this helpful?

Please note that Firebase Dynamic Links are now deprecated. We are actively working on supporting this functionality with an alternative provider. Thank you for your patience and understanding. .

Requirements

  • A Google account

  • A Firebase project

  • A ready to publish or published app

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.

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.

Step 1: Create a Firebase project

  1. Click on Add project and follow the prompts to create a new Firebase project. Skip this step, if you already have a Firebase project for the app.

Step 2: Generate the web API Key

  1. Inside your Firebase project, go to Build > Authentication > Sign-in method.

  2. To generate a web API key, enable a sign-in method like Email/Password. Although we don't need to set up any authentication in our app to use deep links, this configuration will generate a web API key that we will use later.

  3. Click on the wheel icon at the top left, then click on Project settings > General tab.

  4. In the Your project section, and you'll find the Web API Key. Copy it; you'll need it later.

Step 3: Create an app in Firebase

If you don't have any app created in Firebase yet, follow the next steps as you need to create new Firebase configuration files with the final bundle ID (for iOS) and package name (for Android) and upload them to Bravo Studio. Otherwise, add the missing params we mention:

  1. Scroll down to Your apps section and click Add app.

  2. Select a platform: iOS or Android.

  3. Register the app and do the following depending on the platform:

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

  1. Once the app is created, go to Your apps, select the Android app and by clicking Add Fingerprint, add the SHA 256 code (not the SHA-1) corresponding to your Android app.

Find this code from the build history of your app on Bravo Studio:

Step 4: Configure Dynamic Links in Firebase

  1. Go to Engage > Dynamic Links.

  2. Click on Get Started.

  3. On the Add a URL prefix click on the Domain input.

  4. Click on the option (autogenerated) below Google provided domains.

  5. Click Continue and Finish.

  6. On the Dynamic Links page, click on the tree dots icon (at the right of the New Dynamic Link button) and select Allowlist URL pattern.

  7. In this page, enter your domain as: apps-service.bravostudio.app and press Save. This will automatically generate your Regex URL. You might also see a warning on setting your allowed domains for Dynamic Links, which has the same purpose.

You will need to add any domain you are going to use as fallbacks on your deep links, like your website domain. Remember to use the same regex syntax.

Step 5: Complete Firebase Settings in Bravo

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

  2. In Deep link settings, Click on Configure.

  3. Complete the following data:

  • Upload the Android file (google-services.json): The Android configuration file you can download from a Firebase iOS App in Firebase console.

  • Upload the iOS file (GoogleService-Info.plist): The iOS configuration file you can download from a Firebase iOS App in Firebase console.

  • iOS App Store ID (optional): In case you have published the app for iOS, copy this value from the App Store Connect portal, under App Information. The app doesn't need to be published, only created in App Store Connect.

  1. Once you've set these values, click Save.

Step 6: Generate the Deep Link

    • 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 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 https://).

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.

Step 7: 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.

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.

  • Scan a QR code to test your deep link with a mobile device.

  • Check the flowchart of your deep link's behaviour, good for troubleshooting.

Related guides:

For iOS, it is needed to 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 of the Android publishing process.

Go to the .

Enter your Bundle ID and App Store ID. Remember you need to complete 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 on the app publication process)

Enter the Team ID on the Apple app you have just created. You can find this on the Apple developer portal, under the , as App ID Prefix. Then Save.

Enter your Android Package name. Remember you need to of the Android publishing process to have these parameters ready.

After saving this, include your own domain and you may also find the need to include more in your configuration. This time, you'll have to add the Regex URL pattern for the additional domain and Save. For example: Click to use URL Regexator to convert the URL to Regex URL pattern.

Deep Link URL prefix: This is the URL prefix created previously in Firebase (step 5 in ). In case it's a Google domain, it will end in .page.link. Copy it from Firebase and paste it here.

Firebase REST API key (web API key): Copy this from your Firebase project settings. If you see the message "No web API key for this project", indicate an Authentication method as described in .

Finally, go to the section, fill in the following values:

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 .

Click on Create live app link button and your deep link is created!

In case the "Create live app link" button is disabled, go through the steps and make sure you provided the right values inside the Firebase settings section. Once you've confirmed these settings, proceed to .

🖇️
🖇️
🎉
have completed step 2
have completed steps 1 and 4
Firebase Console
step 2 of the publishing process
set up the Bundle ID
Identifier of your app
have completed steps 1 and 4
here
here
🖇️Troubleshooting Deep Links
🖇️Deep Links for Bravo Vision
Step 3: Configure Dynamic Links in Firebase
Step 2: Generate the web API key
More info
request your app bundle
Firebase configuration
Generate links