今天在做前端输出的时候,需要和app的做些对接工作。就是在手机浏览器中下载某app时,能判断该用户是否安装了该应用。如果安装了该应用,就直接打开该应用;如果没有安装该应用,就下载该应用。那么下面就对在浏览器中,用js判断某用户是否安装了该应用,并判断是否打开该应用做个简单的介绍。
那么,怎么判断某用户是否安装了某应用呢?
在这里,先写段html代码,如下:
<!doctype html> <html> <head> <meta charset="utf-8"> </head> <body> <a href="某app下载链接" class="down_app" onclick="isInstalled()"></a> </body> </html>
判断手机端是否安装某应用,并打开该应用的js代码如下:
function isInstalled(){ var the_href=$(".down_app").attr("href");//获得下载链接 window.location.href="apps custom url schemes";//打开某手机上的某个app应用 setTimeout(function(){ window.location.href=the_href;//如果超时就跳转到app下载页 },500); }
下面对这段js代码做一个简单的解析:首先试着打开手机端某个app的本地协议;如果超时就转到app下载页,下载该app。
说到这里,有人就要问了,这个本地协议又是怎么建立的呢?好了,下面也就这个做个简单的介绍:
其实就是在app中将http协议转换为本地协议,具体怎么转换,不在本讨论范围。但需要在app里面对配置文件做一下设置(一般是在manifest.xml文件的activity的intent filter里面):
<span> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="**" android:host="**.**" android:pathPrefix="/**"> </data> </intent-filter> </span>
apps custom url schemes是什么呢?
其实就是你与app约定的一个协议URL,在IOS客户端或者Android客户端中可以设置一个URL Scheme。例如,设置URL Scheme:app,然后其他的程序就可以通过“URLString=app://”调用该应用。还可以传参数,如:app://reaction/?uid=1
以上介绍了怎么创建该本地协议及调用该本地协议的方法。但这里还有个关键就是怎么判断用户是否安装了该app呢?原理如下:
在手机浏览器中用js代码请求该协议,如果在500ms内,如果有应用程序能解析这个协议,那么就能打开该应用;如果超过500ms就跳转到app下载页。
但最近也发现了一些问题,在iPhone、华为、小米及酷派等手机下,都能正确打开app。但当用户手机没有安装app时,iPhone、华为等手机可以打开app应用,小米就打不开。页面会显示所请求的地址有错等,没能跳转到app下载页面。在网上找了些资料,有以下两种解决方法:
1.将setTimeOut的时间缩短,我这里设置的是500ms,觉得时间有点长了,那么我就设置30ms;
2.另外,iOS下将连接协议改成itms://itunes.apple.com/cn/app可以避免。(至于Android能不能这么搞,还待测试后才知)。
相关推荐
本代码适应于手机浏览器判断当前手机中是否安装了某app应用,如果app已经安装则开启app,如果尚未安装app,则跳转到app对应的下载地址页面。
手机浏览器集网址导航、应用中心、新闻资讯、影视娱乐、潮流时尚、科技运动等于一体,让你畅游网络,资讯信息一览无余!
安卓应用程序简单入门,内嵌内浏览器加载网站内容。手机应用直接打开网站。
浏览器和app没有通信协议,所以h5不知道用户的手机释放安装了app。因此只能是h5去尝试唤起app,若不能唤起,引导用户去下载我们的app。 微信里屏蔽了 schema 协议,如果在微信中打开h5,则会提示用户在浏览器中打开。...
c、安装完成后,APP下载页中提示:打开;用户继续点击打开 d、用户正常使用APP 2、用户第二次访问宣传页面 a、点击Banner,进入到APP Store中对应的APP下载页 b、APP下载页中提示:打开;用户直接点击打开 c、用户...
实现微信跳转默认浏览器下载app应用,代码需要补上下载app的地址,解压包里面有现成代码,请自行下载解压上传服务器
基于uniGUI1.0.0.1424 and c++builder 10.2.2tokyo开发实现基于手机浏览器访问oracle数据库的测试应用,本资源为源代码。
风起云涌的智能手机市场,让手机应用(App)大红大紫,似乎有一统天下之势。与此同时,苹果、谷歌、微软三巨头纷纷表示力挺 HTML5 技术在移动互联网的应用,三大主流手机操作系统, iOS、Android、Windows Phone纷纷...
js判断移动端APP是否安装 如果安装就打开APP 没有安装就提示下载
当用户在手机浏览器中点击一个按钮时,如果手机上已经安装该应用,则直接打开,如果没有安装,则转向应用下载页面。
安卓手机运维助手APP开发与应用.pdf
使用微信打开网址时,无法在微信内打开常用下载软件,手机APP等。网上流传的各种微信打开下载链接,微信一更新基本失效。大家常用的方法是,弹出一个遮罩提示用户在新的浏览器窗口打开,再也不用管微信如何的更新。 ...
171cms应用市场系统是国内首款针对APP应用市场而生开源的CMS,pc站+wap站+APP原生客户端三站合一,提供完整的APP应用市场搭建、运营、推广一站式解决方案。 软件介绍: 1、免费开源,自动采集功能 2、精美模板多样化...
傲游云浏览器Android版是针对Android系统精心打造的浏览器, 同时也是全球首款拥有云标签、云推送、云下载、云收藏功能的多标签网页浏览器。炫酷的界面,创新的手势操作、阅读模式、应用中心等强大功能,给用户带来...
搜索图神器APP 还不错 可以使用,亲测 /
安卓应用app启动,查看包名,版本号等源代码 列出所有手机安装的应用,读取包名版本,点击启动应用
基于H5流媒体,调用手机摄像头实现扫码 实现原理:H5调用系统媒体设备》选择前置摄像头》捕获视频流》渲染到视频播放器》定时抓取...3.可以从第三app打开的webview中调用其提供的api接口获取部分系统信息、用户信息等。
开发移动web应用时,安装Opera 模拟手机浏览器后,可以跟开发web网站一样,在电脑上查看手机页面效果。
7爱神器可以实现市面上98%手机APP或者浏览器唤起微信并且在微信浏览器打开指定网址。如微信公众号文章,可以跳转微信游戏圈网址可以设置成营销二维码页面,也可以跳到公众号文章带二维码的页面。甚至可以跳转微信...