判断app是否在本设备已经下载,若已经下载则打开APP跳转到指定页面,若未下载则跳转下载【我是大白,我是猿】
判断app是否在本设备已经下载,若已经下载则打开APP跳转到指定页面,若未下载则跳转下载【我是大白,我是猿】Js代码Js代码function down(){var param = GetRequest();var goodsid = param['goodsid'];var type = param['type'];if (navigator.userAgent.match(/(iPhone|iP
·
判断app是否在本设备已经下载,若已经下载则打开APP跳转到指定页面,若未下载则跳转下载【我是大白,我是猿】
Js代码
function down(){
var param = GetRequest();
var goodsid = param['goodsid'];
var type = param['type'];
if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) {
var loadDateTime = new Date();
window.location = ""+goodsid;//schema链接
window.setTimeout(function() { //如果没有安装app,便会执行setTimeout跳转下载页
var timeOutDateTime = new Date();
if (timeOutDateTime - loadDateTime < 5000) {
window.location = "";
} else {
window.close();
}
}, 5000);
}else if (navigator.userAgent.match(/android/i)) {
var type = null;
try {
window.location = "xiuyuanlvie://www.xiuyuanlive.cn?type=1&goodsid="+goodsid;//schema链接或者universal link
window.setTimeout(function() {
window.location = "http://app.xiuyuanlive.cn/download"; //android下载地址
}, 5000);
} catch (e) {}
}
}
纯HTML+JS 我写的很简单,应该比较容易看清楚逻辑,第一步创建方法,第二部开始接参数,这边参数我是用JS去找到URL中的?后参数的,我们可以举以上例子,goodsid为商品ID,代表着商品,根据前端给出的schema链接(这个需要IOS和安卓提供过来的),这个链接的作用是可以打开我们手机下载对应的APP,因此我们跳转这个链接时,正常手机有APP是可以直接打开的,那么回顾业务需求,判断app是否在本设备已经下载,若已经下载则打开APP跳转到指定页面,若未下载则跳转下载,这不就很简单了吗,我们打开APP是有响应时间的,那么根据一个响应时间可以判断出app到底能不能打开,如果你的手机已经安装,那么一定是可以打开的,如果没有安卓,那么会一直响应前端给的这个schema链接,假如我们给这个时间做个判断,响应结束时间-现在的时间<5000的时候,说明我们的软件并没有打开,这时我们可以给出下载链接,这一步主要判断我们的APP是否安装,是否存在,不存在时则是else了,else就是跳转下载链接,就这么简单
开发时请注意:
时间不要太短,要考虑网速,若有客户网速很慢,那响应也很慢,那么我们这个就是BUG了
更多推荐
已为社区贡献1条内容
所有评论(0)