我是靠谱客的博主 痴情故事,这篇文章主要介绍h5怎样唤醒app,现在分享给大家,希望可以做个参考。

这次给大家带来用h5怎样唤醒app,怎么用h5唤醒app? h5唤醒app的注意事项有哪些,下面就是实战案例,一起来看一下。

h5唤起app这种需求是常见的。在移动为王的时代,h5在app导流上发挥着重要的作用。

三种唤起方案

目前我们采用的唤起方式是url scheme(iOS,Android平台都支持),只需原生APP开发时注册scheme, 那么用户点击到此类链接时,会自动跳到APP。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
var last = Date.now(), doc = window.document, ifr = doc.createElement('iframe'); //创建一个隐藏的iframe ifr.src = nativeUrl; ifr.style.cssText = 'display:none;border:0;width:0;height:0;'; doc.body.appendChild(ifr); setTimeout(function() { doc.body.removeChild(ifr); //setTimeout回小于2000一般为唤起失败 if (Date.now() - last < 2000) { if (typeof onFail == 'function') { onFail(); } else { //弹窗提示或下载处理等 } } else { if (typeof onSuccess == 'function') { onSuccess(); } } }, 1000);
登录后复制

iframe方案的唤起原理是: 程序切换到后台时,计时器会被推迟(计时器不准的又一种情况)。如果app被唤醒那么网页必然就进入了后台,如果用户从app切回来,那么时间一般会超过2s;若app没有被唤起,那么网页不会进入后台,setTimeout基本准时触发,那么时间不会超过2s。

window.location.href直接跳转

复制代码
1
window.location.href = nativeUrl;
登录后复制


a标签唤起

复制代码
1
<a href="nativeUrl">唤起app</a>
登录后复制


对比iframe唤起和location.href,我们可以发现:

对于ios来说,location.href跳转更合适,因为这种方式可以在Safari中成功唤起app。Safari作为iphone默认浏览器其重要性就不用多说了,而对于微信和qq客户端,ios中这两种方式都没有什么卵用==

对于Android来说,在进入页面直接唤起的情况下,iframe和location.href是一样的,但是如果是事件驱动的唤起,iframe唤起的表现比location.href要更好一点。

通过测试可以发现,进入页面直接唤起和事件驱动的唤起,对于很多浏览器,两者的表现是不同的,简单来说,直接唤起的失败更多。

通过上述对比分析,Android使用iframe唤起,ios采用window.location.href唤起更合适一点。

相信看了这些案例你已经掌握了方法,更多精彩请关注靠谱客其它相关文章!

相关阅读:

H5的web本地存储如何使用

H5怎样实现拖放功能

H5的进阶段内联标签

以上就是h5怎样唤醒app的详细内容,更多请关注靠谱客其它相关文章!

最后

以上就是痴情故事最近收集整理的关于h5怎样唤醒app的全部内容,更多相关h5怎样唤醒app内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(76)

评论列表共有 0 条评论

立即
投稿
返回
顶部