深层链接在 chrome 中不起作用

Deep linking not working in chrome

我正在尝试深入 linking,这样当有人从移动浏览器打开 link 时,它要么打开应用程序(如果已安装),要么打开 Play 商店 link 下载应用程序。

这是我的 URI :

intent://scan/#Intent;scheme=com.example.android;package=com.example.android;end

当我在 Android 上的 Mozilla Firefox 应用程序中键入此内容时,如果已安装,它会打开我的应用程序;如果未安装,它会打开 Play 商店 link。但是,当我在 Chrome 中键入相同的内容时,它不会打开应用程序或 Play 商店,它只会进行 google 搜索。我的解决方案有什么问题,我该如何让它发挥作用?

这是 Chrome 40+ 中的一个已知 wontfix 错误(有关完整故事,请参阅 Chromium 项目票证 here)。

从本质上讲,Chrome 团队认为,如果用户实际上 在地址栏中键入 某些内容,则不应发生重定向。正如您所发现的,这与所有其他浏览器中的行为相反。

幸运的是,用户不太可能实际手动键入 intent:// URI。如果您将 URL 包裹在网页上的 link 中,或将 link 提供给另一个页面,然后发出某种重定向(以便您可以检测到用户代理而不是向其他浏览器上的用户显示 'broken' intent:// link),它应该可以正常工作。

如果您不想处理所有这些边缘情况,您也可以尝试像 Branch.io 这样的免费服务(完全披露:我在团队中)。