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()    
复制代码

转载于:https://juejin.im/post/5cb143e05188257a9e312334

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值