概述
需求
用户安装APP,则拉起APP
用户未安装APP,则跳转应用市场
实现方案
首先我们得知道js无法判断出当前手机里面App是否安装。(假如H5页面在微信内打开,可通过调用微信内部的JS API判断出App是否安装,但是该接口不对外开放)。
浏览器中打开H5页面唤起App时也是无法判断出当前app是否安装。
针对这种情况 ,目前业内普遍采取两种做法:
- 1.是利用延时器原理,打开H5页面会尝试唤起App,假如失败了几秒后会直接跳转到下载页面 (缺点是即使用户安装了App过了时间也会跳转到下载页,从App返回到浏览器时也会变成下载页,体验很不好)
- 2.不采用延时器,打开H5页面时会直接弹出这个弹框,用户点击【点击下载】,就能直接跳转到App下载页面引。
实现
const appDownload = () => {
function failed() {
window.location.href = '应用商店的地址'
}
function transfer(cb) {
window.location.href = 'app的scheme';
const initialTime = new Date();
let counter = 0;
let waitTime = 0;
const checkOpen = setInterval(() => {
counter++;
waitTime = new Date() - initialTime;
if (waitTime > 3500) {
clearInterval(checkOpen);
cb();
}
if (counter < 1000) {
return;
};
}, 20);
document.addEventListener('visibilitychange', () => {
const isHidden = document.hidden;
if (isHidden) {
clearInterval(checkOpen);
}
});
}
transfer(failed);
}
if(!this.isWeixin()) {
appDownload();
}
ps:上面是有延迟的实现代码
另外,在微信里面scheme方案会被屏蔽,我这边是给了提示让浏览器打开,也不知道有没有什么别的好的方案~~~
最后
以上就是温婉大白为你收集整理的通过js唤醒app或者跳转应用市场的全部内容,希望文章能够帮你解决通过js唤醒app或者跳转应用市场所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复