MUI H5+ APP 分享H5连接 通过scheme唤醒APP

添加scheme

在manifest.json文件中添加IOS及安卓的scheme节点

//IOS
"apple": {
    "appid": "testguangdian.dome",/*iOS必选,苹果开发网站申请的appid,如io.dcloud.HelloMUI*/
    "mobileprovision": "",/*iOS必选,打包配置文件*/
    "password": "goncenleo01",/*iOS必选,导入配置文件密码*/
    "p12": "",/*iOS必选,打包配置文件关联的个人证书*/
    "devices": "universal",/*iphone,可取值iphone/ipad/universal*/
    "urltypes":[
        {
            "urlidentifier":"testguangdian.dome",
            "urlschemes":[
                "zhsq"
            ]
        }
    ],
 
    "frameworks": []
},
//安卓
"google": {
    "packagename": "",/*Android必选,程序包名,如io.dcloud.HelloMUI*/
    "keystore": "",/*Android必选,打包证书文件*/
    "password": "",/*Android必选,打包证书密码*/
    "aliasname": "",/*Android必选,打包证书别名*/
    "schemes":[
        "zhsq"
    ],
}

在APP的首页中 做出响应

document.addEventListener('plusready', function () {
    checkArguments();
}, false);
// 判断启动方式
function checkArguments() {
     alert(plus.runtime.launcher )
    if(plus.runtime.launcher == "default"){
        return
    }else if(plus.runtime.launcher == "scheme"){
            var args = plus.runtime.arguments;
            alert(JSON.stringify(args))
 
            if (args) {
                arr = args.split("?")[1];
            var goodsid = arr.split("=")[1];
                setTimeout(function(){
 
                    mui.openWindow("goods_detail.html?goodsid="+goodsid);
                    
                },1000)
 
            }
        }
        
    }
    // 处理从后台恢复
document.addEventListener('newintent', function () {
    console.log("addEventListener: newintent");
    checkArguments();
}, false);

在H5中唤起

function gp_down(dev){ //下载链接
    if(dev=='android'){
            var ifr = document.createElement('iframe');
            ifr.src = 'https://zhapp.4hl.cn/static/home/js/H53D548C0_0806114840.apk';
            ifr.style.display = 'none';
            document.body.appendChild(ifr);
    }else if(dev=='ios'){
        
    }
}




function submitFn(){
    
//判断浏览器
var u = navigator.userAgent;
if(/MicroMessenger/gi.test(u)) {
    // 引导用户在浏览器中打开
    alert('请在浏览器中打开');
    return;
}
var d = new Date();
var t0 = d.getTime();
if(u.indexOf('Android') > -1 || u.indexOf('Linux') > -1){
    //Android
            var href = "zhsq://startapp?goodsid=428045"
//                      alert("Android-->zhsq")
//                      alert(openApp('zhsq://startapp'))
    if(openApp(href)){
        openApp(href);
    }else{
        //由于打开需要1~2秒,利用这个时间差来处理--打开app后,返回h5页面会出现页面变成app下载页面,影响用户体验
        var delay = setInterval(function(){
                var d = new Date();
                var t1 = d.getTime();
                if( t1-t0<3000 && t1-t0>2000){
//                          alert('请下载APP');
//                           window.location.href = " app下载地址 ";
                }
                if(t1-t0>=3000){
                    clearInterval(delay);
                }
        },1000);
    }
}else if(u.indexOf('iPhone') > -1){
    //IOS
//              alert("ios-->zhsq")
//                              alert(openApp('zhsq://startapp'))
    if(openApp('zhsq://startapp')){  
        openApp('zhsq://startapp');
    }else{
        var delay = setInterval(function(){
            var d = new Date();
            var t1 = d.getTime();
            if( t1-t0<3000 && t1-t0>2000){
//                          alert('请下载APP');
//                          window.location.href = "app下载地址 ";
            }
            if(t1-t0>=3000){
                clearInterval(delay);
            }
        },1000);
    }
}    
}

function openApp(src) {
// 通过iframe的方式试图打开APP,如果能正常打开,会直接切换到APP,并自动阻止a标签的默认行为
// 否则打开a标签的href链接
    var ifr = document.createElement('iframe');
//               alert("openApp-->"+src)
    ifr.src = src;
    ifr.style.display = 'none';
    document.body.appendChild(ifr);
    window.setTimeout(function( ){
        document.body.removeChild(ifr);
    },2000);
}


submitFn()    
H5中唤起APP

你可能感兴趣的:(MUI H5+ APP 分享H5连接 通过scheme唤醒APP)