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及更高版本