人生难得几回搏,此时不搏待何时。这篇文章主要讲述H5唤起app相关的知识,希望能为你提供帮助。
H5唤起app
1.判断是否在微信中打开无论是在哪个平台的客户端Android/IOS,在微信的平台上访问都有一个问题,那就是无法启动客户端,这是微信为了安全性考虑的限制,android这边屏蔽schema协议,除非公司是微信的伙伴加入了白名单才能使用,ios系统可以去访问app对应appstore的下载页,但是微信经常屏蔽appstore的这个网址,进而访问不到。比较方便的做法就是在微信浏览器中,无论是IOS还是android都去应用宝的下载(IOS 这边最后会到appstore中)页面打开。
var agent = navigator.userAgent || '
'
var isWx = /micromessenger/i.test(agent)
if(isWx){
//微信,提示用户用浏览器打开
}else{
//非微信
}
js的test() 方法用于检测一个字符串是否匹配某个模式.2.判断是否为iOS
RegExpObject.test(string) //string为要检测的字符串。 //如果字符串 string 中含有与 RegExpObject 匹配的文本,则返回 true,否则返回 false。
var isIOS = /iPhone|iPad|iPod/i.test(agent)//返回true/false
3.唤起appH5启动APP本质上是通过URL scheme打开APP,一个APP可以设置一个或多个打开自己的URL scheme,浏览器去访问某一个APP的URL scheme,然后若系统安装有这个APP,则会请求权限去打开这个APP。
其实也算是浏览器app打开另一个app,iOS就可以使用 UIApplication 的 canOpenUrl 方法来检测URL scheme 是否能打开对应的APP,而android也是类似的方式。
当然如果JS跳转URL scheme没有反应,也意味着这个手机没有装这个app。
<
a class='
btn'
>
打开app<
/a>
【H5唤起app】如果需要跳转到app指定页面,在URL scheme后面再加一个url即可(URL scheme及url由app开发人员提供。)
if (isIOS) {
$('
.btn'
).attr('
href'
,'
BonDayApp://'
+ url);
} else {
$('
.btn'
).attr('
href'
,'
bondayapp://bonday.com/scheme?'
+ url);
}
推荐阅读
- App压力测试整理
- Analyzing .net core application with SonarQube Scanner for MSBuild
- Android精通(TableLayout布局,GridLayout网格布局,FrameLayout帧布局,AbsoluteLayout绝对布局,RelativeLayout相对布局)
- AndroidStudio登录界面
- CSAPP Lab(Attack Lab——手把手教你写病毒(大误)
- 德尔福 XE5 安卓权限设置
- 德尔福 XE5 安卓调试
- Django学习手册 - 创建Django工程项目以及APP
- OpenGL学习 着色器渲染(以Android为例)