美文网首页
js移动端scheme参数直接唤醒APP

js移动端scheme参数直接唤醒APP

作者: AiLeimi | 来源:发表于2019-08-19 16:02 被阅读0次

    前两天开发遇到的问题,领导想要的效果就是APP分享出去的链接能够直接打开APP,或者是能够直接到下载app的地方!百度了一下,发现前端要做的东西其实并不多,但是领导想要的是打开应用宝或者是打开APP Store下载应用之后打开app然后到指定位置,并且传参解析指定数据!
    百度和谷歌之后发现前者实现很容易,但是后者,目前并没有实现!因为发现某些APP是可以做到的,但是比对某app分享之后打开时的链接路径,然后使用同样的方法,结果发现还是不行!
    后经询问产品之后放弃了下载之后的传参!

现在说一下app唤醒的方法吧:
安卓:
var appsrc = 'chai://js.openApp/sharevideo/data?shareid='+**

window.location.href = appsrc

ios:
var appsrc = 'chai://js.openApp/sharevideo/data?shareid='+**

window.location.href = appsrc

对的,你没看错,app端ios把打开的方式设置的和安卓一样
为的是能够统一打开路径,但是,我在h5里写的方法依然是两种,因为打开的时候需要计时器判断是否打开了app,然后需不需要跳到下载页面,所以我是分开写的
详解一下参数:
[scheme://authority/path/data?dataobj=123

scheme:应用设置的应用名称,用于打开
authority:打开说明
path:打开路径
data:参数名字

?:后头是参数传值
dataobj:key     123:value

其他一些东西就是app端去设置了

检测是否直接打开app然后跳转下载:
var initialTime = new Date();

var counter = 0;

var waitTime = 0;

var checkOpen = setInterval(function(){

    counter++;

    waitTime = new Date() - initialTime;   

    if (waitTime > 2500) {

        clearInterval(checkOpen);

    }   

    if (counter < 100) return;

    const hide = document.hidden || document.webkitHidden;

    if (!hide) {

        clearInterval(checkOpen);

        openDondload();

    }

}, 20);

思路就是openapp scheme之后去检测document是否隐藏了,counter是多久之后在检测到document还在显示的时候进行打开下载页面,openDondload函数是打开下载,waitTime是多久之后清除整个计时器

希望对大家有帮助!欢迎各位进行指教!


相关文章

网友评论

      本文标题:js移动端scheme参数直接唤醒APP

      本文链接:https://www.haomeiwen.com/subject/opzssctx.html