iOS - 通用链接错误

标签 ios deep-linking ios-universal-links

我已经按照此处概述的步骤在我的 iOS 应用中设置了通用链接:

How to Set Up Universal Links

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

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

但是,如果我转到 Google,在搜索中输入 www.mydomain.com,找到指向我的站点的链接并长按该链接,“在 MyApp 中打开”是其中一个选项并且效果很好。

这是为什么?我在拔头发!

最佳答案

不幸的是,通用链接并非在任何地方都有效。来自 this page :

  • 消息 |作品
  • 邮件 |作品
  • Whatsapp |作品
  • 松弛 |工作,如果它设置为打开 Safari,而不是应用内浏览器(使用 SFSafariViewController)
  • Safari |有条件地工作
  • Chrome |有条件地工作
  • 谷歌 |有条件地工作
  • Gmail |如果安装了 Chrome,则在 Chrome 中打开链接(不是通用链接)。否则,有条件地工作
  • 收件箱 |如果安装了 Chrome,则在 Chrome 中打开链接(不是通用链接)。否则,有效。
  • 推特 |有条件地工作
  • Facebook |有条件地工作
  • Facebook 信使 |有条件地工作
  • 微信 |有条件地工作
  • Pinterest |不工作
  • 电报 |不工作(使用 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 -- 通用链接仅在您已打开 WebView 时才有效。换句话说,它们在提要/主视图中无法在应用程序内使用。同样,它们也必须 是跨域的,也就是说,如果您的用户在 yourapp.com 上并单击了 yourapp.com 的通用链接,它将不起作用。但是,从 yourapp.com 单击到 bnc.lt 将触发链接作为通用链接并直接打开您的应用程序。

关于iOS - 通用链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37369596/

相关文章:

ios - uifont 'Impact' 不适用于 iOS

iphone - 键盘显示后 TableView 内容高度已更改

ios - 如何正确清理 Swift 中的 NSURLSession

ios - 如何在 Objective-C 中获取 QuickBlox token

Android 应用程序链接 - 在浏览器中打开应用程序的 url 而不会触发应用程序链接

android - 使用 React-Native 监听 Android 上的传入链接

ios - 通用链接 : how to go back programmatically?

ios - 如何从 NSString 获取值

android - 使用导航组件的深层链接未打开我的目标 fragment

带有通配符的 iOS 关联域(通用链接)不起作用