mam

checkUpdate checkSmartUpdate startSmartUpdate addEvent

概述

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

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

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

checkUpdate

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

checkUpdate(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象

内部字段:

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

err:

  • 类型:JSON 对象

内部字段:

  1. {
  2. msg:”” //错误描述
  3. }

示例代码

  1. var mam = api.require('mam');
  2. mam.checkUpdate(function(ret, err){
  3. if (ret) {
  4. alert(JSON.stringify(ret));
  5. } else {
  6. alert(JSON.stringify(err));
  7. }
  8. });

补充说明

回调值中:

  1. updateclosed字段是‘或’和‘与’的关系:
  2. -无更新:{update:false,closed:false}
  3. -有更新:{update:true,closed:false}
  4. -有更新,强制更新:{update:true,closed:true}
  5. -无更新,强制关闭:{update:false,closed:true}

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

checkSmartUpdate

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

checkSmartUpdate(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象

内部字段:

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

示例代码

  1. var mam = api.require('mam');
  2. mam.checkSmartUpdate(function(ret, err){
  3. if (ret) {
  4. alert(JSON.stringify(ret));
  5. } else {
  6. alert(JSON.stringify(err));
  7. }
  8. });

可用性

iOS系统,Android系统

可提供的1.0.1及更高版本

startSmartUpdate

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

startSmartUpdate(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象

内部字段:

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

示例代码

  1. var mam = api.require('mam');
  2. mam.startSmartUpdate(function(ret, err){
  3. if (ret) {
  4. alert(JSON.stringify(ret));
  5. } else {
  6. alert(JSON.stringify(err));
  7. }
  8. });

可用性

iOS系统,Android系统

可提供的1.0.1及更高版本

addEvent

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

addEvent({params})

params

name:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本