“Deep links” on the web have been around for a while. Actually, they’re as old as the internet itself. Deep Links, or links that direct a user to the content inside of a website, are built into the HTTP protocols that govern the world wide web.
That’s all well and good, but this is 2016, not 1989. How do Deep Links work in mobile apps?
Deep Links
In short, Deep Links let users jump between apps and pages using hyperlinks. Deep Links in apps use a special type of hyperlink called a universal resource identifier (URI). For example, a user can be in the Facebook app, click a URI link to in-app content in Yelp, and the Yelp app will open up directly from the link. Deep Links and URIs make it easy for developers to create apps that work together seamlessly.
Unlike in websites, Deep Links aren’t enabled in apps by default. Developers who want to link to in-app content need to submit their URL schemes to both Google and Apple. Once that’s done and the schemes are approved, the pages will be linkable, searchable, and the content will be indexed in Google. The ability to link directly to in-app pages is useful for convenience, cross-promotion on multiple apps or websites, and improving search engine (SEO) performance. Really, there are three types of Deep Links available. Here's a rundown.
Standard Deep Links
These let developers create a custom URL scheme that directs users to in-app content. Custom URL schemes look somewhat like this: Appname//:example_page
. Facebook's URL scheme, for comparison, looks like this: fb://profile/33138223345
. The problem with these Deep Links is that different URL schemes are sometimes needed for different devices. They also don’t work if a user hasn’t installed the related app yet.
These are specific to iOS 9 but should continue to work on future versions of the iPhone’s firmware. They work by opening an app when it's recognized as having been installed, and falling back to a web URL if no app is found. For instance, a link to a Facebook page opened from an email client will either take one to the Facebook app or to their mobile website in-browser. Universal Links connect a brand’s app and website so that search engines and browsers know they’re associated.
App Linking is Android’s take on Universal Linking, and it works similarly. Opening an App Link will take a user to an app by default, but if the app isn't installed, it will go to a mobile web page instead. App Links sense whether or not a device has an app installed and act accordingly. If users don’t want apps opening by default, they can change the behavior in settings.
So Deep Links let developers link to static in-app content. But what if you want to link to content that’s a bit more… “Dynamic?”
Dynamic Links
"Dynamic Links" are a newer tool that lets developers link to platform-dependent content. For instance, a Dynamic Link will open a web page in a desktop browser, or activate in-app content when opened on a smartphone or tablet. This saves users the hassle of having to choose whether to open in an app or in the browser since the Dynamic Link will sense the device type.
There are several other reasons why you should be using Dynamic Links in your apps. Dynamic Links let developers send users to pages even if they have to install an app before visiting it. The link's context survives installation. If an app isn’t required to view the content associated with a Dynamic Link, the page will open in-browser instead. Dynamic Links also open up the door to better SEO and analytics using the Firebase developer console.
You should be using Deep and Dynamic linking to improve your app’s SEO rankings, get better marketing analytics and keep your platform current with the modern mobile web.