2024/11/06 15:20:23
事件通知
添加事件监听
如果想要接收 Storage 事件通知,你需要实现事件监听程序,详见事件监听。除此之外,如果你想要接收 Channl Metadata 的事件通知,你需要在订阅或加入频道时将 withMetadata
参数设置成 true
。如果你想要接收 User Metadata 的事件通知,你需要调用 subscribeUserMetadata
订阅指定用户的 User Metadata。
事件通知模式
当前 RTM 仅支持全量数据更新模式,即当 User Metadata 或 Channl Metadata 发生变更后,返回的事件通知中的 data
字段包含用户或频道的全部属性数据。
事件通知类型
RTM 的 Storage 事件通知有以下四种类型:
事件类型 | 描述 |
---|---|
SNAPSHOT | 1 : 用户第一次订阅 Channl Metadata 或 User Metadata,或加入频道时触发,本地用户会收到此类事件通知。 |
SET |
信息 该事件仅在增量数据更新模式下返回。 |
UPDATE | 3 : 当调用设置、更新或删除 Channel Metadata 或 User Metadata 的方法时会返回该类型事件。 |
REMOVE |
信息 该事件仅在增量数据更新模式下返回。 |
Storage 事件的数据结构参数含义如下:
属性 | 类型 | 描述 |
---|---|---|
channelType | RtmChannelType | 频道类型。详见 RtmChannelType 。 |
storageType | RtmStorageType | Storage 类型。详见 RtmStorageType 。 |
eventType | RtmStorageEventType | Storage 事件类型。详见 RtmStorageEventType 。 |
target | String | 用户 ID 或频道名称。 |
data | Metadata | Metadata Item。详见 Metadata 。 |
timestamp | long | 事件发生的时间戳。 |