浏览器唤起APP的实现
效果如图:
<a href="javascript:;" id="callLInk">点我唤起APP</a>
<script src='./callApp.js'></script>
<script>
var app = new CallApp({
scheme: 'jdly://ztktct/details',
timeout: 2000,
autoCall: true,
params: {
id: 31552
}
})
document.getElementById('callLInk').onclick = function () {
app.call(function (flag) {
if (flag) {
// 成功
} else {
// 失败
}
})
}
</script>
scheme
: 约定好的Scheme
协议,考虑低版本IOS和安卓,此项应该必填androidScheme
: 安卓用Scheme,以防万一安卓与IOS定义的不一致的时候可用,与1互斥,:DiosScheme
: IOS 用scheme,以防万一安卓与IOS定义的不一致的时候可用,与1互斥,:Dparams
: 参数,url里的查询字符串,?xx=xx&yy=zzapplink
: 安卓app link,如果设置了,那么安卓6.0以上会采用,6.0以下依旧采用schemeuniversalLink
: IOS universal link,如果设置了,那么IOS9.0以上会采用,9.0以下依旧采用schemeandroidIntent
: 未启用, Android Intent 方式唤起,尽量不用,该方式能用,一般scheme方式都能用timeout
: 自定义超时时间,默认1600msautoCall
: 是否自动唤起, 默认falsesuccess
: function, 唤起成功回调error
: function,唤起失败回调
- call: 手动唤起app,该方法可接受一个回调函数
- 普通用法
var app = new CallApp('jdly://ztktct/details')
app.call()
- 自定义配置
var app = new CallApp({
scheme: 'jdly://ztktct/details',
timeout: 2000,
autoCall: true, // 自动唤起
params: {
id: 31552
}
})
- 手动唤起
var app = new CallApp({
scheme: 'jdly://ztktct/details',
timeout: 2000,
autoCall: true,
params: {
id: 31552
}
})
document.getElementById('callLInk').onclick = function () {
app.call(function (flag) {
if (flag) {
// 成功
} else {
// 失败
}
})
}