一、EventNotifyHelper
云端消息推送处理辅助类,用于快捷解析并获取到推送消息内容。
- 以下方法说明中明确提供不推荐使用的方法,即为不建议开发者调用或者是开发者不应该进行任何数据修改。
- 以下文档中未提及的方法均属于不推荐使用的方法
二、Reference
以下为此类中关联的Class及相关说明
类名 |
类型 |
说明 |
DataPoints |
实体类 |
事件通知的数据端点信息,与 XLinkDataPoint 是不同的,见下文 |
DataPointChangedNotify |
实体类 |
数据端点变化通知,见下文 |
DataPointAlertNotify |
实体类 |
数据端点变化引起的告警,见下文 |
DeviceShareNotify |
实体类 |
设备管理员发出的分享,见下文 |
PushMsgNotify |
实体类 |
消息广播推送,见下文 |
DevicePropChangeNotify |
实体类 |
设备属性变化通知,见下文 |
SubscriptionChangeNotify |
实体类 |
设备与用户订阅关系变化通知,见下文 |
OnlineStateChangeNotify |
实体类 |
设备在线状态变化通知,见下文 |
OnlineStateAlertNotify |
实体类 |
设备在线状态告警,见下文 |
HomeMessageNotify |
实体类 |
家庭消息通知,见下文 |
HomeMemberInvitedNotify |
实体类 |
家庭邀请通知,见下文 |
HomeDevicePermissionChangedNotify |
实体类 |
家庭设备权限变化,见下文 |
HomeMemberChangedNotify |
实体类 |
家庭成员变化,见下文 |
HomeDeviceChangedNotify |
实体类 |
家庭设备变化,见下文 |
三、Methods
以下方法为开发过程常用的方法说明,参数说明及返回值说明。此处仅提供了推荐开发者使用及可能需要使用的方法,部分未列出方法请根据实际情况评估调用。
3.1、parseNotifyEntityFromJson
public static <T> T parseNotifyEntityFromJson(byte[] payload, Class<T> clazz)
将云端推送的消息解析成相关的实体数据类,数据类型通过参数指定需要返回的参数类型。所有此类中的消息实体类型都可以通过此方法进行解析
参数名 |
参数类型 |
说明 |
payload |
byte[] |
来自云端推送消息返回的消息对象 EventNotify 中的字段数据 |
clazz |
Class |
解析的目标数据实体类型 |
T |
T |
泛型参数 |
- 返回值:T,解析后的实体类型对象;参数无效或解析失败时允许返回为 null
四、Relevant Class
以下为此类中的关联类或内部类
4.1、EventNotifyHelper.DataPoints
事件通知中使用的数据端点信息,注意与 API-XLinkDataPoint 是有区别的,二者是不同的
字段名 |
字段类型 |
说明 |
index |
int |
数据端点索引 |
value |
Object |
数据端点值 |
4.2、EventNotifyHelper.DataPointChangedNotify
数据端点变化通知
字段名 |
字段类型 |
说明 |
是否必须 |
index |
int |
数据端点索引;如果是多条件告警,数据端点列表会在 dps 中 |
否 |
value |
boolean |
数据端点值;如果是多条件告警,数据端点列表会在 dps 中 |
否 |
dps |
List |
多条件告警数据端点及值列表 |
否 |
msg |
String |
通知、告警消息实体,内容具体在管理台设置 |
否 |
4.3、EventNotifyHelper.DataPointAlertNotify
数据端点变化引起的告警
字段名 |
字段类型 |
说明 |
是否必须 |
index |
int |
数据端点索引;如果是多条件告警,数据端点列表会在 dps 中 |
否 |
value |
boolean |
数据端点值;如果是多条件告警,数据端点列表会在 dps 中 |
否 |
dps |
List |
多条件告警数据端点及值列表 |
否 |
msg |
String |
通知、告警消息实体,内容具体在管理台设置 |
否 |
4.4、EventNotifyHelper.DeviceShareNotify
设备管理员发出的分享
字段名 |
字段类型 |
说明 |
device_id |
int |
设备 ID |
invite_code |
String |
设备分享邀请码 |
type |
int |
分享操作类型 |
字段名 |
字段值 |
说明 |
TYPE_RECV_SHARE |
0 |
分享请求 |
TYPE_ACCEPT_SHARE |
1 |
接受分享 |
TYPE_DENY_SHARE |
2 |
拒绝分享 |
TYPE_CANCEL_SHARE |
3 |
取消分享 |
4.5、EventNotifyHelper.PushMsgNotify
厂商推送的消息广播
字段名 |
字段类型 |
说明 |
是否必须 |
msg_type |
String |
消息类型 |
是 |
action_type |
String |
命令类型 |
是 |
url |
String |
链接 |
否 |
command |
String |
命令 |
否 |
title |
String |
消息标题 |
是 |
content |
String |
消息内容 |
是 |
字段名 |
字段值 |
说明 |
ACTION_TYPE_URL |
url |
打开链接,返回此类型时参数为 url |
ACTION_TYPE_COMMAND |
command |
用户自定义动作,返回此类型时参数为 command |
4.6、EventNotifyHelper.DevicePropChangeNotify
设备属性变化通知
字段名 |
字段类型 |
说明 |
是否必须 |
device_id |
int |
设备 ID |
是 |
type |
String |
变化类型 |
是 |
operator |
String |
操作员,若管理台修改值为0 |
是 |
字段名 |
字段值 |
说明 |
TYPE_INFO |
info |
设备基本属性 |
TYPE_PROP |
prop |
设备扩展属性 |
TYPE_ONLINE |
online |
设备上线 |
TYPE_OFFLINE |
offline |
设备下线 |
4.7、EventNotifyHelper.SubscriptionChangeNotify
用户和设备订阅关系发生变化通知
字段名 |
字段类型 |
说明 |
是否必须 |
device_id |
int |
设备 ID |
是 |
sub |
int |
设备与当前用户的订阅关系 |
是 |
字段名 |
字段值 |
说明 |
SUBSCRIBED |
1 |
已订阅 |
UNSUBSCRIBED |
0 |
已取消订阅 |
4.8、EventNotifyHelper.OnlineStateChangeNotify
设备在线状态变化引发的通知
字段名 |
字段值 |
说明 |
是否必须 |
device_id |
int |
设备 ID |
是 |
state |
int |
设备在线状态 |
是 |
msg |
String |
管理台设置的通知内容 |
是 |
字段名 |
字段值 |
说明 |
OFFLINE |
0 |
离线 |
ONLINE |
1 |
在线 |
4.9、EventNotifyHelper.OnlineStateAlertNotify
设备在线状态变化引发的告警
字段名 |
字段值 |
说明 |
是否必须 |
device_id |
int |
设备 ID |
是 |
state |
int |
设备在线状态 |
是 |
msg |
String |
管理台设置的通知内容 |
是 |
字段名 |
字段值 |
说明 |
OFFLINE |
0 |
离线 |
ONLINE |
1 |
在线 |
4.10、EventNotifyHelper.HomeMessageNotify
家庭消息通知
字段名 |
字段值 |
说明 |
是否必须 |
home_id |
String |
家庭 ID |
是 |
from_id |
int |
消息发送者 ID |
是 |
from_name |
String |
消息发送者名称 |
是 |
type |
String |
消息类型 |
是 |
title |
String |
消息标题 |
是 |
content |
String |
消息内容 |
是 |
home_name |
String |
家庭名称 |
是 |
字段名 |
字段值 |
说明 |
TYPE_NOTIFY |
notify |
通知 |
TYPE_SHARE |
share |
分享 |
TYPE_DELETE |
delete |
家庭被管理员删除 |
4.11、EventNotifyHelper.HomeMemberInvitedNotify
家庭成员邀请通知
字段名 |
字段值 |
说明 |
是否必须 |
home_id |
String |
家庭 ID |
是 |
from_id |
int |
邀请者 ID |
是 |
from_name |
String |
邀请者名称 |
是 |
to_id |
int |
被邀请者 ID |
是 |
to_name |
String |
被邀请者名称 |
是 |
invite_id |
String |
邀请的请求 ID |
是 |
opt |
String |
操作类型 |
是 |
home_name |
String |
家庭名称 |
是 |
字段名 |
字段值 |
说明 |
OPERATION_INVITED |
invite |
发起邀请 |
OPERATION_ACCEPT |
accept |
接受 |
OPERATION_DENY |
deny |
拒绝 |
4.12、EventNotifyHelper.HomeDevicePermissionChangedNotify
家庭成员对某个设备的权限发生变化时通知
字段名 |
字段值 |
说明 |
是否必须 |
home_id |
String |
家庭 ID |
是 |
device_id |
int |
设备 ID |
是 |
user_id |
int |
成员 ID |
是 |
authority |
String |
对设备的权限 |
是 |
home_name |
String |
家庭名称 |
是 |
字段名 |
字段值 |
说明 |
AUTHORITY_WRITE |
W |
可写 |
AUTHORITY_READ |
R |
可读 |
AUTHORITY_READ_WRITE |
RW |
可读写 |
4.13、EventNotifyHelper.HomeMemberChangedNotify
家庭成员添加/移除时通知
字段名 |
字段值 |
说明 |
是否必须 |
字段名 |
字段值 |
说明 |
是否必须 |
home_id |
String |
家庭 ID |
是 |
user_id |
int |
成员 ID |
是 |
name |
String |
用户名称 |
是 |
role |
String |
家庭成员角色 |
是 |
type |
String |
添加或者删除 |
是 |
home_name |
String |
家庭名称 |
是 |
字段名 |
字段值 |
说明 |
TYPE_ADD |
add |
用户加入了该家庭,所有成员用户会收到这个通知 |
TYPE_REMOVE |
remove |
用户移除(被移除)了该家庭,所有成员都会收到这个通知 |
4.14、EventNotifyHelper.HomeDeviceChangedNotify
家庭设备添加/移除时通知
字段名 |
字段值 |
说明 |
是否必须 |
home_id |
String |
家庭 ID |
是 |
device_id |
int |
设备 ID |
是 |
type |
String |
操作类型 |
是 |
home_name |
String |
家庭名称 |
是 |
字段名 |
字段值 |
说明 |
TYPE_ADD |
add |
用户加入了该家庭,所有成员用户会收到这个通知 |
TYPE_REMOVE |
remove |
用户移除(被移除)了该家庭,所有成员都会收到这个通知 |
五、更新日志
日期 |
更新内容 |
2018-08-30 |
初稿,自 X-MQTT SDK v6.2版本起 |