深层链接在 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 这样的免费服务(完全披露:我在团队中)。
我正在尝试深入 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 这样的免费服务(完全披露:我在团队中)。