1. 消息中心

消息管理模块包含消息中心和推送相关功能,其消息主要分为告警、家庭、通知三个大类,每个大类分别支持开启或关闭。

类名 说明
ITuyaMessage 提供获取消息列表、删除消息和检查新消息的功能
ITuyaPush 提供获取、更改各类消息状态的功能

1.1. 消息相关功能

1.1.1. 获取消息列表

接口说明

void getMessageList(ITuyaDataCallback<List<MessageBean>> callback);

参数说明

参数 说明
callback 回调,包括获取消息列表成功和失败

MessageBean 数据模型

字段 类型 描述
dateTime String 日期和时间
Icon String 消息图标 URL
msgTypeContent String 消息类型名称
msgContent String 消息内容
msgType Integer 消息类型
msgSrcId String 设备 id(只有告警消息才有该字段)
id String 消息 id

示例代码

TuyaHomeSdk.getMessageInstance().getMessageList(new ITuyaDataCallback<List<MessageBean>>() {
    @Override
    public void onSuccess(List<MessageBean> result) {}
    @Override
    public void onError(String errorCode, String errorMessage) {}
});

1.1.2. 获取分页的消息列表

接口说明

void getMessageList(int offset, int limit, ITuyaDataCallback<MessageListBean> callback);

参数说明

参数 说明
offset 已请求到的消息总数
limit 每页请求数据数
callback 回调,包括获取消息列表成功和失败

示例代码

TuyaHomeSdk.getMessageInstance().getMessageList(offset, limit, new ITuyaDataCallback<MessageListBean>() {
            @Override
            public void onSuccess(MessageListBean result) {}
            @Override
            public void onError(String errorCode, String errorMessage) {}
});

1.1.3. 根据消息类型分页获取消息列表

接口说明

void getMessageListByMsgType(int offset, int limit, MessageType msgType, final ITuyaDataCallback<MessageListBean> callback);

参数说明

参数 说明
offset 已请求到的消息总数
limit 每页请求数据数
msgType 消息类型(1 - 告警,2 - 家庭,3 - 通知)
callback 回调,包括获取消息列表成功和失败

示例代码

TuyaHomeSdk.getMessageInstance().getMessageListByMsgType(offset, limit, type, new ITuyaDataCallback<MessageListBean>() {
            @Override
            public void onSuccess(MessageListBean result) {}
            @Override
            public void onError(String errorCode, String errorMessage) {}
});

1.1.4. 根据消息 msgSrcId 获取消息详情列表

根据消息 SrcId 获取消息列表, 目前只支持( MSG_REPORT 告警)类型的消息。

接口说明

void getMessageListByMsgSrcId(int offset, int limit, MessageType msgType, String msgSrcId, ITuyaDataCallback<MessageListBean> callback);

参数说明

参数 说明
offset 偏移从第n条数据开始获取
limit 每页的消息数量
msgType 消息类型 ( MSG_REPORT 告警)
msgSrcId 消息组 id
callback 回调,包括获取成功和失败

示例代码

TuyaHomeSdk.getMessageInstance().getMessageListByMsgSrcId(offset, limit, MessageType.MSG_REPORT, msgSrcId, true, new ITuyaDataCallback<MessageListBean>() {
    @Override
    public void onSuccess(final MessageListBean result) {              
    }
    @Override
    public void onError(String errorCode, String errorMessage) {               
    }
});

1.1.5. 删除消息

批量删除消息。

接口说明

void deleteMessages(List<String> mIds, IBooleanCallback callback);

参数说明

参数 说明
mIds 要删除的消息 id 组
callback 回调,包括删除成功和失败

示例代码

TuyaHomeSdk.getMessageInstance().deleteMessages(mIds, new IBooleanCallback() {
    @Override
    public void onSuccess() {
    }
    @Override
    public void onError(String code, String error) {
    }
});

批量删除特定类型的消息

接口说明

void deleteMessageWithType(int msgType, List<String> mIds, List<String> mSrcIds, final IBooleanCallback callback);

参数说明

参数 说明
msgType 消息类型(1 - 告警,2 - 家庭,3 - 通知)
mIds 要删除的消息 id 组
mSrcIds 告警消息 id 组,传 null或空表示不删除告警消息
callback 回调,包括删除成功和失败

示例代码

TuyaHomeSdk.getMessageInstance().deleteMessageWithType(msgType, mIds, mSrcIds, new IBooleanCallback() {
    @Override
    public void onSuccess() {
    }
    @Override
    public void onError(String code, String error) {
    }
});

1.1.6. 检查新消息

接口说明

void requestMessageNew(final ITuyaDataCallback<MessageHasNew> callback);

参数说明

参数 说明
callback 获取最新消息类型

MessageHasNew 数据模型

字段 类型 描述
alarm boolean 是否有告警消息
family boolean 是否有家庭消息
notification boolean 是否有通知消息

示例代码

TuyaHomeSdk.getMessageInstance().requestMessageNew(new ITuyaDataCallback<MessageHasNew>() {
    @Override
    public void onSuccess(MessageHasNew result) {     
    }
    @Override
    public void onError(String errorCode, String errorMessage) {
    }
});

1.2. 消息推送设置

1.2.1. 获取 APP 消息推送的开启状态

消息推送开关为总开关,关闭状态下无法接收到 设备告警、家庭消息、通知消息 等任何消息。

接口说明

void getPushStatus(ITuyaResultCallback<PushStatusBean> callback);

参数说明

参数 说明
callback 回调,包括获取总开关状态成功和失败

示例代码

 TuyaHomeSdk.getPushInstance().getPushStatus(new ITuyaResultCallback<PushStatusBean>() {
       @Override
       public void onSuccess(PushStatusBean result) {}
       @Override
       public void onError(String errorCode, String errorMessage) {}
 });

1.2.2. 开启或者关闭APP消息推送

消息推送开关为总开关,关闭状态下无法接收到 设备告警、家庭消息、通知消息 等任何消息

接口说明

void setPushStatus(boolean isOpen, ITuyaDataCallback<Boolean> callback);

参数说明

参数 说明
isOpen 是否开启
callback 回调,包括设置成功和失败

示例代码

TuyaHomeSdk.getPushInstance().setPushStatus(open, new ITuyaDataCallback<Boolean>() {
      @Override
      public void onSuccess(Boolean result) {}
      @Override
      public void onError(String errorCode, String errorMessage) {}
});

1.2.3. 根据消息类型获取或设置消息的开关状态

根据消息类型获取消息的开关状态

根据消息类型获取当前类型消息的开关状态

接口说明

void getPushStatusByType(PushType type, ITuyaDataCallback<Boolean> callback);

参数说明

参数 说明
type 消息类型(0-告警消息,1-家庭消息,2-通知消息,4-营销消息)
callback 回调,包括获取成功和失败

示例代码

TuyaHomeSdk.getPushInstance().getPushStatusByType(type, new ITuyaDataCallback<Boolean>() {
      @Override
      public void onSuccess(Boolean result) {}
      @Override
      public void onError(String errorCode, String errorMessage) {}
});

根据消息类型设置消息的开关状态

根据消息类型设置当前类型消息的开关状态。

接口说明

void setPushStatusByType(PushType type, isOpen, ITuyaDataCallback<Boolean> callback);

参数说明

参数 说明
type 消息类型(0-告警消息,1-家庭消息,2-通知消息,4-营销消息)
isOpen 是否开启
callback 回调,包括设置成功和失败

示例代码

TuyaHomeSdk.getPushInstance().setPushStatusByType(pushType, checked, new ITuyaDataCallback<Boolean>() {
      @Override
      public void onSuccess(Boolean result) {}
      @Override
      public void onError(String errorCode, String errorMessage) {}
});

results matching ""

    No results matching ""