Dec 11, 2015

iOS 9.2 may break deeplinking

Updated: conditional deeplinking in iOS 9.2

iOS 9.2, released on December 8th, introduces changes to the way the iOS web browsers handle deep links. Conditional deep linking - where the user is either sent to the App Store or into an app, depending on if the app is installed - may no longer work.

Specifically, some dialog windows are no longer modal, i.e. blocking. In iOS 9.1 and below, adjust would attempt to open deep links through the browser with JavaScript. This would trigger a modal dialog window, which blocked further execution of JavaScript, allowing us then to determine if the app could be opened or if the user should be redirected to the App Store.

In iOS 9.2, this window is now no longer modal, and it is no longer possible to detect if an app is installed from within the browser.

Adjust URLs with attached deep links will always redirect to the App Store on iOS 9.2. Given that all browser-based detection is now disabled, we are not currently aware of any alternative methods that would allow us to reconstruct the same functionality with custom scheme URL deep links.

This change only affects browser-dependent (JavaScript-based) deep links. Any solution relying on native code in-app is not affected.

Placements on Facebook, Twitter, or other in-app networks that use native deep link mechanics are functioning normally.

Custom URL scheme deep links are still supported by iOS 9.2.

Using Universal Links

Apple introduced Universal Links in iOS 9. These are deep links where, instead of defining a custom URL scheme, you match a set of webpages to locations in-app. When a user would open a webpage matched in this way, iOS would automatically redirect into the app.

Adjust supports deep link reattribution through Universal Links, and these links automatically send users to the requested webpage if the app isn’t installed. Implementing Apple’s Universal Links can be more work on the publisher side than deep links. While many of our mechanics work with Universal Links out of the box, we are looking at ways where we can help reduce the friction of migrating to Universal Links.