mam插件提供版本更新、云修复、自定义事件上报等功能。
对于版本更新,插件默认会自动检测和提示,如果想手动检测更新,可以在config.xml里配置autoUpdate为false,使用checkUpdate方法检测更新。
对于云修复,如果config.xml里面配置smartUpdate为true,那么插件将自动完成云修复的检测和修复过程。如果想手动检测,可以配置smartUpdate为false,使用checkSmartUpdate方法检测更新,检测到更新后使用startSmartUpdate方法来完成更新。
检测当前版本是否有更新或者被强制关闭
checkUpdate(callback(ret, err))
ret:
{
status:true, //操作成功状态值
result:
{
update:true, //是否有更新
closed:true, //设备上当前版本是否被强行关闭
version:'1.0', //新版本版本号
versionDes:'', //新版本更新描述
closeTip:'', //提示用户应用版本被强行关闭时弹框的提示语
updateTip:'', //提示用户有更新时弹框的提示语
source:'', //新版本安装包的下载地址
time:'' //新版本的发布时间
}
}
err:
{
msg:”” //错误描述
}
var mam = api.require('mam');
mam.checkUpdate(function(ret, err){
if (ret) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: 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及更高版本
检测是否有云修复更新,只在config.xml里面配置smartUpdate为false有效
checkSmartUpdate(callback(ret, err))
ret:
{
packages:[{
incNo:, //云修复包序号
silent:, //是否是静默更新,布尔类型
extra:, //更新备注,字符串类型
}]
}
var mam = api.require('mam');
mam.checkSmartUpdate(function(ret, err){
if (ret) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
开始云修复更新,更新完成后建议调用api.rebootApp方法热重启。只在config.xml里面配置smartUpdate为false有效
startSmartUpdate(callback(ret, err))
ret:
{
state: // 更新状态,0-准备中 1-下载中 2-解压中 3-全部更新完成 4-失败,数字类型
total: // 修复包总数
current: // 当前正在下载或解压第几个修复包,数字类型,从1开始
progress: // 当前状态(包括准备、下载、解压)下的进度,数字类型,取值范围0-100
}
var mam = api.require('mam');
mam.startSmartUpdate(function(ret, err){
if (ret) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
重置云修复更新,若之前有修复过,则会清除之前所有的云修复。重置后若再次调用 checkSmartUpdate 方法时会重新返回所有的修复包信息。
resetSmartUpdate(callback(ret, err))
ret:
{
finish: 是否重置操作完成,布尔类型
progress: 当前进度,0-100,数字类型
reset: 是否重置了云修复,当为 true 时说明之前有过云修复更新,现已被重置,为保证程序完整性建议调用 api.rebootApp 方法热重启应用,为 false 时说明代码未更新过,不用做重置处理,该字段只在 finish 为 true 时返回
}
err:
var mam = api.require('mam');
mam.resetSmartUpdate(function(ret, err){
if (ret) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
添加自定义事件,用于后端统计
addEvent({params})
name:
var mam = api.require('mam');
mam.addEvent({
name: 'shopping'
});
iOS系统,Android系统
可提供的1.0.0及更高版本