iOS 11.2中通用链接失效

17

我在一个应用程序中使用Branch深层链接通过社交媒体共享应用程序中的内容链接。一切都运行良好了相当一段时间。

更新到iOS 11.2后,我遇到了以下问题:

1)更新后,通用链接仍然可以使用。

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

3)从那以后,所有链接始终会在Safari中打开Branch的深度视图。

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

无论我在哪个应用程序中点击链接(Notes、WhatsApp、Messages、Facebook等),它总是相同的行为。

当应用程序打开时,在右上角点击“转到链接”按钮时,通用链接未被绕过。我在三个不同的设备上进行了测试(iPhone 5s、iPhone 6s、iPhone 7)。所有结果都一样。

我发现在iOS 11 beta 2中存在一个错误,这个错误在beta 3中得到了修复(Ios 11.2 beta universal links open my app and safari),但它可能已经重新出现?!

是否有人遇到相同的问题或者有解决方法?


我也有这个问题:iOS 11.2.1在几天前发布,似乎仍然存在这个问题。开发者中心有一个测试版发布(11.2.5),可能会解决这个问题,但我现在无法测试。 - Luke
2个回答

25

有时通用链接在iOS 11.2上对于新安装的应用程序不起作用。

症状是,单击通用链接不会打开手机上新安装的应用程序。 通用链接将用户带到一个网页,并提示重新下载该应用程序。

通过在Branch HQ进行测试,我们发现即使从应用商店或Xcode安装应用程序时,苹果应用程序关联域文件(apple-app-site-association文件)并不总是在应用程序安装后下载。

删除应用程序,重启手机,重新安装应用程序,并等待一两分钟似乎可以解决这个问题。这显然是糟糕的用户体验。

我们已向Apple提交了一个雷达问题报告,并将继续跟踪此问题。

缓解措施

设置$uri_redirect_mode

在链接上设置$uri_redirect_mode选项可以让Branch尝试强制链接打开应用程序,即使可能向用户显示错误。您可以在Branch文档中阅读有关此选项的内容

这里有关于在您的Branch Journey或Deepview横幅中打开$uri_redirect_mode的更多信息,这是Branch向用户显示Web浏览器深度链接时的Web片段:

高级Journey配置

延迟式深度链接缓解此问题

Branch的延迟式深度链接技术可以缓解此问题:如果用户从主屏幕打开应用程序,则通用链接被点击后延迟式深度链接仍然起作用,并且链接内容将在应用程序中显示。


在我所有的测试设备上,第一次点击任何链接都会导向商店。从那时起,我总是被重定向到应用程序。令人烦恼的是,它不能在第一次点击时正常工作,但最终至少在之后可以正常工作。 - nice_pink

0
作为对@clayjones94答案的补充,我一直无法让我的iPad第二代(iOS 12.1.1)在切换发布和调试目标后恢复使用通用链接的功能。 昨天它突然开始工作了,但是在更改构建目标后,通用链接又再次中断了。
我已经卸载、重启、安装等等操作了。
然而,我能够在模拟器中测试功能,因此现在,我建议尝试使用新的模拟器,以确保您的AASA文件在服务器上是正确的。
编辑:如果涉及到代理,那么这也可能会破坏应用程序和网站之间的验证。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接