遇到的问题:
公司的App产品,在运营推广上有一个需求。要求可以让用户在访问我们的推广网页时,可以判断出这个用户手机上是否安装了我们的App。如果安装了则可以直接在手机上打开,否则就前往下载。从而形成一个推广上的闭环。
浏览器和app没有通信协议,所以h5不知道用户的手机释放安装了app。因此只能是h5去尝试唤起app,若不能唤起,引导用户去下载我们的app。
微信里屏蔽了 schema 协议,如果在微信中打开h5,则会提示用户在浏览器中打开。
解决思路:
想通过iframe的方式试图打开APP,如若不行则用window.location的方法解决。
对于点击链接后,能否直接打开,可以通过下面的代码来实现。前提条件:你得知道你的APP对应的打开协议,如贴吧APP,协议为:com.baidu.tieba:// ,微信的:weixin:// ,等等。
<!-- a标签点击打开的动作,在click事件中注册 -->
2 <a href="javascript:;" id="openApp">App客户端</a>
3 <script type="text/javascript">
//判断浏览器
var u = navigator.userAgent;
if(/MicroMessenger/gi.test(u)