BEPRO Dev Team

August 22, 2022

How BEPRO Uses Firebase Dynamic Links

What is Firebase Dynamic Link?

Released in 2016, Firebase Dynamic Link is a technology used by a number of services that allows users to easily reach specific pages through links. As of 2022, there may be questions as to why I would choose to write a tech blog post for a technology that has been around for six years. However, if we begin the conversation about why dynamic links are essential to BEPRO's services, what problems we want to solve, and what kind of experiences we want to provide our users, it will help people unfamiliar to our services better understand the direction BEPRO is pursuing with our services.

Before looking into how Dynamic Link is used by BEPRO, let’s first see how Dynamic Link has advanced.

  1. URI Scheme
    As the initial form of Deep Link, it uses the same method as scheme://path (e.g. myapp://demo) but since there is no option to process fallback, users will land on the error page if the app is not installed. Moreover, since the myapp scheme can be used in numerous apps, if the same scheme is used on other apps, it may not immediately load our app when the URI scheme is clicked, and can only operate when the app is installed.
  2. Deep Link Universal link for iOS, App link for Android
    It follows the URI scheme method and therefore, has the advantage of speed as it immediately executes the app instead of opening a browser or loading a URL. However, just like the URI scheme method, it only works when the app is installed.
  3. Deferred Deep Link
    As the method supplementing the drawbacks of Deep Link, it allows users to view the relevant pages after installing the app even if it is not installed, but there is an inconvenience of having to use each iOS and Android’s SDKs.
  4. Dynamic Link
    As the method supplementing the drawbacks of the Deferred Deep Link, it can be used on iOS and Android with a single link.

In other words, Dynamic Link is the solution that has solved the drawbacks of other existing link methods. This technology takes the user’s app to a specific page through ads, promotional pages, or landing pages, whether or not your app is already installed, to allow users to view their desired page without taking any particular actions.

Why is Dynamic Link Necessary for BEPRO?

Before explaining why Dynamic Link is necessary for BEPRO and how it is being used, let’s briefly examine how the BEPRO service is being provided to our users.

BEPRO mainly operates a B2B service that provides services to the coaches and players belonging to the clubs and associations under contract. Users entering the service based on the B2B contract can record and watch match and training videos, inquire about analysis data, and edit and analyse video content, all within the BEPRO space. In other words, BEPRO is an all-in-one platform enabled to provide everything related to sports match videos and analysis within one product.

Nevertheless, just like general B2C services, it is impossible for general users to sign-up and immediately use the service. Even players and coaches belonging to a client club must verify their identity while signing up before linking their ID to their profile generated in their team. Hence, it is not easy for a potential user who has discovered BEPRO themselves to experience the service right away.

  1. Once the user has signed up, they will go through the onboarding process. The user selects their role between player and staff before moving on to the next step.
  2. After selecting their role, the user must find their team under the Country → League list or search by team name.
  3. Once the user has found their team, they will be able to view the roster. This roster is divided into players who have linked their user ID and player profile and players who have not. Being a linked player means that the user had sent a request to say, “I am this player. Please link my account to this profile,” and the request was accepted. Player profiles that are not linked can be considered as the user not having signed up yet or the user not having made the request to link their player profile. Now, let’s try to click on the button to make the link request.
  4. The user will then land on the following screen. Since the player profile link request can only be made with the player’s actual account, users not belonging to a team contracted with BEPRO cannot use the BEPRO service, as mentioned above.

BEPRO provides a demo page to allow users who can’t access our service for reasons stated above to experience the BEPRO service. On the demo page, users can view match analysis data, including the lineup, pass data, and team/player stats, and watch various video content, including highlights, player ball touch, and match events of the demo match. Therefore, users without valid contracts may experience what functions are provided through the BEPRO service by accessing the demo page.

Dynamic Link Operation & Implementation

Then, let’s visit and examine the BEPRO landing page to see the steps taken to attract users to the demo page.

On the BEPRO landing page, users can view BEPRO’s introduction and product packages, as shown below. Let’s click on the menu button in the upper right corner.

At the bottom of the menu page, there is a “See the Demo” button. When users click on this button from the web, it connects to the web demo page, and when clicked on the mobile site, it connects to the mobile demo page. Even if the BEPRO app is not installed, it will connect the user to the demo page immediately after installing the app. This is the role of Firebase Dynamic Link!

To allow users to make good use of such dynamic links requires preliminary work. First, you must create a dynamic link before preparing the environment to receive the dynamic link from the iOS and Android apps.

This can be easily completed when following the guide provided by Firebase. Let’s briefly look at the dynamic link creation method under the premise that the app has been added.

If you log in to the Firebase console and click Engage > Dynamic Links from the left side menu, you will land on the following screen.

1. Set up short URL Link
This defines the path following the URL prefix. When receiving a dynamic link from the app, it is processed with this path. Here, I used demo-test.

2. Set up Dynamic Link
As written in the description, you must list which URL to send the user to when they click on the dynamic link from a desktop. I entered the web demo page (https://space.bepro11.com/demo).

3. Define link behaviour for iOS
This sets up the process for what happens when the dynamic link is clicked from the iOS app. There is no need for the first option since it opens the browser to send the user to the web demo page set up in step 2, so option 2 was selected. Here, you can select whether to run the production app or the development version app and it is convenient if you made the dynamic link to test from the app in development, as well as the dynamic link to use from the production app. The following is an option to select where to send the user when the app is not installed. You can choose to send the user to the app store for installing the app, but it will be good help for the user to recognise the situation if you place a custom URL by creating a page explaining the process after clicking on the dynamic link.

4. Define link behaviour for Android
The Android can be set up the same as the iOS.

5. Campaign tracking (optional)
By enabling the tracking function the number of users and their journeys can be measured, which is useful for marketing purposes.

6. Since the app implementation process is available as a tutorial, you can just follow the directions on the following links.
- Receive Dynamic Links on iOS
- Receive Dynamic Links on Android

BEPRO’s Vision

At the present time, dynamic links are only applied to the demo page, but we are searching for measures to increase user retention with various methods using the dynamic links. For example, we are trying to create an environment where your goal video links can be shared via social media or BEPRO Messenger to watch the video on the BEPRO app with friends.

Furthermore, BEPRO has a vision to move beyond football to integrate the BEPRO service with various sport events, and construct an environment that helps the developments and advancements of the world’s athletes by enabling them to view their match videos and data within the Bepro space.

We believe that it is our role to create a world where owning and sharing your best goal and performance videos is natural, whether you are a professional or an amateur.


BEPRO Dev Team
August 22, 2022

How BEPRO Uses Firebase Dynamic Links

What is Firebase Dynamic Link?

Released in 2016, Firebase Dynamic Link is a technology used by a number of services that allows users to easily reach specific pages through links. As of 2022, there may be questions as to why I would choose to write a tech blog post for a technology that has been around for six years. However, if we begin the conversation about why dynamic links are essential to BEPRO's services, what problems we want to solve, and what kind of experiences we want to provide our users, it will help people unfamiliar to our services better understand the direction BEPRO is pursuing with our services.

Before looking into how Dynamic Link is used by BEPRO, let’s first see how Dynamic Link has advanced.

  1. URI Scheme
    As the initial form of Deep Link, it uses the same method as scheme://path (e.g. myapp://demo) but since there is no option to process fallback, users will land on the error page if the app is not installed. Moreover, since the myapp scheme can be used in numerous apps, if the same scheme is used on other apps, it may not immediately load our app when the URI scheme is clicked, and can only operate when the app is installed.
  2. Deep Link Universal link for iOS, App link for Android
    It follows the URI scheme method and therefore, has the advantage of speed as it immediately executes the app instead of opening a browser or loading a URL. However, just like the URI scheme method, it only works when the app is installed.
  3. Deferred Deep Link
    As the method supplementing the drawbacks of Deep Link, it allows users to view the relevant pages after installing the app even if it is not installed, but there is an inconvenience of having to use each iOS and Android’s SDKs.
  4. Dynamic Link
    As the method supplementing the drawbacks of the Deferred Deep Link, it can be used on iOS and Android with a single link.

In other words, Dynamic Link is the solution that has solved the drawbacks of other existing link methods. This technology takes the user’s app to a specific page through ads, promotional pages, or landing pages, whether or not your app is already installed, to allow users to view their desired page without taking any particular actions.

Why is Dynamic Link Necessary for BEPRO?

Before explaining why Dynamic Link is necessary for BEPRO and how it is being used, let’s briefly examine how the BEPRO service is being provided to our users.

BEPRO mainly operates a B2B service that provides services to the coaches and players belonging to the clubs and associations under contract. Users entering the service based on the B2B contract can record and watch match and training videos, inquire about analysis data, and edit and analyse video content, all within the BEPRO space. In other words, BEPRO is an all-in-one platform enabled to provide everything related to sports match videos and analysis within one product.

Nevertheless, just like general B2C services, it is impossible for general users to sign-up and immediately use the service. Even players and coaches belonging to a client club must verify their identity while signing up before linking their ID to their profile generated in their team. Hence, it is not easy for a potential user who has discovered BEPRO themselves to experience the service right away.

  1. Once the user has signed up, they will go through the onboarding process. The user selects their role between player and staff before moving on to the next step.
  2. After selecting their role, the user must find their team under the Country → League list or search by team name.
  3. Once the user has found their team, they will be able to view the roster. This roster is divided into players who have linked their user ID and player profile and players who have not. Being a linked player means that the user had sent a request to say, “I am this player. Please link my account to this profile,” and the request was accepted. Player profiles that are not linked can be considered as the user not having signed up yet or the user not having made the request to link their player profile. Now, let’s try to click on the button to make the link request.
  4. The user will then land on the following screen. Since the player profile link request can only be made with the player’s actual account, users not belonging to a team contracted with BEPRO cannot use the BEPRO service, as mentioned above.

BEPRO provides a demo page to allow users who can’t access our service for reasons stated above to experience the BEPRO service. On the demo page, users can view match analysis data, including the lineup, pass data, and team/player stats, and watch various video content, including highlights, player ball touch, and match events of the demo match. Therefore, users without valid contracts may experience what functions are provided through the BEPRO service by accessing the demo page.

Dynamic Link Operation & Implementation

Then, let’s visit and examine the BEPRO landing page to see the steps taken to attract users to the demo page.

On the BEPRO landing page, users can view BEPRO’s introduction and product packages, as shown below. Let’s click on the menu button in the upper right corner.

At the bottom of the menu page, there is a “See the Demo” button. When users click on this button from the web, it connects to the web demo page, and when clicked on the mobile site, it connects to the mobile demo page. Even if the BEPRO app is not installed, it will connect the user to the demo page immediately after installing the app. This is the role of Firebase Dynamic Link!

To allow users to make good use of such dynamic links requires preliminary work. First, you must create a dynamic link before preparing the environment to receive the dynamic link from the iOS and Android apps.

This can be easily completed when following the guide provided by Firebase. Let’s briefly look at the dynamic link creation method under the premise that the app has been added.

If you log in to the Firebase console and click Engage > Dynamic Links from the left side menu, you will land on the following screen.

1. Set up short URL Link
This defines the path following the URL prefix. When receiving a dynamic link from the app, it is processed with this path. Here, I used demo-test.

2. Set up Dynamic Link
As written in the description, you must list which URL to send the user to when they click on the dynamic link from a desktop. I entered the web demo page (https://space.bepro11.com/demo).

3. Define link behaviour for iOS
This sets up the process for what happens when the dynamic link is clicked from the iOS app. There is no need for the first option since it opens the browser to send the user to the web demo page set up in step 2, so option 2 was selected. Here, you can select whether to run the production app or the development version app and it is convenient if you made the dynamic link to test from the app in development, as well as the dynamic link to use from the production app. The following is an option to select where to send the user when the app is not installed. You can choose to send the user to the app store for installing the app, but it will be good help for the user to recognise the situation if you place a custom URL by creating a page explaining the process after clicking on the dynamic link.

4. Define link behaviour for Android
The Android can be set up the same as the iOS.

5. Campaign tracking (optional)
By enabling the tracking function the number of users and their journeys can be measured, which is useful for marketing purposes.

6. Since the app implementation process is available as a tutorial, you can just follow the directions on the following links.
- Receive Dynamic Links on iOS
- Receive Dynamic Links on Android

BEPRO’s Vision

At the present time, dynamic links are only applied to the demo page, but we are searching for measures to increase user retention with various methods using the dynamic links. For example, we are trying to create an environment where your goal video links can be shared via social media or BEPRO Messenger to watch the video on the BEPRO app with friends.

Furthermore, BEPRO has a vision to move beyond football to integrate the BEPRO service with various sport events, and construct an environment that helps the developments and advancements of the world’s athletes by enabling them to view their match videos and data within the Bepro space.

We believe that it is our role to create a world where owning and sharing your best goal and performance videos is natural, whether you are a professional or an amateur.