42°

callapp-lib实现微信或QQ唤起APP,未下载则下载

github地址 https://github.com/suanmei/callapp-lib

代码如下:(我这里只判断安卓)

var is_weixin = (function(){return navigator.userAgent.toLowerCase().indexOf('micromessenger') !== -1})();
    var is_qq = (function(){return navigator.userAgent.toLowerCase().indexOf('qq/') > -1})();
    var para = "找客户端同事要scheme";
    if(!is_weixin && !is_qq){ 
        console.log(22)
        //$('#call-button').trigger("click");
        downloadApp(para);
}
function downloadApp(para){
    console.log(8)
    if(is_weixin){
        $(".tobrowser").show();
    }else{                            
        const options = {
            scheme:{
                protocol:"找客户端同事要scheme"
            },
           // fallback: downapp(),
        };
        const lib = new CallApp(options);
        lib.open({
            callback(){
                downapp()
            }
        });
    }      
}
function downapp(){
    window.location.href = window.location.origin+"/GameBooster/apk/accelerate-latest.apk";
}</code></pre> 

这里有3个小问题:

1、从微信调到浏览器后,我本意是想直接唤起APP的,但是搜了资料发现貌似不能实现。火狐和谷歌是可以自动唤起的。但是UC和QQ浏览器是需要再点击一下button才能唤起。这里我暂时没解决,希望哪位大神有方法可以指导下

2、根据GitHub里的解释,唤起失败调起下载链接应该是在fallback里的,但是我试了不行,需要放在callback里才行,不知道为啥??神奇

3、从微信到浏览器,需要再点击button的浏览器,如果允许跳转app点的慢了,会判断唤起失败,跳起下载链接。这个貌似前端也没办法解决吧?

本文由【乱世中的单纯】发布于开源中国,原文链接:https://my.oschina.net/zhangxuman/blog/3160047

全部评论: 0

    我有话说: