有没有办法从浏览器强制 iOS *不* deep/universal link?

Is there a way to force iOS to *not* deep/universal link from the browser?

我很难找到这个问题的答案。我知道应用程序清单本身可以排除 links,但我有一个影响用户的活跃错误,不幸的是,更新应用程序不能解决当前用户的问题。

问题是在我们的移动网站上,我们有一个流程,它重定向到另一个域,然后再重定向回来。在第二次重定向回来时,如果我们的应用程序安装在设备上,该应用程序将在切换回浏览器之前短暂打开。发生这种情况时,页面中断(因为第二次重定向实际上是表单提交(POST)并且应用无法转发 POST。

有没有办法我们可以添加 header 或参数或其他东西来告诉 iOS 到 not 试试 deep/universal link?只使用 safari 的东西?

不适用于 headers

不幸的是,如果设备在您的设备上找不到匹配的 AASA 文件,它只会向通用 Link 发出请求。它将在没有请求的情况下在本地 OS 上执行到您的应用程序的切换。因此,如果设备将其识别为通用 link.

,则无法检查请求的 headers

同域修复

Universal Link 如果安装了应用程序,唯一会使用浏览器的情况是当 a 已经在 Universal Link 域中时,当他们单击 universal link 时。

示例:如果用户在 Safair 上 example.com,他们的设备上有一个 AASA applinks:example.com,然后他们单击 link 将他们重定向到 example.com/item123, 他们不会打开应用程序。

在你的情况下,你离开域然后回来。最好的办法是找出一种方法来重定向用户,同时让他们保持在同一域中。我知道这可能没有多大帮助,但这是你最好的选择。