【问题标题】:Android Deep linking is intermittentAndroid 深度链接是断断续续的
【发布时间】:2019-10-09 19:16:42
【问题描述】:

我们有一个 Andriod 应用程序,我们可以从该应用程序开始浏览器体验并加载页面。

在浏览器页面上有两个按钮“同意”和“取消”。我们有一个深层链接 URL,点击两个按钮都会调用它,并将用户带回到旅程开始的应用程序。

功能上的唯一区别是单击“同意”时,我们正在进行支持调用,在我们得到大约 10-15 秒的响应后,我们只是将 chrome 重定向到深层链接 url。

“取消”似乎不太有效,但单击“同意”按钮时,浏览器无法理解深层链接 url 并在同一浏览器会话中进行重定向。

这就是我们将 chrome 重定向到深层链接网址的方式。

window.location.replace(redirectUrl);

【问题讨论】:

  • 这种行为是由 chrome 强制执行的。等待 10-15 秒。不再被视为直接的“用户操作”,因此重定向被阻止。

标签: android google-chrome deep-linking


【解决方案1】:

这是我们调试的结论。我们发现代码中没有任何遗漏。

在以下情况下,Chrome 不会针对给定的 Intent URI 启动外部应用。 当 Intent URI 从键入的 URL 重定向时。 当 Intent URI 在没有用户手势的情况下启动时。

单击取消按钮时,它一直在工作,因为没有后端调用。 在同意按钮上,我们正在调用后端,在完成承诺后,我们将重定向回 App。在那种情况下,chrome 不会一直将此视为用户手势,因此会间歇性地失败。

解决此问题的一种方法是不要在 Android WebView 中打开新的浏览器窗口打开体验。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-01
    • 1970-01-01
    相关资源
    最近更新 更多