开发者社区> 桃子红了呐> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

apiCloud手动检测更新

简介:
+关注继续查看

有时候需要给用户一个自主的权利,自主检测app是否是最新版本。

422101-20170301153507079-54900999.png

422101-20170301153512829-1576160313.png

如何实现?

1.点击调用接口,检测是否有更新。

默认APICloud会自动检测版本更新,用户也可以在config.xml里配置autoUpdate为false,然后使用mam模块来检测更新,mam模块还提供自定义事件功能
示例代码:

var mam = api.require('mam');
mam.checkUpdate(function( ret, err ){
    if (ret) {
        alert( JSON.stringify( ret ) );
    } else{
        alert( JSON.stringify( err ) );
    }
});

返回数据:

{
    status:true,                //操作成功状态值
    result:
    {
        update:true,            //是否有更新
        closed:true,            //设备上当前版本是否被强行关闭
        version:'1.0',            //新版本版本号
        versionDes:'',            //新版本更新描述
        closeTip:'',            //提示用户应用版本被强行关闭时弹框的提示语
        updateTip:'',            //提示用户有更新时弹框的提示语
        source:'',                //新版本安装包的下载地址
        time:''                    //新版本的发布时间
    }
}

2.弹出comfirm框,让用户选择是否升级

layer.confirm('有新版本啦!<br/>最新版本:'+ret.result.version+'<br/>更新描述:<br/>'+updateTip+'<br/>发布时间:'+ret.result.time,
{
    title:'更新提示',
    btn: ['立即更新','取消'] //按钮
}, function(){
}, function(){
});

3.执行下载操作,api中有download方法

api.download({
    url: url,
    savePath: 'fs://test.rar',
    report: true,
    cache: true,
    allowResume: true
}, function(ret, err) {
    if (ret.state == 1) {
        //下载成功
    } else {

    }
});

4.执行安装installApp方法

//Android用法:
api.installApp({
    appUri: 'file://xxx.apk'
});

//iOS用法:
api.installApp({
    appUri: 'https://list.kuaiapp.cn/list/KuaiAppZv7.1.plist' //安装包对应plist地址
});

整合如下:

// 检查更新
function checkUpdate() {
    var mam = api.require('mam');
    mam.checkUpdate(function( ret, err ){
        if (ret) {
            if (!ret.status) {
                toast('服务器繁忙,请稍后再试');
                return;
            }
            if (ret.result.update) {
                var updateTip;
                updateTip = ret.result.updateTip.replace(/\r\n/g,"<BR>");
                updateTip =updateTip.replace(/\n/g,"<BR>");
                layer.confirm('有新版本啦!<br/>最新版本:'+ret.result.version+'<br/>更新描述:<br/>'+updateTip+'<br/>发布时间:'+ret.result.time,
                {
                    title:'更新提示',
                    btn: ['立即更新','取消'] //按钮
                }, function(){
                        if (api.systemType == "android") {
                            api.download({
                                url : ret.result.source,
                                report : true
                            }, function(retdownload, err) {
                                if (retdownload && 0 == retdownload.state) {/* 下载进度 */
                                    api.toast({
                                        msg : "正在下载应用" + retdownload.percent + "%",
                                        duration : 2000
                                    });
                                }
                                if (retdownload && 1 == retdownload.state) {/* 下载完成 */
                                    var savePath = retdownload.savePath;
                                    api.installApp({
                                        appUri : savePath
                                    });
                                }
                            });
                        }
                        if (api.systemType == "ios") {
                            api.installApp({
                                appUri : ret.result.source
                            });
                        }
                }, function(){
                });
                return;
            } else {
                toast('当前已是最新版本');
                return;
            }
        } else{
            toast('服务器繁忙,请稍后再试');
            return;
        }
    });
}

本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/6484618.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
ABBYY FineReader2023汉化版OCR识别软件更新
ABBYY FineReader是一款超强大的OCR识别软件,ABBYY 轻松将任意文档转换成您需要的可编辑、引用、归档、搜索或分享的信息!ABBYY FineReader 通过将纸质文档、PDF文件和数码照片中的文字转换成可编辑、可搜索的文件,让您的电脑处理更具效率,摆脱从前的烦恼。
0 0
APP漏洞检测 验证码被重复利用漏洞分析与汇总
在对客户网站以及APP进行安全检测的同时,我们SINE安全对验证码功能方面存在的安全问题,以及验证码漏洞检测有着十多年的经验,在整个APP,网站的安全方面,验证码又分2种,第一个是登陆的身份验证码,再一个对重要的操作进行的操作验证码,虽然从名字上都是验证码,但这两种所包含的内容是不一样的。
0 0
最新高通 Vuforia 7.0.47 版本-对应API-动态加载、卸载识别库-闪光灯-对焦-翻转摄像头-动态更改识别数量等
整理了下Vuforia 7 版本对应识别功能的函数 基本上和6版本无差异 Vuforia版本获取 string vuforiaVersion = Vuforia.
1020 0
最新高通Vuforia 6-2-10版本 对应API 动态加载、卸载识别库 闪光灯 对焦 翻转摄像头 动态更改识别数量等
整理了下Vuforia 6-2-10 版本对应识别功能的函数 TrackableSettings类主要功能 开启扩展追踪 获取当前激活识别库名称列表 激活指定的识别数据集 关闭指定识别数据集 动态载入识别数据集 卸载所...
844 0
Android官方开发文档Training系列课程中文版:电池续航时间优化之检查、检测网络连接状态
原文地址:http://android.xsoftlab.net/training/monitoring-device-state/connectivity-monitoring.html 通常会有一些后台服务需要连接到网络来更新数据。
656 0
IOS应用版本更新(自动提醒用户)
<div class="content" style="margin:0px; padding:10px 0px 0px; font-size:14px; color:rgb(51,51,51); font-family:'Helvetica Neue',Helvetica,Arial,'Hiragino Sans GB','Microsoft YaHei',微软雅黑; backgroun
920 0
iOS通过iTunes search检测版本更新,并提示用户更新!
iOS通过iTunes search检测版本更新,并提示用户更新! 如果我们要检测app版本的更新,那么我们必须获取当前运行app版本的版本信息和appstore 上发布的最新版本的信息。 当前运行版本信息可以通过info.
687 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
荷鲁斯移动端第三方库安全检测引擎介绍
立即下载
APP加固新方向 --混淆和瘦身
立即下载
手机京东Crash自动分析处理系统
立即下载