H5唤醒App

H5唤醒App,如何检测到是否成功唤醒?

现在的处理是:

  • 点击后,500ms没成功就跳转到下载页面。

  • 在ios下,点击后,直接打开了App;但页面在继续执行,不管是否安装了App都会跳转到下载页面。

  • 需求是,如果成功打开App,就不能跳转到下载页面。

现在的思路是通过判断页面是否可见或者失去焦点,来判断是否打开了App,故做了如下尝试:

  • 判断document.hasFocus(),但其返回值一直为true。

  • 监听visibilitychange事件;visibilitychange在安卓下可以,在ios下只有在浏览器内切换页面会触发,点击home键回到桌面不触发。

  • 监听pageshow事件,貌似只有重载页面时才会触发,不能满足需求。

阅读 4.6k
1 个回答

iOS下用 Universal Links.

什么setTimeout visibilityChange 都是 hack 的做法,iOS9+ 还有 universal links这种官方的解决方案,安卓上千奇百怪的浏览器就惨了,若是调起了自家 App 仍然跳转到下载页面,那就跳吧,能怎样,与其过度扣这种前端没法解决只能 hack 的细节,不如把产品做好,用户安装了你家 App,他要用 App 自己自然会用。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题