MessageCenter 消息中心接口

  1. 订阅消息
  2. 取消已订阅消息
  3. 查询已订阅消息

1.订阅消息

描述

订阅消息接口用于向IPC设备端订阅相关的消息,一旦订阅了消息,当设备端产生了相关消息的时候,便会向订阅时传入的回调接口发送一个HTTP POST消息,从而达到通知订阅者的目的。

接口

public void subscribeEvent(String deviceId, List‹String› events, RPCCallback‹RPCResponse› callback);

参数说明

参数名称描述示例
deviceIdIPC序列号C201D98T00094
events事件类型,可以是[“face_recog_event”,”dynamic_detect_event”]或者其中一个,其中”face_recog_event”仅FM020支持 [“face_recog_event”]
callback 调用结果

回调示例

new RPCCallback‹RPCResponse›() {
    @Override
    public void onComplete(RPCResponse result) {
        Log.i(TAG, "return code= " + result.code());
        if (result.code() == RPCErrorCode.SUCCESS) {
            Log.i(TAG, "event subscribe success");
        } else {
            Log.i(TAG, "event subscribe failed, code:" + result.code());
        }
    }

    @Override
    // http调用出错
    public void onAbort(int httpStatus) {
        Log.i(TAG, "unexpected http status: " + httpStatus);
    }

    @Override
    // 异常回调,例如未发现对应IPC设备
    public void onException(Throwable t) {
        Log.i(TAG, "Exception: " + t.getMessage());
    }
});

注:参考以下实现,后续接口不再说明。

响应参数

字段名称类型描述
codeint返回码,表示操作的结果;
本接口返回码有0、1、2、5、310、311,见错误码的描述

2. 取消已订阅消息

描述

用于取消已经向IPC设备端订阅过的消息,取消订阅后,当设备端产生相关消息时,便不会向对应的回调地址发送HTTP POST消息。

接口

public void unsubscribeEvent(String deviceId, List‹String› events, RPCCallback‹RPCResponse› callback);

参数说明

参数名称 描述 示例
deviceIdIPC序列号C201D98T00094
events事件类型,可以是[“face_recog_event”,”dynamic_detect_event”]或者其中一个,其中”face_recog_event”仅FM020支持 [“face_recog_event” ]
callback调用结果

响应参数

字段名称 类型描述
codeint 返回码,表示操作的结果;
本接口返回码有0、1、2、5、310,见错误码的描述

3. 查询所有已订阅消息

描述

用于查询IPC设备端所有订阅的消息,当设备端产生相关消息时,会向对应的回调地址发送HTTP POST消息。

接口

public void getSubscribedEvents(String deviceId, RPCCallback‹RPCResponse‹IPCEventList›› callback);

参数说明

字段名称 描述示例
deviceIdIPC序列号C201D98T00094
callback调用结果

响应参数

字段名称类型描述
codeint返回码,表示操作的结果;
本接口返回码有 0、1、2、3、5、7, 见错误码的描述
dataIPCEventList
返回码成功才会有此字段,详见RPCResponse.IPCEventList