Driving your app usage with Android app links and iOS Universal links

Vatsal Bajpai
5 min readJun 26, 2020

--

Before you read, hope you and your family are well in these unprecedented times. Please spend time with your family over this blog :)

First, Let’s look at the time spent in the app as per Statista for the past two years:

2018:

source: Statista

2019:

source: Statista

The reason I have two sets of data for the same link is that this has been in draft for an year! And I feel happy because I was able to capture these numbers for two years!

As we can see, the other apps get the 35% of the users time spent on the apps! In an year, we have already lost ~8%! I can only imagine the drop in 2020.

Mobile apps ecosystem has become important for a couple of years now with the increasing number of apps a users device is carrying in their pockets, the visibility and reach of the installed apps have decreased.

Now, as a developer, publisher or as a marketer, the fight for the users time is only contained in less that 35% in the battleground. This blog is to help maximize the time grab in that 35% share.

Alright, now I have your attention. So let’s talk about how mobile ecosystems work with respect to Links and Apps

When it comes to a mobile device, there are only two things a user interacts with;
1. First are the apps. Not to say much here as you are already aware of the apps.
2. Second, are the links which is either shared in a post or shared among different social media platforms. Whatever the link is, the user is bound to interact with it as a link does not say much in it’s self.

Yes, your thought is right! What about the link previews the various platforms generates? The information is never complete and we have to dependent on the platforms to generate a nice preview for us.

A link may not have the power to say a lot about but it does have the power to control the redirection of the user. And that is very strong. You can not only leverage the power to redirect the user to a website but also to your app directly. Once we get to how can we open the app, there is another magic that adds cherry on the cake! Keep reading.

Let’s get to it. Give me the power now!

So the power is….

Android App links and iOS Universal links.

On Android, the App Links have the capability to charge the links to open the installed app instead of opening the browsers. And similarly, iOS universal links can open the installed app.

Awesome, the powers looks cool. Give the me link stone to use the power

Three simple steps (below is technical, if you are interested in a better solution skip this section):
1. Create a link with a domain — let’s assume the domain is linkpower.domain.com

2. Add the configs to your Android app and iOS app as below to add support:

Android
Add the following in your Manifest.xml file for any activity that you want to open on link click:

<activity …>
<intent-filter android:autoVerify=”true”>
<action android:name=”android.intent.action.VIEW” />
<category android:name=”android.intent.category.DEFAULT” />
<category android:name=”android.intent.category.BROWSABLE” />
<data android:scheme=”http” android:host=”linkpower.domain.com” />
<data android:scheme=”https” android:host=”linkpower.domain.com” />
</intent-filter>
</activity>

iOS
Add the following to the Xcode project -> Associated domains:

applinks:linkpower.domain.com

3. Host the configuration files for Android and iOS on the domain. This is required by the OS to download the configuration upon app installation which will open the app:

Android

[{
“relation”: [“delegate_permission/common.handle_all_urls”],
“target”: {
“namespace”: “android_app”,
“package_name”: “my.power.app”,
“sha256_cert_fingerprints”: [“get your SHA 256 and replace this”]
}
}]

Once you generate this file, host it on linkpower.domain.com/.well-known/assetlinks.json

And for iOS

{
“applinks”: {
“apps”: [],
“details”: [
{
“appID”: “TeamID.BundleID”,
“paths”: [ “NOT /e/*”, “*”, “/”, “/archives/201?/* ]
}
]
}
}

Once you generate this file, host it on linkpower.domain.com/.well-known/apple-app-site-association

HOLD ON! You said three simple steps. This is making me heavily reliant on a lot of resources and susceptible to changes.

I am a marketer/developer and need a straight solution

Guilty as charged, but this is the complicated structure the companies have to deal with this and it dissolves the power. But, I do have a gauntlet where the power of the link stone can be harnessed.

It’s called Branch.io. Branch’s infrastructure provides a complete suit to help leverage this power where it takes care or all the integration and hosting steps.

Branch seems nice here, but why should I depend on a third party system?

  1. Third-party apps have the control to severe the link<>app connection to keep users engaged within their app(inside an in-app browser). Bummer.
  2. Your hours spent on implementing the above does not cover such failure modes.

The reason I recommend Branch is that it’s robust redirection logic can still open the app using Chrome Intents or URI based on the browser support! A fallback mechanism is very much needed in this broken ecosystem.

Where’s my cherry on the cake you promised?

Yes! Not only Branch helps cover such redirection edge cases in the ecosystem, it also helps to deep link the users in the app and also attributes it for you.

Deep linking will comprise of two steps starting with redirection and navigation.

For eg. You have a link on Facebook which says about a new shoe product that you have launched, When the user clicks the Branch link on the device from Facebook, it opens(or installs) the app and takes the user to the same shoe content in the app where the user can buy it directly. No hassle to search it again which can cause a drop-off.

Hope this article helps you make the user experience better and also provide you more insights on how you can leverage mobile ecosystems internal power to drive more app usage times just by tweaking the links!

Full disclosure: I work for Branch.io but this is not a promoted or guided post. This is only for the love of the technology it provides :)

Please leave a few claps for other to know how much you appreciated this and they can benefit too!

And as always you can reach me out on Twitter here: https://twitter.com/vatsalbajpai_

Stay safe, stay healthy!

--

--

Vatsal Bajpai

Engineer at @sliceit, Ex - @BranchMetrics | Building products for billions