Adam G
Adam G

Reputation: 1188

iOS - Bug With Universal Links

I have setup Universal Links in my iOS app exactly to details following the steps outlined here:

How to Set Up Universal Links

It validates 100% successfully using both Branch and Apple validators. But now that I'm trying to test out the finished product, I'm having trouble.

If I type in or tap a link to my site (ex, www.mydomain.com), Safari/Chrome/Facebook goes right to my website.

However, if I go to Google, type www.mydomain.com in as the search, locate the link to my site and long press on the link, 'Open in MyApp' is one of the options and works perfectly.

Why is this? I'm pulling out my hair!

Upvotes: 6

Views: 7713

Answers (1)

Alex Bauer
Alex Bauer

Reputation: 13613

Universal Links unfortunately don't work everywhere. From this page:

  • Messages | works
  • Mail | works
  • Whatsapp | works
  • Slack | works, if it's set to open Safari, not in-app browser (uses SFSafariViewController)
  • Safari | works conditionally
  • Chrome | works conditionally
  • Google | works conditionally
  • Gmail | if Chrome installed, opens link in Chrome (not Universal Link). Else, works conditionally
  • Inbox | if Chrome installed, opens link in Chrome (not Universal Link). Else, works.
  • Twitter | works conditionally
  • Facebook | works conditionally
  • FB Messenger | works conditionally
  • WeChat | works conditionally
  • Pinterest | not working
  • Telegram | not working (uses SFSafariViewController)

Note: Conditionally working means that it works (i.e., opens the app) some of the time:

  • Universal Links will not work if you paste the link into the browser URL field.
  • Universal Links work with a user driven <a href="..."> element click across domains. Example: if there is a Universal Link on google.com pointing to bnc.lt, it will open the app.
  • Universal Links will not work with a user driven <a href="..."> element click on the same domain. Example: if there is a Universal Link on google.com pointing to a different Universal Link on google.com, it will not open the app.
  • Universal Links cannot be triggered via Javascript (in window.onload or via a .click() call on an <a> element), unless it is part of a user action.
  • Google, Gmail, Inbox, Twitter, Facebook, FB Messenger, WeChat -- Universal Links only work when you have a webview already open. In other words, they do not work in-app from the feed / main views. Again, they also must be cross-domain, aka if your user is on yourapp.com and clicks a Universal Link also for yourapp.com, it will not work. However, clicking from yourapp.com to bnc.lt will trigger the link to function as a Universal Link and open your app directly.

Upvotes: 24

Related Questions