我目前正在尝试为我正在开发的iOS应用程序构建自定义的深层链接方案。URL的格式如下所示
[scheme]://[host]/[path]
我已经在我的应用程序中注册了URL方案,并且在Safari中一切正常。但是,在使用Chrome时,我根本无法获得深层链接。它始终只会在手机上开始Google搜索,而永远不会打开该应用程序。我知道我必须在Chrome上使用Intent标志,但是我尝试的所有操作似乎都失败了。您可以深入链接到iOS上的Chrome上的自定义方案吗?如果是这样,您如何格式化URL?
好吧,让我们按顺序解决这些问题,因为有几个:
自定义URI方案在Chrome浏览器中可以很好地工作,并且使用与其他任何地方相同的格式(scheme://path/to/content
)。但是您必须将它们置于用户操作(即链接或重定向)后面。您不能直接在地址栏中输入它们(顺便说一句,在iOS和Android上都是这种情况)。
Chrome Intent仅适用于Android上的Chrome 。它们未在Chrome的iOS版本中实现,而是响应通用链接和URI方案。
仅仅因为您可以在Safari和Chrome中使用自定义URI进行深度链接,并不意味着您应该这样做。实际上,一年多来这并不是一个好主意,因为无法避免令人讨厌的错误消息和缺少应用未安装的回退行为。
有关应该执行的操作的更深入的说明,请阅读此博客文章。概括地说,您将需要同时支持自定义URI方案和通用链接,并且需要大量逻辑来根据情况在两者之间进行智能切换。这需要很多工作,现在大多数主要应用程序都使用Branch.io之类的服务(完整披露:我在Branch团队中)。