我已经按照此处概述的步骤在我的 iOS 应用中设置了通用链接:
它使用 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/