H5通过scheme方式唤起app——兼容在不同终端下的处理

由于目前浏览器对用户隐私的限制,用window.location.href方法唤起app的方式在很多浏览器中不兼容,本次引入了 callapp-lib 插件
由于此次需求项目比较小,没有采用框架,直接使用的原生js的写法,使用script标签引入插件(在vue中使用方法类似)

let openOption = {
  path: '*****'
}
let option = {
   scheme: {
     protocol: 'wanxiao'
   },
   intent: {
     package: 'com.newcapec.mobile.ncp',
     scheme: 'wanxiao'
   },
  appstore: window.location.href, // 此为ios端判断如果没有正常执行打开页面操作,跳转的页面,此处为刷新此页面,如果需求为打开失败跳转到下载页面,则此处为ios端下载地址,**此出为必填项**不能为空
  yingyongbao: ‘https://a.app.qq.com/o/simple.jsp?pkgname=com.newcapec.mobile.ncp&g_f=991653’,// 此处为APP 的应用宝地址,如果不填写,则安卓微信中会直接跳转 fallback
  fallback: window.location.href, // 此为唤端失败后跳转的地址
  timeout: 3000,// 等待唤端的时间(单位: ms),超时则判断为唤端失败
}
const calllib = new CallApp(option)
openOption中的path和option中scheme的protocol组合成wanxiao://17wanxiao.com,

app在执行代码时,会在scheme.protocol (wanxiao)后面追加:// 自动拼成wanxiao://17wanxiao.com

本次需求是需要向用户发送运营短信和邮件,所以可能在多端运行,本次项目考虑了在微信、钉钉、QQ内置浏览器,QQ邮箱、iOS端safafi浏览器和其他市面常用浏览器

在微信、钉钉、QQ邮箱APP中,指引用户在浏览器中打开
在QQ中打开,跳转到腾讯应用宝中,由腾讯应用宝发起打开app动作,从应用宝打开后不能跳转到指定的页面,只能打开app首页——此为QQ本身限制
在iOS端,由于目前主站app限制,首次打开只能到app首页,第二次打开才能进入到指定活动,在安卓端正常

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值