有没有办法从 Safari 检查通用链接注册?

Posted

技术标签:

【中文标题】有没有办法从 Safari 检查通用链接注册?【英文标题】:Is there a way to check universal link registration from Safari? 【发布时间】:2017-12-27 00:14:44 【问题描述】:

ios 具有通用链接功能 (https://developer.apple.com/library/archive/documentation/General/Conceptual/AppSearch/UniversalLinks.html)。

但是,似乎有几种方法可以“解除”链接与应用程序的关联:

按住链接并选择“在 Safari 中打开” 应用右上角有一个小链接,打开通用链接后立即显示(iOS 11 中好像没有了)。

一旦您执行了其中一项操作,通用链接就会在 Safari 中打开(直到您将其重新关联回应用程序)。

问题在于,如果用户最终处于这种状态,则不清楚他/她应该做什么。我想对将在 Safari 中打开的网页进行说明。

但是,我想区分两种情况:

在没有应用的设备上单击链接:告诉用户下载应用 在安装了应用程序的设备上单击了一个链接,该链接已解除关联。告诉用户如何将其关联回来。

有没有办法检查在 Safari 中打开的页面是否注册了通用链接?

【问题讨论】:

【参考方案1】:

是的,iOS 11 取消了右上角按钮以重新启用通用链接是正确的。他们保留了当您稍微向上滚动页面时显示的横幅。

此横幅行为还将为用户重新启用通用链接。

不幸的是,没有完美的解决方案来确定用户是否安装了应用程序,但是有几种方法可以尝试推断用户是否已经安装了应用程序。 Branch 有办法推断用户是否安装了应用程序并尝试使用 URI 方案打开它。您可以在docs 中阅读有关$uri_redirect_mode 的信息。

这种推导方法自己构建难度很大,我也不完全确定是怎么做的,推荐使用Branch的方案。

【讨论】:

以上是关于有没有办法从 Safari 检查通用链接注册?的主要内容,如果未能解决你的问题,请参考以下文章

iOS 9 通用链接(Universal Links)

iOS Universal Links(通用链接)

如何将通用链接重定向到应用商店而不在 Safari 浏览器上显示弹出窗口?

IOS Ad Hoc 分发链接啥都不做

iOS - 好好利用Safari 之 通用链接 Universal Link

当另一个应用程序打开 Safari 视图控制器时,如何让 branch.io 通用链接工作?