美文网首页
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