April 24th, 2015
Here at Branch we are obsessed with deep linking. We made it our mission to make it easy for app developers to link to any piece of content in their app, whether a user has the app already installed or not, practically making apps function more like the web.
One thing that makes the web great is that every link takes you to the content it was meant to – a scandalous news article link or sharing a cool jacket with your friend takes you straight to the content you were meant to see. So why wouldn’t links to an app work the same way? When we built our deep links, we built them making sure we could enable developers to structure and link to their app to do just that.
To achieve that goal, we tried to make both the link creation and link clicking as flexible and as seamless as possible.
While all links have the same structure and can have data bundled with them, they can be created in a few different ways:
Additionally, we wanted to make sure our developers choose what the links looks like, so we came up with two ways of customizing and white labeling our links:
In order for a link to work the same way it would work on the web, the deep link address must be available after install every time – regardless if the user had the app already or not before clicking on the link. The problem with most deep linking solutions that simply use the URI scheme is that the deep link and the data bundled with the link are not available after install. We wanted to make this process better by actually enabling our links to pass data “through” install, including things like:
Just like a web link, we do not limit the amount of data that can be stored in the link. We also don’t show the info in the link – instead we store it all securely and anonymously on our servers and make it available to you right after a user has installed.
Our smart links detect the platform a user clicks from and takes them to the appropriate content. You don’t need separate links for iOS, Android or Desktop anymore. You just tell us your app store and web URLs for each scenario, and we make the routing happen, ensuring that your users convert at the highest possible rate.
When a user clicks on a desktop, we (by default) present them with a page allowing them to resend themselves the link via SMS, or we if you have a web version of the app content you are intending them to see we take them to that content.
When a user clicks a Branch link on a mobile device, there are three places they can be redirected to: (i) deep link into the app, (ii) deep link into the app store (retaining the data post-install), or (iii) a custom/web destination.
The best user experience is possible when the user can be deepl inked straight into the app. However, this is not always possible, so we built our links to make sure that the link data is still available under each edge scenario.
Once the user has installed or opened your app, the Branch SDK will retrieve the data dictionary associated with the link the user came from. You can use these parameters to route the user to the appropriate place within the app or for other analytics or messaging.
Below is the whole diagram of how our links work, from start to finish. You may click on the image to view a larger size. You may also click here to learn about how Branch fuels mobile growth at every step in the mobile user process.
For every possible scenario, we make sure that ultimately you get the data you bundled with the link right when the app is opened so 100% of the time you take the user to the right spot in the app, making you app function more like the web.
If you are looking for a technical guide on implementing our Branch links, you can find that in our documentation.
Mada is a co-founder of Branch Metrics, a full service, deep linking solution for mobile apps. Branch links have the power to deep link through app install and open, allowing the app developer to deliver a personalized post-install experience.