With the release of iOS 9.2 on Dec. 8th, Apple has put an end to the era of deep linking as we know it.

In the last few years, deep linking from email or web browsers into an app was based on so called URI schemas. Schemas are app-specific protocols, like fb://profile/460293477343848  or twitter://,  which allow you to launch an app from the browser or any other app. If the app was not installed, Safari would show an error message saying it can’t open the page.

iOS-alert-cant-open-page

iOS alert on deep link attempt, in case the app is not installed

Until now, it has been easy to bypass this error message by simply setting a timeout via Javascript. After the timeout, the users would be routed to an alternative target – usually the App Store or the company’s website.

Apple strikes back against schema based deep linking

With iOS 9, Apple introduced a different deep linking standard called “Universal Links“, and along with it announced that schema-based deep linking will be discontinued on iOS in the near future.

 

Strike 1) The “Open in app” alert

As a first step to force app publishers to implement Universal Links, Apple introduced another iOS alert, which now prompts the user to confirm whether they want to open the target app, before it is ever launched.

iOS-alert-cant-open-page-facebook

iOS alert: confirm deep linking

Now that users must agree whether they want to launch the app, this brings way more friction into the process of deep linking. The new process will potentially scare off some users and increases churn.

 

Strike 2) The “Can’t open page” alert now stays long

With the release of iOS 9.2, both alerts are coupled in such way that they are visible for the same time span. This means that if you want to optimize the user experience for users without your app installed, you would set a low time-out to bypass the “can’t open page” alert as fast as possible. But setting a short time-out (less than half a second) will now make it almost impossible to confirm the “open app” alert; thus you’ll lose the chance to deep link your existing app users into your app.
If you decide to set a long enough time-out to allow your app users to conveniently confirm the “open app” alert, the user experience will be worse for those without your app installed. These users will have to sit waiting for this longer time span faced by an error message, before they are routed to the website.

 

Strike 3) Apple blocks launching the App Store from app-detecting links

Until iOS 9.1 it was possible to first try to deep link users into your app, before they were sent to the App Store to download it.
With iOS 9.2 Apple now blocks the launch of the App Store if the request was initiated by scripting technologies – which is the case, if you tried to launch an app beforehand.

Will my 360 Smart App links continue to work?

Yes, all 360 Smart App links will continue to work as expected. Nevertheless we encourage you to adapt Universal Links in your iOS apps as soon as possible to ensure an optimal user experience across all devices. We’re happy to guide and support you in the process. Simply get in touch.

Conclusion

Why would Apple intentionally worsen the user experience on it’s devices, especially when routing users into their app ecosystem, where Apple benefits most from them?
The only answer is that Apple wants to enforce its new Universal Links standard, which indeed fulfills the promise of a frictionless deep linking. We recommend that you start supporting Universal Links as soon as possible.
We’re here to help – get in touch.