iOS 11中破坏了Universal Link

时间:2017-12-13 20:22:16

标签: ios ios11 deep-linking ios-universal-links deeplink

我在应用中使用分支深层链接,通过社交媒体分享指向应用内容的链接。一切都工作得很好。

更新为 iOS 11.2 时,我遇到以下行为:

1)更新后,Universal Links仍然有效。

2)我卸载了应用并重新安装了它。

3)从那时起,所有链接始终在Safari中打开分支深度视图。

4)点击“打开应用程序”,打开AppStore。

无论在哪个应用中我点击链接(Notes,WhatsApp,Messages,Facebook,...),它总是一样的行为。

通过点击右上角的“转到链接”按钮(打开应用时), 未被绕过。我在三种不同的设备(iPhone 5s,iPhone 6s,iPhone 7)上进行了测试。所有这些都导致了相同的结果。

我发现是iOS 11测试版2中的一个错误,修正了测试版3 Ios 11.2 beta universal links open my app and safari),但它可能又重新出现了?!

任何人有同样的问题或解决方法吗?

2 个答案:

答案 0 :(得分:25)

有时,通用链接在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.

的信息

以下是有关在分支旅程或Deepview横幅中启用$uri_redirect_mode的详细信息,如果最终深入链接到网络浏览器,则分支显示用户的网络摘要:

Advanced Journey Configuration

延迟深层链接可以缓解此问题

此问题通过Branch的延迟深度链接技术得以缓解:如果用户在点击通用链接后从主屏幕打开应用程序,则延迟深层链接仍然有效,链接内容将显示在应用程序中。

答案 1 :(得分:0)

作为@ clayjones94的答案的补充,在发行和调试目标之间切换后,我无法使我的iPad第二代(iOS 12.1.1)恢复使用通用链接的功能。 昨天它突然开始工作,但是在更改构建目标之后,通用链接再次断开。

我已经卸载,重新启动,安装,重新启动等等。

但是,我能够在模拟器中测试功能,因此,现在,我建议尝试使用全新的模拟器,以确保服务器上的AASA文件正确。

编辑:如果您涉及代理,这也可能会中断应用程序与网站之间的验证