Deep linking is currently a hot topic online, and it is easy to see why. Deep links to your mobile application allow users to break down the barriers between in-app experiences and the rest of their online activities. With deep linking, a simple click on any website can initiate a specific action within your mobile app, and provide a seamless experience for the end user.
Despite its fancy name, we are all familiar with the phenomenon of deep linking- click the blue underlined address on a restaurant’s “Contact Us” page, and voila! The Maps application opens, the address is automatically pasted into the search box, and the application shows the restaurant’s location on a map. Pretty cool, right? This process uses deep linking, along with a specific “URL Scheme” defined within the Maps application. These two elements work together to handle the incoming data (in this case, the street address) and use it in a specific way (paste the address, and show the map result). Now, local restaurants (or any organization) can then reference these URL schemes, and use them to create convenient links on their website.
Currently, all of the URL schemes that have been defined by Apple connect exclusively to Apple’s own applications, so if you would like to take advantage of this type of functionality for your own app, it is necessary to define your own set of custom URL schemes- which is what we will address below.
Enable Custom URL Scheme Handling
(This article is intended as an overview of the process of deep linking, for more in-depth documentation of the process, more information can be found here.)
To get started with deep linking, you will first need to enable custom URL handling for your app. To enable custom URL scheme handling, you will need to access the “Info.plist” file and add a new “URL type”. Your custom scheme should be unique, and identify your specific application. Keep in mind, there is currently no organization responsible for registering or managing conflicting URL schemes- for this reason many developers choose to define their scheme in a very explicit way, for instance, some developers choose to use the format “TLD.CompanyName.AppName”.
So if your website is www.DeepLink.com, and your app is called “GetLinks”, you might define your custom scheme as “com.deeplink.getlinks”.
Using Deep Links
Once you have enabled custom URL schemes, and defined a unique identifier for your scheme, you can use deep linking to allow users to access specific screens within your mobile app with just one click. If you understand the format of a desktop hyperlink, this part should look fairly familiar.
So just as you would link to a resource on your website….
….you can link to a resource within your “GetLinks” app.
In this example, “com.deeplink.getlinks” is the custom URL scheme that the developer defined, “classes” is the path where the resource is located, and “linking-for-dummies” is the name of the resource being linked to. Keep in mind that if your mobile app has corresponding content on the desktop website, it is highly recommended that you maintain the same path and resource names.
You can also append query strings to your deep links to attach specific parameters, which could be a product ID, a physical address (in the case of the Maps application), or any other unique information. So if someone was looking for “deep linking for dummies” classes in California, the link might be:
If you’re wondering how specific applications use deep linking, the answer largely depends on the industry. For instance, a travel app might provide bloggers who discuss a certain tourist destination with a deep link to a hotel booking screen for resorts in that city. A social networking site might send out an email to their users about a new feature they rolled out, and link them directly to that screen in the app.
The possibilities are endless, and the use of deep linking is a useful feature that should be in every mobile app developer’s toolbox. The price is free and required setup is minimal, so why not give it a try!