iOS 11.2 中的通用链接中断
Posted
技术标签:
【中文标题】iOS 11.2 中的通用链接中断【英文标题】:Universal Link broken in iOS 11.2 【发布时间】:2018-05-27 20:16:30 【问题描述】:我在应用中使用分支深层链接,通过社交媒体分享应用中内容的链接。有一段时间一切正常。
更新到 iOS 11.2 时遇到以下行为:
1) 更新后通用链接仍然有效。
2) 我卸载了该应用程序并重新安装了它。
3) 从那时起,所有链接始终在 Safari 中打开 Branch deep view。
4) 点击“打开应用程序”,打开 AppStore。
无论在哪个应用中我点击链接(Notes、WhatsApp、Messages、Facebook 等),它始终是相同的行为。
通过点击右上角的“转到链接”按钮(打开应用程序时)未绕过通用链接。我在三种不同的设备(iPhone 5s、iPhone 6s、iPhone 7)上进行了测试。都导致了相同的结果。
我发现 iOS 11 beta 2 中存在一个 bug,该 bug 在 beta 3 中已修复 (ios 11.2 beta universal links open my app and safari),但它可能再次出现?!
任何人有同样的问题或解决方法?
【问题讨论】:
我也有这个问题:iOS 11.2.1 几天前发布,似乎仍然有这个问题。开发者中心 (11.2.5) 中有一个 beta 版本可以解决这个问题,但我现在无法测试。 【参考方案1】:有时通用链接在 iOS 11.2 上不适用于新安装的应用。
症状是点击通用链接不会打开手机上新安装的应用程序。通用链接将用户带到网页并提示再次下载应用程序。
通过在 Branch HQ 进行的测试,我们发现 Apple App Site Associated Domains 文件(apple-app-site-association
文件)并不总是在安装应用程序后下载,无论是从应用商店或 Xcode 安装时。
删除应用程序,重新启动手机,重新安装应用程序,然后等待一分钟左右似乎可以解决这个问题。这显然是一种糟糕的用户体验。
我们已向 Apple 提交了radar 并将继续跟踪此问题。
缓解措施
设置$uri_redirect_mode
在链接上设置 $uri_redirect_mode
选项可以让 Branch 尝试强制链接打开应用程序,即使它可能会向用户显示错误。您可以阅读有关此选项的信息here, in the Branch docs.
以下是有关在 Branch Journey 或 Deepview 横幅中打开 $uri_redirect_mode
的更多信息,如果最终深度链接到网络浏览器,Branch 会向用户显示网络 sn-p:
Advanced Journey Configuration
延迟深度链接可缓解此问题
Branch 的延迟深度链接技术缓解了此问题:如果用户在单击通用链接后从主屏幕打开应用程序,延迟深度链接仍然有效,并且链接内容显示在应用程序中。
【讨论】:
在我所有的测试设备上,第一次点击任何链接都会导致商店。从那时起,我总是被重定向到应用程序。很烦人,它在第一次点击时不起作用,但最后至少它在之后起作用。【参考方案2】:作为@clayjones94 答案的补充,在发布和调试目标之间切换后,我无法让我的 iPad 第二代 (iOS 12.1.1) 恢复使用通用链接的能力。 昨天它突然开始工作了,但是在更改构建目标后,通用链接再次断开。
我已经卸载、重新启动、安装、重新启动等等。
不过,我能够在模拟器中测试功能,所以现在,我建议尝试新的模拟器,以确保您的 AASA 文件在服务器上是正确的。
编辑:如果您有代理,这也可能会破坏应用程序和网站之间的验证
【讨论】:
以上是关于iOS 11.2 中的通用链接中断的主要内容,如果未能解决你的问题,请参考以下文章