检查是否从网页安装了应用

时间:2017-07-04 10:49:11

标签: javascript html web applinks

我有一个iOS和Android应用程序,我正在建立一个相应的网站。我希望该网页,如果使用移动设备打开,打开应用程序或其相应的应用程序商店页面(不使用Facebook应用程序链接)。 在应用程序方面,一切正常,包括url架构。

有人知道如何在没有外部服务的情况下使用HTML和JS来实现此过程吗?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

说实话,这对你自己来说是一种痛苦。在没有大量令人讨厌的边缘情况下,没有简单的方法来处理所有事情,最明显的是“无法打开页面”#34;错误用户将看到他们是否安装了您的应用。 直到iOS 9,一个合理的基本实现是将这样的JavaScript重定向放到您网站上的专用重定向页面中:

setTimeout(function() {
  window.location = "https://yourdomain.com";
}, 25);

// If "yourapp://" is registered, the user will see a dialog
// asking if they want to open your app. If they agree, your
// app will launch immediately and the timer won't fire.
// If not installed, you'll get an ugly "Cannot Open Page" 
// dialogue and your fallback page will open when the timer expires.

window.location = "yourapp://";

不幸的是,这仍然会显示“无法打开页面”。错误,但直到最近才有可能通过使用这个脚本的更细微的版本以合理的用户友好方式解决这个问题。遗憾的是,Apple intentionally broke that with the iOS 9.2 update,所以自定义网址方案现在对于深层链接实际上毫无用处,除非您某些该应用已安装在该设备上。

Apple显然试图尽可能地推出更新的Universal Links标准。通用链接允许您使用正常的http://网址到您网站上的网页(该网页可以简单地重定向到您想要的后备网页,而不会导致自定义网址触发器导致“无法打开网页”。错误),如果已安装,则会被您的手机拦截并直接发送到您的应用中。

这需要处理很多,所以最好的选择可能是像Branch.io这样的免费服务(完全披露:我与团队合作)来处理所有技术问题。您可以使用分支服务here找到应用的示例。