设备日志上传

更新时间:2025-01-16 09:57:08下载pdf

设备日志可以提高排查设备问题的效率,为了快速定位用户问题,建议设备支持此功能。

IPC 嵌入式 SDK 3.10.6 及以上版本支持 App SDK 下发 设备上传日志 指令,更低的版本只支持平台下发 设备上传日志 指令。

注册监听

IThingIPCTool 是 IPC 相关工具的 API 集合。
注册监听,监听日志上传的结果。

接口说明

void registerUploadLogListener(CameraUploadLogListener listener);

参数说明

参数 说明
listener 监听日志上传的结果

CameraUploadLogListener

监听日志上传的结果:

public void onCameraUploadLogResult(String deviceId, boolean result, Map<String, Object> extInfo)
参数 说明
deviceId 设备ID
result 设备日志上传结果
extInfo 扩展信息

注销监听

注销监听,资源回收。

接口说明

void unregisterUploadLogListener(CameraUploadLogListener listener);

参数说明

参数 说明
listener 监听日志上传的结果

查询设备上传日志的能力

判断设备是否有上传日志的能力。

接口说明

boolean hasRespondToUploadLogCmdAbility(String deviceId);

参数说明

参数 说明
deviceId 设备ID

上传设备日志

上传设备日志,该接口是异步,以CameraUploadLogListener 监听结果为主。

接口说明

void deliverUploadLogCmd(String deviceId, long timeoutSec, OperationDelegateCallBack callBack);

参数说明

参数 说明
deviceId 设备ID
timeoutSec 超时时间,单位秒
callBack 回调方法

示例代码


IThingIPCTool thingIPCTool = ThingIPCSdk.getTool();
// 设备上传日志的能力
boolean ret = thingIPCTool.hasRespondToUploadLogCmdAbility(devId);


if(ret) {
    CameraUploadLogListener cameraUploadLogListener = new CameraUploadLogListener() {
                            @Override
                            public void onCameraUploadLogResult(String deviceId, boolean result, Map<String, Object> extInfo) {
                                // 设备日志上传的结果
                                // result,true-成功,false-失败
                            }
                        };

    // 注册监听,注意使用完后,需要注销。
    thingIPCTool.registerUploadLogListener(cameraUploadLogListener);

    // 下发命令给设备,上传日志
    thingIPCTool.deliverUploadLogCmd(devId, timeout, new OperationDelegateCallBack(){

                @Override
                public void onSuccess(int sessionId, int requestId, String data) {
                }

                @Override
                public void onFailure(int sessionId, int requestId, int errCode) {

                }
            });
}