Deep Link: Understanding and Differentiating URI Scheme, Universal Link, and App Link
Follow
Deeplink (Deeplink)
All internet addresses starting with http or https will redirect to a specific service's webpage.
_
Enter
https://igaworks.com
in the address bar to go to the IGAWorks homepage.
_ Enter
https://dfinery.io
in the address bar to go to the Dfinery homepage.
There is a similar function in mobile apps.
It is the Deeplink.
A deep link performs the function of launching an app or navigating to a specific screen within the app when a specific address or value is entered.
In other words, when a deep link is used, users who respond to the advertisement will experience the app launching immediately and navigating to a specific screen. Alternatively, after installing the app, it will navigate directly to a specific screen upon execution (deferred deep link). Therefore, from the perspective of marketers running advertisements, it is a feature that must be utilized for optimizing advertising performance.
Deep links are categorized in three ways.
- URI scheme method: Register the scheme value in the app to use deep links
- App Link: Android provided - Using deep link with domain address
- Universal Link: Provided by iOS - Use deep link with domain address
Even though they all perform deep link functions, why are they distinguished as 'URI Scheme', 'App Link', and 'Universal Link'?
Let's learn about each function and their differences.
Deep Link in 'URI Scheme' Method
Understanding 'URI Scheme' Method
The most commonly used deep link method is the URI Scheme method.
Deep links using URI schemes distinguish apps by registering a Scheme value in the app. The scheme is a value that can be registered for each app, executing the promise that "calling a specific scheme value opens a specific app." If you want to open the Twitter app, you can use the scheme value twitter://. This scheme value is registered by developers with their own unique value for efficient app opening during app development.
Specific pages within the app are distinguished by 'path' values. For example, if you want to open the sign-up page of the Twitter app, We use the value called twitter://signup.
In summary, the URI scheme method consists of two elements: Scheme://Path.
- Scheme://Path
- Scheme = App specified (Twitter)
- Path = Specifies a page within the app (Sign-up page within Twitter)
For Android, you register the scheme value in a file called Androidmanifest.xml as follows.
[In the screenshot above, the item labeled android:scheme is the scheme value.]
For iOS, you can enter the scheme value in the URL Scheme section on the app information screen.
[Screen for registering scheme values on iOS]
Limitations of URI Scheme Method
In the early days when there were relatively few apps, deep links using URI scheme methods were an excellent marketing tool for launching apps directly through advertisements. However, as the number of apps increased, unforeseen problems began to arise. The issue is the duplication of app scheme values. From the perspective of app developers, there is currently no way to verify whether the scheme values registered in their apps are unique to their app.
Google Play apps use the scheme value 'market://' to open their apps. Open markets like OneStore and Samsung App Store also use this scheme value. Therefore, Android users will see a screen like the one below to choose which app to run.
[Problem that occurs when using the same market:// scheme value.]
In other words, when the Android system tries to open an app with the current scheme value of market://, it presents a screen asking the user, "All three of these apps use the scheme value 'market://'. Which app should be opened?" Both Android and iOS have similar issues. Developers have no way to verify whether the scheme value they apply is unique and not used by other apps, and there is no way to prevent other apps from using their scheme value.
Apple and Google's developers pondered whether there was a fundamental way to prevent this. The result of that consideration was the creation of Universal Links (provided by iOS) and App Links (provided by Android).
Universal Links and App Links
Deep Link Using Web Page Address
The internet addresses of the sites you are currently using all have unique values. For instance, IGAWorks has the unique internet address igaworks.com, and Dfinery also has the unique address dfinery.io. These are called domain addresses.
Apple and Google's developers decide to use this domain address as a deep link execution value. For example, if you enter http://naver.com in the smartphone browser app address bar, the Naver app opens immediately for use.
This feature is called Universal Link on iOS and App Link on Android.
Reference Material (1) :
[Add Android App Links]
Reference Material (2) :
[Universal Links for Developers]
For Android, you can register an app link domain in a file called Androidmanifest.xml as shown below.
(The example below is based on the integration of universal links and app links for the Definery tracking link.)
For iOS, it can be registered in Singing & Capabilities under Associated Domains.
Limitations of Universal Links and App Links
However, unfortunately, universal links and app links are not yet complete. This is because not all apps support opening universal links and app links.
App links only work in apps made by Google, and do not function properly in apps other than Google. Similarly, universal links do not function properly in apps other than those made by Apple.
The Definery team checked the results of universal links and app links execution for each major environment.
Looking at the results, it appears that a single method cannot perfectly respond to all environments. Therefore, for smooth ad operation and attribution, we conclude that integration of URI scheme, universal links, and app links is necessary.
App Link Test Results
Test environment | Test Results | |
---|---|---|
1 | Run the app by capturing a QR code in the Android camera app | App link working |
2 | Run the app by clicking the link in the Gmail app | App link operation |
3 | Run the app by clicking the link in KakaoTalk | URI scheme operation |
4 | Enter the link in the address bar in the Naver app and then run the app | URI scheme operation |
5 | Launch the app by scanning the QR code with the camera in the Naver app | URI scheme operation |
6 | Enter the tracking link in the Chrome address bar and run the app | Deep link not working |
7 | Run the app by clicking the link in Chrome | App link operation |
8 | Enter the link in the address bar in Samsung Browser and run the app | Deep link not working |
9 | Run the app by clicking the link in Samsung Browser | App link operation |
Universal Link Test Results
Test Environment | Test Results | |
---|---|---|
Enter the link in the Safari browser address bar and run the app |
URI scheme operation
|
|
2 | Click the link in Safari browser to launch the app | URI scheme operation |
3 | Launch the app by scanning the QA code with the iPhone camera app | Universal Link Operation |
4 | Run the app by clicking the link in the iPhone email app | Universal Link Operation |
5 | Run the app by clicking the link in the Gmail app | URI scheme method operation |
6 | Run the app by clicking the link in KakaoTalk | URI scheme operation |
7 | Enter the link in the address bar in the Naver app and run the app | URI scheme operation |
8 | Run the app after scanning the QR code with the camera in the Naver app | URI scheme operation |
9 | Enter the link in the Chrome address bar and run the app | URI scheme operation |
10 | Click the link in Chrome to run the app | URI scheme operation |
Deep Link, Learn More
Apply deep link to the app
The definer only performs the role of executing the deep link settings configured in the app, but the deep link itself must first be set within the app. In other words, the deep link settings must be completed within the app itself in order to use the deep link function. It is easy to understand if you think of the advertiser's app as having to create the key to open the door, and the definer only performs the role of receiving the key and opening the door.
Therefore, if a marketer wants to use deep links, they must obtain the necessary configuration values (scheme, path value, and URL value) for using deep links through the app development team and enter them in the tracking link setting options. ( Ad-Landing Setting , Issuing Tracking Links )
Delayed Deep Link
(Deferred Deep Link)
It refers to a feature where a user who has landed on the market and installed the app is directed to a specific designated app page instead of the app's first screen. For example, if a user participates in an advertisement with a tracking link for 'A sneakers ad', when they move to the market, install, and run the app, they are directly taken to the 'A sneakers' product page.
Definery All-Link: Using URI Scheme, App Link, and Universal Link
As we have seen before, using only one deep link method among URI scheme, universal link, or app link cannot respond to all environments.
Therefore, for optimal ad UX, it is best to apply all three methods and use them complementarily.
Definery's tracking link provides an All-Link feature that supports URI scheme, universal links, and app links as a single link. You can create universal links and app links using the domain of the Definery tracking link. It also supports URI scheme operation to ensure proper attribution even in apps that do not support universal links and app links. In other words, in environments where universal links and app links do not work, the URI scheme method operates as a second priority to ensure that the app is executed and the intended screen transition is completed normally.
For more details, please refer to the integration guide below.
Reference:
[Integrating Android App Links]
Reference:
[Integrating iOS Universal Links]