android - 深层链接在 Chrome 中不起作用

标签 android google-chrome deep-linking

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

这是我的 URI:

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

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

最佳答案

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

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

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

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

关于android - 深层链接在 Chrome 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37069816/

相关文章:

java - Android - 如何检测父布局类型

javascript - jQuery 打开文件对话框在 Chrome 和 IE 中多次打开

javascript - Chrome 是否支持 "addEventListener"?

javascript - HTML5 视频 - Chrome - 错误设置 currentTime

android - Firebase Deep Link 打开的是 Play 商店而不是 App

android - Firebase动态链接的自定义应用程序代码

java - 实现 DialogFragment 的回调

android - 当我将函数调用移动到不同的按钮时,为什么我的 ble 应用程序会崩溃?

java - 深度 sleep 连接蓝牙设备失败

java - Android 深层链接的模式匹配