Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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!

like image 399
Adam G Avatar asked May 22 '16 01:05

Adam G


People also ask

Will Universal Links work with iOS 13?

We are also facing same issue for one of my new APP, Universal links worked fine in iOS 12 after upding to iOS 13 it stopped working. Currentky running with iOS 13.1.2. Tried above solutions mentioned by other users but it didn't worked out.

How to improve your user experience with deep linking in iOS?

Improve your user experience implemented these useful shortcuts. There are 2 ways of implementing deep linking in IOS: URL scheme and Universal Links. While URL schemes are a well-known way of having deep linking, Universal links are the new way Apple has implemented to easily connect your webpage and your app under the same link.

What is a universal link?

But more than that, Universal links allow us to have a fallback webpage if a user does not have the app installed.


1 Answers

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.
like image 126
Alex Bauer Avatar answered Oct 16 '22 18:10

Alex Bauer