android home键后计时拉起app_web网页唤醒App(deeplink)

d78eb6f2d44afa5277b31d5045e47f89.png
Deeplink,简单讲,就是你在手机上点击一个链接之后,可以直接链接到app内部的某个页面,而不是app正常打开时显示的首页。不似web,一个链接就可以直接打开web的内页,app的内页打开,必须用到deeplink技术。

核心条件技术

在web的使用中,无论是URL Scheme 还是 Universal Links 找客户端开发者索取即可

URL Scheme

URL Scheme是iOS,Android平台都支持,只需要原生APP开发时注册scheme, 那么用户点击到此类链接时,会自动唤醒APP,借助于URL Router机制,则还可以跳转至指定页面。这种方式是当前使用最广泛,也是最简单的,但是需要手机,APP支持URL Scheme。

Universal Links

在2015年的WWDC大会上,Apple推出了iOS 9的一个功能:Universal Links通用链接。如果你的App支持Universal Links,那就可以访问HTTP/HTTPS链接直接唤起APP进入具体页面,不需要其他额外判断;如果未安装App,访问此通用链接时,可以一个自定义网页。

实例

<a href="javascript:;" id="pullApp" >进入app</a>
<script type="text/javascript">
;(function(){
var ua = navigator.userAgent.toLowerCase()
var isAppInside = /micromessenger/i.test(ua) || /weibo/i.test(ua)
function pullApp(obj){
	var timeout = 1000
	if (isAppInside) {
		//针对微信和微博的屏蔽 跳转提示页面(让用户使用浏览器打开页面)
		obj.button.onclick = function(){
			window.location.href = obj.tipsUrl
		}
	} else {
		obj.button.onclick = function(){
			//用Universal Link或者URL Scheme拉起app
			//这里使用iframe(或者A标签或者location.href)
			//scheme格式'<scheme域名>://<path>?<params>=<value>'
                	var startTime = Date.now()
                	var ifr = document.createElement('iframe')
                	ifr.setAttribute('id', 'ifr')
                	ifr.setAttribute('src', obj.openUrl)
            		document.querySelector('body').appendChild(ifr);  
            		//拉起失败跳转app下载页面
			var timer = setTimeout(function() {
				var endTime = Date.now()
				if (!startTime || endTime - startTime < timeout + 200) {
					window.location.href = obj.downloadUrl
				} else {
					
				}
			}, timeout)
		}
	}
}
pullApp({
	'button':document.querySelector('#pullApp'),
	'openUrl':'ltatm://',
	'downloadUrl':'index.php?act=tips',
	'tipsUrl':'xxxxx?redirect_url=' + location.href.split('#')[0]
})
// button:需要绑定点击唤醒APP事件的元素
// openUrl:唤醒APP的URL,一般为Universal Link或者URL Scheme
// downloadUrl:该游戏的下载地址
// tipsUrl:跳转提示页面,用于微信、微博、QQ等APP内打开页面却无法拉起游戏时的提示
})()
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值