使用Chrome iOS应用时,Deeplinks工作正常。但是在safari中它停止工作并且它总是重定向到appstore页面,即使安装了应用程序,或者有时会弹出警告说“#34; safari无法打开页面,因为地址无效"。几天前一切都很完美。所以我猜这是在ios 9.2更新后发生的。对此有何解决方案?
更新
我尝试过使用新手机(之前没有安装过哪个应用)并安装了该应用。
深层链接适用于两种浏览器(Safari和Chrome)。
如果你按下bnc.lt前进按钮,它会为Safari和Chrome打开App Store。
下次打开链接深层链接时:
换句话说,您仍然可以在点击状态栏中的bnc.lt前向链接后从Chrome打开该应用。这是因为Chrome要求打开应用而不是应用商店。
对于Safari,我最终处于不可逆转状态,深层链接始终打开应用商店,而不是应用。
答案 0 :(得分:14)
来自Branch的Alex:这是预期的行为。不幸的是,由于the changes to Universal Links in iOS 9.2,我们的后备选项目前相当有限。
TL; DR:它是大多数用户不会遇到的边缘情况,但您可以通过使用我们的Deepviews功能轻松解决这个问题。
基本上,这是你所看到的背后的逻辑:
bnc.lt
转发按钮时,您正在告诉您的设备“我不希望您立即打开该应用...向我展示此内容的网络内容链接而不是#39;。对于分支链接,此网络内容'只是重定向到App Store。此时,Branch无法知道您是否安装了应用程序,因此我们必须假设它不是,并且您获得与上述1.相同的处理。 这不太好,但由于Apple设计系统的方式,目前我们没有更好的选择。bnc.lt
按钮,只是直接转到网络内容。 我不确定为什么Safari会这样做,因为我无法想象很多情况会让这种情况变得可取而且会导致很多用户混淆。这里的真正问题是,当您按bnc.lt
以绕过应用时,您的设备会记住此偏好并在以后每次看到bnc.lt链接时执行此偏好。 Chrome仍然可以正常使用'因为它每次都在4中主动确认偏好,而Safari只是向前推进。接下来会发生什么选择:
答案 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
如果您锁定Branch的上下文深层链接的基础知识。您发现Branch.io也使用传统的深层链接
<强> 1。创建链接 当您集成Mobile SDK时,您可以在用户每次点击以在应用内共享或邀请其他用户时创建分支链接。您的应用程序调用Branch.io,Branch.io返回分支链接。
<强> 2。将数据绑定到链接
<强> 4。使用数据
选中“点击链接”步骤,Branch.io只会使用您的应用URI方案映射您的网站网址,但Safari会支持更长的URI模式。因此,移动到Universal Links只是在iOS 9.2中进行深层链接的选项,或者您可以等待Branch.io的某些解决方案。感谢。