mam

概述

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

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

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

原生插件接口

checkUpdate

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

checkUpdate(callback(ret, err))

callback(ret)

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

checkSmartUpdate

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

checkSmartUpdate(callback(ret, err))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    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及更高版本

startSmartUpdate

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

startSmartUpdate(callback(ret, err))

callback(ret)

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) {
        api.alert({
            msg: JSON.stringify(ret)
        })
    } else {
        api.alert({
            msg: JSON.stringify(err)
        })
    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

resetSmartUpdate

重置云修复更新,若之前有修复过,则会清除之前所有的云修复。重置后若再次调用 checkSmartUpdate 方法时会重新返回所有的修复包信息。

resetSmartUpdate(callback(ret, err))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  finish: 是否重置操作完成,布尔类型
  progress: 当前进度,0-100,数字类型
  reset: 是否重置了云修复,当为 true 时说明之前有过云修复更新,现已被重置,为保证程序完整性建议调用 api.rebootApp 方法热重启应用,为 false 时说明代码未更新过,不用做重置处理,该字段只在 finish 为 true 时返回
}

err:

  • 类型:JSON 对象
  • 描述:重置云修复失败时返回

示例代码

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

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

addEvent({params})

params

name:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/12/2