Articles on: Native: Building

Understanding Dynamic Links (i.e. Programmable Deeplinks)



A dynamic link is a replacement link, similar to a URL shorter for another link. But it behaves differently based on the platform it is opened on. The behavior can be programmed by you.

With Dynamic Links, your users get the best available experience for the platform they open your link on. If a user opens a Dynamic Link on iOS or Android, they can be taken directly to the linked content in your native app. If a user opens the same Dynamic Link in a desktop browser, they can be taken to the equivalent content on your website.

In addition, Dynamic Links work across app installs: if a user opens a Dynamic Link on iOS or Android and doesn't have your app installed, the user can be prompted to install it; then, after installation, your app starts and can access the link.



Can you explain using an example



Let's say the we wanted to send a link of our page with our friend Superman: https://thebdk.com/dynamiclink_demopage. This is just a page on our bubble app
We created a dynamic link instead: https://thebdk.page.link/dl_demo. While creating the dynamic link, we had specified its 'deeplink url' as the original link
We decide to share the dynamic link with Superman instead of the original link (maybe via email, social media or text message)



On a Desktop:
It takes Superman to the deeplink url (i.e. https://thebdk.com/dynamiclink_demopage) in a browser

On a Mobile / Tablet device:
if bdk native app is already installed on Superman's iOS or Android device: Launches the bdk native app, and opens the deeplink url as the launch page instead of the bdk native app's usual launch page
if bdk native app is not installed & device is Android : takes Superman to android play store page for bdk native app. Once he installs and opens the app, the deeplink url opens as launch page instead of the bdk native app's usual launch page
if bdk native app is not installed & device is iOS: doesn't take Superman to App store (unlike his android device above). It takes him to a different link in browser that we had provided while creating the dynamic link. P.s. We could have followed the same behavior as android, but we decided otherwise to show you this approach.


Now think how awesome it would be if you can leverage these capabilties in your own app.

What does this mean for my app



Grow your app installs & user base fast. Really fast.

Building a marketplace? Every listing shared by your users can convert viewers into installed app users, just like Airbnb...
Building a social platform? Each post can lead to app install and user acquisition, just like Twitter...
Even your password reset emails can convert your web app users to installed app users !!

And since you can send native push notifications to installed app users, you have a direct line of communication with your customers. They are also more loyal and likely to lead to additional users for you. All of this with no customer acquisition cost or marketing spend.

Here are some example use cases firebase suggests in its documentation

1. Converting web users to app users


Without Dynamic Links, if a mobile web user installs your app by opening an app install link, they have to re-navigate to where they were. With Dynamic Links, you can ensure that after a web user installs your app, they can continue where they left off.


Use dynamic links instead of usual links when your page is opened in browser

2. Social, email, and SMS campaigns


Send promotional offers using links that work on any platform. Current and future users can redeem your offers whether they use iOS, Android, or a web browser, and whether or not they already have your app installed.

Use dynamic links when you run marketing campaigns via Social media, Email, SMS, Ads etc.

BDK Pro Tip: If you use the Firebase console to create dynamic link, you can give it a nice looking name and also update the link it opens at any point of time. E.g. You share a dynamic link on social media for some party you host. You can make the dynamic link go to different pages before, during and after the party without having to create and share a new link. This is terrific for marketing campaigns.


3. User-to-user sharing


Make it easy for your users to share your app's content with their friends, no matter what platform their friends use, or whether their friends already use your app.

Every share action by your user to their network can be a new app install for you

BDK Pro tip: When you have a content (i.e. 'thing') such as event, recipe, product etc. in your app that is viewed by users and potentially shareable by them with others, use a dynamic link instead of direct link to that page (use this as the deeplink url instead). Also, its best to generate the dynamic link when the thing is created & store it, so that when the user tries to share, the link is already ready.

4. Converting desktop users to app users


Generate Dynamic Links when web users bookmark a page or send themselves a link. When they open the link on a different device, they can get the best experience for the device.

Dynamic links can be generated anywhere - desktop browser, api workflow, mobile browser, native app for you to use


5. Real-world app promotion


Use QR codes or Eddystone beacons that encode a Dynamic Link in your physical displays to promote your app at events and venues. Imagine if a starbucks could convert every user payment from mobile device into an app installed user, how valuable its app would be today.

E.g. Imagine you have a coffee app. your customer scanning a QR code (which contains your dynamic link) with their phone camera. They tap the QR popup, and are taken to the app install page.


Scan this QR code on your device for a demo

6. Customized user referrals


Accelerate growth by providing an incentive for your users to invite their friends. Invitation links based on dynamic links work across platforms. New users opening your app for the first time get a first-run experience that you customize for them.

For example, you can automatically connect them with the friend that invited them. Optionally delay granting rewards until new users complete some introductory task, such as completing a tutorial.



A link invite that also doubles up as a way to get app install




You can use your native app build for a 'version-test' environment

Instead of relying on BDK Native app's preview mode, you can get a full testing experience of your native app, just live bubble's development and live mode.
Create a dynamic link with a deeplink url pointing to the version-test link of your site. Paste this in your notes app or email / message it.
When you launch the app by clicking the dynamic link, you can view and test changes to your bubble app without having to deploy the changes to live version.
To view the live version, simply launch the native app as you would normally instead of using the dynamic link



We have enginerred BDK native so that you don't need to do any complex stuff. We have made it super easy for you to create dynamic links - in a single workflow step, without using any code.
All of the setup for your Native builds is done by us during the build process for your app.
Haven't ordered your builds yet? No problem. You can use the preview mode in the workflow step to create dynamic links.



We've had the deeplinking feature in push notifications for over a year now!

Instead of the dynamic link, you should specify the deeplink URL directly in the BN - Push notification step.



Available only after you order your own app build
Our integration includes Firebase Analytics (and hence Google analytics).
For direct tracking, provide the campaign tracking parameters (utm_source, utm_medium and utm_campaign) when creating or updating the dynamic link.
For dynamic links created via onesignal dashboard you can even view the clicks and outcomes via Firebase console

Since access to firebase analytics console requires your own app build, you will not be able to view or use analytics until you order your own build.

Updated on: 01/13/2021

Was this article helpful?

Share your feedback

Cancel

Thank you!