A complete guide to mobile app deep linking | Adjust

* partially working depends on Facebook app version

Universal link solution

Starting with iOS 9, Apple published the universal link, which works similar to Android’s Intent but requires more setup. And moreover, since iOS 9.2, the JavaScript solution stopped working since Apple made the prompt window non-modal .
In order to enable universal link, you need to have a SSL certificated domain ( https://yourdomain.com/, for example ) associated with your app, and to serve a special JSON file under https://yourdomain.com/apple-app-site-association similar to :

This file tells your device which path serves as deep link for which app.

Then, in XCode you need to enter applinks : yourdomain.com in your com.apple.developer.associated – domains entitlement :
One domain can be associated with multiple apps and vice versa .

Next, you need to adopt the UIApplicationDelegate methods for Handoff (specifically application:continueUserActivity:restorationHandler:) so that your app can receive a link and handle it appropriately.

Let’s assume you associate https://yourdomain.com/dress/ with your app by setting ” paths ” : [ ” / dress / ” ] in the JSON file. When user clicks the link https://yourdomain.com/dress/1 in Safari ,

  • if the app is installed, your app will be opened and https://yourdomain.com/dress/1 will be passed to UIApplicationDelegate. You can handle it there to decide which View to open.
  • if the app is not installed,https://yourdomain.com/dress/1 will be opened with Safari and you can still display the product on your website or redirect the user to App Store

Universal links sound like a perfect solution for iOS. But again, unfortunately, they have their limitations.

  • Universal links only work with Safari and Chrome
  • When another site redirects with a universal link, it works only if the click happens within Safari and Chrome. For instance, if there is a link in your Email app https://anotherDomain.com/ redirecting to the universal link https://yourDomain.com/dress/1, it won’t deeplink into your App. But if the link https://anotherDomain.com is clicked from Safari, it works.
  • Universal links won’t work if you paste the link directly into address bar.
  • Universal links won’t work if the redirect is triggered by JavaScript.
  • Universal links won’t work when you open the link programmatically inside your app (with openUrl, for instance)

Welcome to the world of deep links!

Mobile app deep linking is complicated — there is no silver bullet that works in all scenarios. Fortunately, Adjust will detect the key scenarios and use the best strategy to make deep linking functional .
We have lots more deep link content for you to catch up on. First, be sure to read our deep link guide. It gives a deep dive into exactly how they work, and what makes Adjust’s deep link different. We also have several blog posts, such as this key guide to the differences of Universal Linking, and a general overview of the benefits too. You may be interested in reading our documentation, and you can also read up on how to easily implement universal link with Adjust .

We’re also ready to hear your questions and concerns via our tư vấn page .

A complete guide to mobile app deep linking | Adjust

Bài viết liên quan
Hotline 24/7: O984.666.352
Alternate Text Gọi ngay