7

我已经按照此处概述的步骤在我的 iOS 应用程序中设置了通用链接,具体细节如下:

如何设置通用链接

它使用 Branch 和 Apple 验证器 100% 成功验证。但是现在我正在尝试测试成品,我遇到了麻烦。

如果我输入或点击指向我网站的链接(例如 www.mydomain.com),Safari/Chrome/Facebook 会直接访问我的网站。

但是,如果我去谷歌,输入 www.mydomain.com 作为搜索,找到指向我网站的链接并长按链接,“在 MyApp 中打开”是选项之一,并且效果很好。

为什么是这样?我要拔头发了!

4

1 回答 1

24

不幸的是,通用链接并不适用于任何地方。从这个页面

  • 留言| 作品
  • 邮件| 作品
  • WhatsApp | 作品
  • 松弛| 有效,如果它设置为打开 Safari,而不是应用内浏览器(使用 SFSafariViewController)
  • 野生动物园| 有条件地工作
  • | 有条件地工作
  • 谷歌| 有条件地工作
  • 邮箱| 如果安装了 Chrome,则在 Chrome 中打开链接(不是通用链接)。否则,有条件地工作
  • 收件箱| 如果安装了 Chrome,则在 Chrome 中打开链接(不是通用链接)。否则,工作。
  • 推特| 有条件地工作
  • 脸书| 有条件地工作
  • 脸书信使| 有条件地工作
  • 微信| 有条件地工作
  • 兴趣| 不工作
  • 电报| 不工作(使用 SFSafariViewController)

注意:有条件地工作意味着它在某些时候工作(即打开应用程序):

  • 如果您将链接粘贴到浏览器 URL 字段中,通用链接将不起作用。
  • 通用链接与跨域<a href="...">的用户驱动元素点击一起工作。示例:如果 google.com 上有指向 bnc.lt 的通用链接,它将打开应用程序。
  • 通用链接不适用于用户驱动的<a href="...">元素单击同一域。示例:如果 google.com 上的通用链接指向 google.com 上的不同通用链接,则它不会打开应用程序。
  • 通用链接不能通过 Javascript(在元素中window.onload或通过.click()对元素的调用<a>)触发,除非它是用户操作的一部分。
  • Google、Gmail、Inbox、Twitter、Facebook、FB Messenger、WeChat -- 通用链接仅在您已经打开 web 视图时才有效。换句话说,它们不能在提要/主视图的应用内工作。同样,它们也必须是跨域的,也就是说,如果您的用户在 yourapp.com 上并单击 yourapp.com 的通用链接,它将不起作用。但是,从 yourapp.com 点击到 bnc.lt 将触发链接作为通用链接并直接打开您的应用程序。
于 2016-05-22T01:41:24.653 回答