As of iOS 9.2, released December 8th, 2015, Apple has sounded the death knell for URI scheme based redirects, the standard for deep linking for the last seven years. Theyve decided that Universal Links are the future. Since you depend on Branch to leverage the best technology in order to drive the highest quality link-based user experience, were adopting these changes immediately.
Basically, you should assume that the URI scheme based deep linking that youve worked so hard to integrate is now unusable. If youre just joining us in the deep linking conversation, heres an example of a deep link that you can no longer use.
window.location = imdb://title/tt3569230;
The problem with this is that when the app is not installed, it shows a Cannot Open Page error. Im sure youve all seen it. Its the bane of deep linking. There was a glorious period during iOS 7 and iOS 8 where it was possible to bypass this, but the golden age has passed.
When the app was installed, it will display the modal below, prompting the user if they want to open the app. You can see an example here while trying to open the Twitter app.
Heres a video of the 9.2 experience when the app is installed.
This means it’s impossible to try and open up the app from Safari without showing an error message if the app is not installed. Because this is such a bad user experience, URI schemes, from our perspective, are effectively useless at this point.
The only observable difference in iOS 9.2 is that your app will not open immediately when a link is clicked (unless you’ve set up Universal Links). It will redirect to the App Store 100% of the time, even when the app is installed. So, if a user has your app, theyll see an Open button instead of the Get button.
Please note that deep linking through install, passing parameters to the app, and all of your attribution and analytics are unaffected. These work just fine. For most people, this is why youve integrated Branch in the first place.
Don’t fear! There is a solution. Apple delivered Universal Links to handle opening of the app when installed, and falling back to your chosen path (mobile web, App Store, or Deepview). Branch has made enabling Universal Links extremely easy. You just need to add ‘bnc.lt’ and your custom link domain to your app in the Domain Entitlements file and check a box on our dashboard.
Here’s the guide on how to get it done: https://dev.branch.io/recipes/branch_universal_links/ios/
If you currently use URI schemes for deep linking, check out our post for transitioning to Universal Links. If you want to check if your domain is properly configured for Universal Links, try our validator tool.
We’d highly recommend that you invest the five minutes it takes to make this update, as it will deliver substantially better routing from your Branch links on iOS 9.2 and above.
We dont need to change much, since we already support Universal Links.
Were going to assume that this was not an accident and that Apple actually wants URI schemes gone. Over the next few days, youll see some substantial changes to our service to make it easier for you to adopt Universal Links.
Here are some things youll see happen.
Most of you dont need to read this section, as its already clear why you would use a Branch Universal Link. Heres a simple diagram.
With Branch, you get all the basic routing of a Universal Link plus the deferred deep linking and install attribution for the new user acquisition flow. Thats why Branch is your go to tool for mobile app growth. Read our guide for setting up Universal Links or view our Universal Links best practices for more information.
And of course, if you dont have a website for your app already, Branch will host your apple-app-site-association file for you and give you Universal Link technology with the check of a box.Branch is a mobile linking platform providing unified mobile experiences and measurement for more than 27,000 mobile apps, including Airbnb, Slack, Reddit, Tinder and Amazon.
Branchs free linking platform can help you grow your mobile app through features like deep linking, sharing, referrals, mobile banners and interstitials, custom app onboarding, and unified attribution across platforms and channels.Learn more about Branch.