ios-branch-deep-linking-attribution: Sometimes universal links don't work on iOS 11.2 and above.

Sometimes universal links don’t work on iOS 11.2 for newly installed apps

Here’s the Branch blog post about this.

The symptoms are that clicking on a universal link won’t open an app that is newly installed on a phone. The universal link takes the user to a web page and is prompted to download the app again.

Through testing here at Branch HQ we’ve discovered that the Apple App Site Associated Domains file (apple-app-site-association file) isn’t always downloaded after the app is installed, either when it’s installed from the app store or from Xcode.

Removing the app, restarting the phone, re-installing the app, and waiting a minute or so seems to clear this up. This is a horrible user experience obviously.

We are filing a radar with Apple and will continue to track this issue.

http://www.openradar.me/radar?id=4999496467480576

Mitigations

Set $uri_redirect_mode

Setting the $uri_redirect_mode option on links can have Branch try to force the link to open the app, even if it might show an error to the user. You can read about this option here, in the Branch docs.

Here’s more info about turning on $uri_redirect_mode in your Branch Journey or Deepview banner, the web snippet that Branch shows the user if the ends up deep linking into a web browser:

Advanced Journey Configuration

Deferred Deep Linking Also Mitigates This Problem

This issue is mitigated by Branch’s deferred deep linking tech: If the user opens the app from their home screen after the universal link is clicked, deferred deep linking still works, and the link content is shown in the app (Thanks Branch!).

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Comments: 17 (8 by maintainers)

Most upvoted comments

@dannyfreed exactly the same problem occurred since two weeks in my implementation. The app is already in the App Store and there it works well, but in the coming release candidate it doesn’t work anymore (installed via TestFlight).

Edit: found the solution in another solved issue: In the current version I update Swift and there the signature of an method in app delegate have changed. https://github.com/BranchMetrics/ios-branch-deep-linking/issues/869#issuecomment-427280133