设备EPO升级

功能概述

Epo升级管理(v4.0.41及以上版本支持),用于控制epo自动、手动升级管理 。

IDOEpoManager

属性

enableAutoUpgrade

启用自动epo升级,默认为:关

status

当前升级状态 IDOEpoUpgradeStatus

isSupported

是否支持epo升级

delegateGetGps

app提供当前手机gps信息,用于设备快速定位,IDOEpoManagerDelegate

方法

lastUpdateTimestamp(completion:)

获取最后一次更新的时间戳,单位:毫秒

  • Parameters:
    • completion: 无记录则返回0

shouldUpdateForEPO(isForce:completion:)

是否需要更新

  • Parameters:
    • isForce: 强制更新
    • completion: 完成回调

willStartInstall(isForce:retryCount:)

启动升级任务

  • Parameters:
    • isForce: 是否强制更新
    • retryCount: 重试次数,默认不重试

stop()

停止升级任务

注:epo已传输到设备,设备正在执行升级中,这种情况无法中止

listenEpoUpgrade(funcStatus:downProgress:sendProgress:funcComplete:)

监听epo升级回调(全局监听一次)

  • Parameters:
    • funcStatus: 升级状态
    • downProgress: 下载进度
    • sendProgress:发送进度
    • completion:完成回调

示例

Swift

// 1、初始化、配置和设置监听(全局监听一次)
   IDOEpoManager.shared.enableAutoUpgrade = true // 打开自动升级(可选)
   IDOEpoManager.shared.delegateGetGps = self
   IDOEpoManager.shared.listenEpoUpgrade { status in
       print("epo---- status:\(status)")
    } downProgress: { progress in
       print("epo---- down progress:\(progress)")
    } sendProgress: { progress in
       print("epo---- send progress:\(progress)")
    } funcComplete: { errCode in
       print("epo---- complete:\(errCode)")
    }

// 2、代理实现
extension SomeClass: IDOEpoManagerDelegate{

    func getAppGpsInfo() -> protocol_channel.IDOOtaGpsInfo? {
        // !!!: 此处的经纬度是伪代码,实际场景需要使用手机定位到的坐标
        return IDOOtaGpsInfo(longitude: 114.0579, latitude: 22.5431, altitude: 10)
    }
}

// 3、手动执行epo升级(仅需要自动升级时,不用调用该方法)
IDOEpoManager.shared.willStartInstall(isForce: true, retryCount: 0)

Kotlin

// 1、初始化、配置和设置监听(全局监听一次)
IDOEpoManager.shared.enableAutoUpgrade = true // 打开自动升级(可选)
IDOEpoManager.shared.delegateGetGps = EpoListen()
IDOEpoManager.shared.listenEpoUpgrade(
  { status ->
   println("epo---- status: $status")
  },
  { progress ->
   println("epo---- down progress: $progress")
  },
  { progress ->
   println("epo---- send progress: $progress")
  },
  { errCode ->
   println("epo---- complete: $errCode")
  }
)

// 2、代理实现
inner class EpoListen : IDOEpoManagerDelegate {
        override fun getAppGpsInfo(): IDOOtaGpsInfo {
            // !!!: 此处的经纬度是伪代码,实际场景需要使用手机定位到的坐标
            return IDOOtaGpsInfo(114.0579f,  22.5431f, 10.0f)
        }

    }

// 3、手动执行epo升级(仅需要自动升级时,不用调用该方法)
IDOEpoManager.shared.willStartInstall(isForce: true, retryCount: 0)
Copyright © 2023-2024 IDO. All rights reserved. all right reserved,powered by Gitbook修改日期: 2024-12-19 11:51:54

results matching ""

    No results matching ""