通用 Link 在 iOS 11.2 中损坏
Universal Link broken in iOS 11.2
我在应用程序中使用 Branch deep links 通过社交媒体分享 links 到应用程序中的内容。一段时间以来一切正常。
更新到 iOS 11.2 时,我遇到了以下行为:
1) 更新后通用 Links 仍然有效。
2) 我卸载了应用程序并重新安装了它。
3) 从那时起,所有 link 总是在 Safari 中打开 Branch 深度视图。
4) 点击 "Open The App",打开 AppStore。
无论在哪个应用程序中我点击link(Notes、WhatsApp、Messages、Facebook...),它总是一样的行为。
通过点击右上角的 "go to link" 按钮(打开应用程序时)未绕过 通用 Link。我在三种不同的设备上进行了测试(iPhone 5s,iPhone 6s,iPhone 7)。都导致了相同的结果。
我发现 iOS 11 beta 2 中存在一个错误,该错误已在 beta 3 () 中修复,但它可能又出现了?!
有人遇到同样的问题或有解决方法吗?
有时通用 links 不适用于 iOS 11.2 新安装的应用程序。
症状是点击通用 link 不会打开新安装在 phone 上的应用程序。通用 link 将用户带到网页并提示再次下载应用程序。
通过在 Branch HQ 进行测试,我们发现 Apple App 站点关联域文件(apple-app-site-association
文件)并不总是在应用安装后下载,无论是从应用商店安装时或来自 Xcode.
删除应用程序,重新启动 phone,重新安装应用程序,等待一分钟左右似乎可以解决这个问题。这显然是一种糟糕的用户体验。
我们已向 Apple 提交 radar 并将继续跟踪此问题。
缓解措施
设置$uri_redirect_mode
在 link 上设置 $uri_redirect_mode
选项可以让 Branch 尝试强制 link 打开应用程序,即使它可能会向用户显示错误。您可以阅读有关此选项的信息 here, in the Branch docs.
这里有更多关于在您的 Branch Journey 或 Deepview 横幅中打开 $uri_redirect_mode
的信息,Branch 向用户显示的网页片段最终深入 link 进入网络浏览器:
Advanced Journey Configuration
延迟深度链接缓解了这个问题
Branch 的延迟深度 linking 技术缓解了此问题:如果用户在单击通用 link 后从主屏幕打开应用程序,延迟深度 linking仍然有效,link 内容显示在应用程序中。
作为@clayjones94 的回答的补充,我无法让我的 iPad 第二代 (iOS 12.1.1) 恢复使用通用 links 的能力在发布和调试目标之间切换之后。
昨天它突然开始工作,但是在改变构建目标之后,通用link又坏了。
我已经卸载、重启、安装、重启等等。
但是我能够在模拟器中测试功能,所以现在,我建议尝试使用新的模拟器以确保您的 AASA 文件在服务器上是正确的。
编辑:如果您涉及代理,这也可能会破坏应用程序和网站之间的验证
我在应用程序中使用 Branch deep links 通过社交媒体分享 links 到应用程序中的内容。一段时间以来一切正常。
更新到 iOS 11.2 时,我遇到了以下行为:
1) 更新后通用 Links 仍然有效。
2) 我卸载了应用程序并重新安装了它。
3) 从那时起,所有 link 总是在 Safari 中打开 Branch 深度视图。
4) 点击 "Open The App",打开 AppStore。
无论在哪个应用程序中我点击link(Notes、WhatsApp、Messages、Facebook...),它总是一样的行为。
通过点击右上角的 "go to link" 按钮(打开应用程序时)未绕过 通用 Link。我在三种不同的设备上进行了测试(iPhone 5s,iPhone 6s,iPhone 7)。都导致了相同的结果。
我发现 iOS 11 beta 2 中存在一个错误,该错误已在 beta 3 (
有人遇到同样的问题或有解决方法吗?
有时通用 links 不适用于 iOS 11.2 新安装的应用程序。
症状是点击通用 link 不会打开新安装在 phone 上的应用程序。通用 link 将用户带到网页并提示再次下载应用程序。
通过在 Branch HQ 进行测试,我们发现 Apple App 站点关联域文件(apple-app-site-association
文件)并不总是在应用安装后下载,无论是从应用商店安装时或来自 Xcode.
删除应用程序,重新启动 phone,重新安装应用程序,等待一分钟左右似乎可以解决这个问题。这显然是一种糟糕的用户体验。
我们已向 Apple 提交 radar 并将继续跟踪此问题。
缓解措施
设置$uri_redirect_mode
在 link 上设置 $uri_redirect_mode
选项可以让 Branch 尝试强制 link 打开应用程序,即使它可能会向用户显示错误。您可以阅读有关此选项的信息 here, in the Branch docs.
这里有更多关于在您的 Branch Journey 或 Deepview 横幅中打开 $uri_redirect_mode
的信息,Branch 向用户显示的网页片段最终深入 link 进入网络浏览器:
Advanced Journey Configuration
延迟深度链接缓解了这个问题
Branch 的延迟深度 linking 技术缓解了此问题:如果用户在单击通用 link 后从主屏幕打开应用程序,延迟深度 linking仍然有效,link 内容显示在应用程序中。
作为@clayjones94 的回答的补充,我无法让我的 iPad 第二代 (iOS 12.1.1) 恢复使用通用 links 的能力在发布和调试目标之间切换之后。 昨天它突然开始工作,但是在改变构建目标之后,通用link又坏了。
我已经卸载、重启、安装、重启等等。
但是我能够在模拟器中测试功能,所以现在,我建议尝试使用新的模拟器以确保您的 AASA 文件在服务器上是正确的。
编辑:如果您涉及代理,这也可能会破坏应用程序和网站之间的验证