iOS具有通用链接功能(https://developer.apple.com/library/content/documentation/General/Conceptual/AppSearch/UniversalLinks.html) .
但是,看起来有几种方法可以将链接与应用程序“解除关联”:
-
按住某个链接并选择"Open in Safari"
-
应用程序右上角有一个小链接,在打开通用链接后显示它(看起来它已经在iOS 11中消失了) .
只要您执行其中一个操作,就会在Safari中打开通用链接(直到您将其重新关联回应用程序) .
问题是,如果用户最终处于此状态,则不清楚他/她应该做什么 . 我想在将在Safari中打开的网页上提供解释 .
但是,我想区分两种情况:
-
在没有应用程序的设备上单击链接:告诉用户下载应用程序
-
在安装了应用程序的设备上单击了一个链接,并且该链接已取消关联 . 告诉用户如何将其关联回来 .
有没有办法检查是否从Safari中打开的页面注册了通用链接?
1 回答
是的,你是正确的,iOS 11拿走右上角按钮重新启用通用链接 . 当您稍微向上滚动页面时,他们保留了显示的 Banner .
此 Banner 广告还将为用户重新启用Universal Links .
不幸的是,没有完美的解决方案来确定用户是否安装了应用程序,但有几种方法可以尝试推断用户是否已经安装了应用程序 . Branch有方法可以推断出用户是否安装了应用程序,并尝试使用URI方案打开它 . 您可以在docs中阅读
$uri_redirect_mode
.要自己构建这种推理方法是非常困难的,我不完全确定它是如何完成的,所以我推荐使用Branch的解决方案 .