无法在 iOS 上与 Chrome 深入 link

Can't deep link with Chrome on iOS

我目前正在尝试为我正在开发的 iOS 应用构建自定义深度 linking 方案。 URL 的格式如下所示

[scheme]://[host]/[path]

我已经在我的应用程序中注册了 URL 方案,并且在 Safari 中一切正常。但是,当使用 Chrome 时,我根本无法使用 deep link。它总是只是在 phone 上开始 google 搜索,并且从不打开应用程序。我知道我必须在 Chrome 上使用意图标志,但我尝试的一切似乎都失败了。您可以 link 深入了解 iOS 上 Chrome 上的自定义方案吗?如果是这样,您如何格式化 URL?

好吧,让我们按顺序解决这些问题,因为有几个:

  1. 自定义 URI 方案在 Chrome 中工作得很好,并且使用与其他地方相同的格式 (scheme://path/to/content)。但是您必须将它们置于用户操作之后(即 link 或重定向)。您不能直接将它们键入地址框(顺便说一句,iOS 和 Android 都是这种情况)。
  2. Chrome 意图仅用于 Chrome Android 。它们未在 Chrome 的 iOS 版本中实现,而是响应通用链接和 URI 方案。
  3. 仅仅因为您可以在 Safari 和 Chrome 中使用自定义 URI 进行深度 linking 并不意味着您应该这样做。 事实上,它一年多以来都不是一个好主意,因为无法避免讨厌的错误消息和缺乏应用程序未安装的后备行为。

有关应该做什么的更深入的描述,您可以阅读 this blog post. High-level summary is you will need to support both custom URI schemes and Universal Links, and you'll need a bunch of logic to intelligently switch between the two depending on the situation. This is a lot of work, and most major apps now use a service like Branch.io(完全披露:我在 Branch 团队)。