Branch.io Deeplink 在 ios 9 中无法在 safari 中使用,但在 chrome 中可以使用

Branch.io Deeplink not working in safari in ios 9, But it works in chrome

Deeplink 在使用 chrome iOS 应用程序时完美运行。但在 safari 中它停止工作并且它总是重定向到应用程序商店页面,即使应用程序已安装或有时弹出警告说 "safari cannot open the page because the address is invalid"。几天前一切都很完美。所以我猜这是在 ios 9.2 更新之后发生的。有什么解决办法吗?

更新

我已经尝试使用新的 phone(以前没有安装过哪个应用程序)并安装了该应用程序。

Deep links 适用于两种浏览器(Safari 和 Chrome)。

如果您按下 bnc.lt 前进按钮,它会为 Safari 和 Chrome 打开 App Store。

下次开link深link:

换句话说,在状态栏中单击 bnc.lt 前进 link 后,您仍然可以从 Chrome 打开应用程序。这是因为 Chrome 要求打开应用程序而不是应用程序商店。

对于 Safari,我最终处于一种不可逆转的状态,其中深度 link 始终打开应用商店而不是应用。

Now from iOS 9.2, Apple no longer supports URI schemes for deep linking, developers must implement Universal Links in order to deep link properly on iOS.

通用 links 可让您用标准 HTTP 或 HTTPS links 替换自定义 URL 方案。通用 link 适用于所有用户:如果用户安装了您的应用,link 会将他们直接带入您的应用;如果他们没有安装您的应用程序,link 会在 Safari 中打开您的网站。

要了解有关通用 [​​=63=] 的所有信息,请参阅

例子

https://github.com/vineetchoudhary/iOS-Universal-Links


更新[]

How Branch links work (Branch.io)

如果您锁定了 Branch 的上下文深度 link 的基础知识。您发现 Branch.io 也使用传统的 deep-linking

1.创建 links 集成移动 SDK 后,您可以在每次用户点击分享或邀请您的应用程序中的其他用户时创建一个分支 link。您的应用调用 Branch.io,Branch.io return 一个分支 link。

2。将数据绑定到 links

3。单击 links

4。使用数据


检查单击 link 的步骤,Branch.io 只需将您的网站 URL 映射到您的应用程序 URI 方案,但 Safari 不再支持 URI 方案。因此,为了在 iOS 9.2 中深入 linking,移动到通用链接是唯一的选择,或者您可以等待 Branch.io 的一些解决方案。谢谢。

来自 Branch 的 Alex:这是预期的行为。不幸的是,由于 the changes to Universal Links in iOS 9.2.

,目前我们的后备选项相当有限

TL;DR:这是大多数用户不会遇到的边缘情况,但您可以通过使用我们的 Deepviews 功能轻松解决它。

基本上,这是您所看到的背后的逻辑:

  1. 当您在未安装该应用程序的设备上打开 link 时,您最终会访问我们的 bnc.lt 服务器,我们会将您重定向到 App Store,以便您可以获取该应用程序。 这个不错.
  2. 当您在安装了该应用程序的设备上首次打开 link 时,您的设备会检测到通用 Link 并打开该应用程序立即地。所有这一切都发生在您的本地设备上,您甚至无法访问我们的 bnc.lt 服务器。 这个也不错.
  3. 当您按下 bnc.lt 前进按钮时,您是在告诉您的设备“我不希望您立即打开该应用程序...向我显示此 link 的网页内容反而'。对于分支 link,此 'web content' 只是重定向到 App Store。此时,Branch 无法知道您是否安装了该应用程序,因此我们必须假设它没有安装,并且您得到与上面 1. 相同的处理。 这不是很好,但由于 Apple 设计系统的方式,目前我们没有更好的选择
  4. 下次您打开 link 时,您的设备会记住您过去曾按过 bnc.lt 按钮,直接将您带到网络内容。 我不确定为什么 Safari 会这样做,因为我无法想象在很多情况下这会是可取的,而且它会给用户带来很多困惑

这里真正的问题是,当您按 bnc.lt 绕过该应用程序时,您的设备会记住此首选项并在以后每次看到 bnc.lt link 时执行它。 Chrome 仍然 'works' 因为它在 4. 中每次都主动确认偏好,而 Safari 只是向前推进。接下来发生的事情有几个选项:

  • 在 Apple 的理想世界中,您最终会进入一个普通网页,只需向上滚动并使用 在应用程序中打开 按钮即可取消此偏好。但由于 Branch 会立即将您重定向到 App Store,所以这不是一个选项。您可以考虑使用我们的 Deepviews 功能,因为此 确实 提供一些真实的 Web 内容来代替您现在看到的即时 App Store 重定向。
  • 在大多数情况下,您仍然可以长按 link 和 select 在应用程序中打开,但这对以下用户没有帮助不知道那里有这个选项。
  • 在最坏的情况下,您最终会进入 App Store 页面并按下 Open 按钮(而不是 Install ).感谢 Branch 的魔法,您仍然会在正确的地方结束!