mam

概述

mam模块提供版本更新、云修复、自定义事件上报等功能。

对于版本更新,模块默认会自动检测和提示,如果想手动检测更新,可以在config.xml里配置autoUpdate为false,使用checkUpdate方法检测更新。

对于云修复,如果config.xml里面配置smartUpdate为true,那么模块将自动完成云修复的检测和修复过程。如果想手动检测,可以配置smartUpdate为false,使用checkSmartUpdate方法检测更新,检测到更新后使用startSmartUpdate方法来完成更新。

checkUpdate

检测当前版本是否有更新或者被强制关闭

checkUpdate(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象

内部字段:

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

err:

  • 类型:JSON 对象

内部字段:

{
    msg:””    //错误描述
}

示例代码

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

补充说明

回调值中:

update和closed字段是‘或’和‘与’的关系:
   -无更新:{update:false,closed:false}
   -有更新:{update:true,closed:false}
   -有更新,强制更新:{update:true,closed:true}
   -无更新,强制关闭:{update:false,closed:true}

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

checkSmartUpdate

检测是否有云修复更新,只在config.xml里面配置smartUpdate为false有效

checkSmartUpdate(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象

内部字段:

{
    packages:[{
        incNo:,            //云修复包序号
        silent:,            //是否是静默更新,布尔类型
        extra:,            //更新备注,字符串类型
    }]
}

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.1及更高版本

startSmartUpdate

开始云修复更新,更新完成后建议调用api.rebootApp方法热重启。只在config.xml里面配置smartUpdate为false有效

startSmartUpdate(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象

内部字段:

{
    state:        // 更新状态,0-准备中 1-下载中 2-解压中 3-全部更新完成 4-失败,数字类型
    total:        // 修复包总数
    current:    // 当前正在下载或解压第几个修复包,数字类型,从1开始
    progress:    // 当前状态(包括准备、下载、解压)下的进度,数字类型,取值范围0-100
}

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.1及更高版本

addEvent

添加自定义事件,用于后端统计

addEvent({params})

params

name:

  • 类型:字符串
  • 默认值:无
  • 描述:事件名称,不能为空

示例代码

var mam = api.require('mam');
mam.addEvent({
    name: 'shopping'
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本