Branch.io Deeplink在ios 9中没有在safari中工作,但它适用于chrome

时间:2016-03-04 05:42:07

标签: ios branch.io ios-universal-links deeplink

使用Chrome iOS应用时,Deeplinks工作正常。但是在safari中它停止工作并且它总是重定向到appstore页面,即使安装了应用程序,或者有时会弹出警告说“#34; safari无法打开页面,因为地址无效"。几天前一切都很完美。所以我猜这是在ios 9.2更新后发生的。对此有何解决方案?

更新

我尝试过使用新手机(之前没有安装过哪个应用)并安装了该应用。

深层链接适用于两种浏览器(Safari和Chrome)。

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

下次打开链接深层链接时:

  • Safari:询问您是否要在应用商店中打开链接
  • Chrome:它询问您是否要打开应用并同时重定向到应用商店。如果您在下次单击深层链接时单击“打开”,则会在应用程序中打开它。

换句话说,您仍然可以在点击状态栏中的bnc.lt前向链接后从Chrome打开该应用。这是因为Chrome要求打开应用而不是应用商店。

对于Safari,我最终处于不可逆转状态,深层链接始终打开应用商店,而不是应用。

2 个答案:

答案 0 :(得分:14)

来自Branch的Alex:这是预期的行为。不幸的是,由于the changes to Universal Links in iOS 9.2,我们的后备选项目前相当有限。

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

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

  1. 当您在未安装应用程序的设备上打开链接时,您最终会访问我们的bnc.lt服务器,然后我们会将您重定向到App Store,以便您可以获取该应用程序。 这很好
  2. 当您第一次安装应用的设备上打开链接时,您的设备会检测到Universal Link并立即打开应用。所有这些都在您的设备上本地发生,您甚至无法访问我们的bnc.lt服务器。 这也很好
  3. 当您按下bnc.lt转发按钮时,您正在告诉您的设备“我不希望您立即打开该应用...向我展示此内容的网络内容链接而不是#39;。对于分支链接,此网络内容'只是重定向到App Store。此时,Branch无法知道您是否安装了应用程序,因此我们必须假设它不是,并且您获得与上述1.相同的处理。 这不太好,但由于Apple设计系统的方式,目前我们没有更好的选择。
  4. 下次打开链接时,您的设备会记住您过去已按下bnc.lt按钮,只是直接转到网络内容。 我不确定为什么Safari会这样做,因为我无法想象很多情况会让这种情况变得可取而且会导致很多用户混淆
  5. 这里的真正问题是,当您按bnc.lt以绕过应用时,您的设备会记住此偏好并在以后每次看到bnc.lt链接时执行此偏好。 Chrome仍然可以正常使用'因为它每次都在4中主动确认偏好,而Safari只是向前推进。接下来会发生什么选择:

    • 在Apple的理想世界中,您最终会进入正常的网页,只需向上滚动并使用在应用中打开按钮即可反转此偏好设置。但由于Branch立即将您重定向到App Store,因此这不是一个选项。您可以考虑使用我们的Deepviews功能,因为此 提供了一些真实的网络内容,而不是您现在所看到的直接App Store重定向。
    • 在大多数情况下,您仍然可以长按链接并选择在应用中打开,但这并不能帮助那些不知道该选项的用户。
    • 在最糟糕的情况下,您最终会进入App Store页面,只需按打开按钮(而不是安装)。感谢科恩的魔力,你仍然会在正确的位置结束!

答案 1 :(得分:1)

  

现在从iOS 9.2开始,Apple不再支持深度的URI方案   链接,开发人员必须实现Universal Links才能深入   在iOS上正确链接。

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

要了解有关通用链接的所有信息,请参阅

How to support Universal Links in iOS App and setup server for it?

示例

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

更新[1]

How Branch links work(Branch.io)

如果您锁定Branch的上下文深层链接的基础知识。您发现Branch.io也使用传统的深层链接

<强> 1。创建链接 当您集成Mobile SDK时,您可以在用户每次点击以在应用内共享或邀请其他用户时创建分支链接。您的应用程序调用Branch.io,Branch.io返回分支链接。

<强> 2。将数据绑定到链接

第3。点击链接 enter image description here

<强> 4。使用数据

选中“点击链接”步骤,Branch.io只会使用您的应用URI方案映射您的网站网址,但Safari会支持更长的URI模式。因此,移动到Universal Links只是在iOS 9.2中进行深层链接的选项,或者您可以等待Branch.io的某些解决方案。感谢。