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 事件的数据结构参数含义如下:
参数 | 描述 |
---|---|
storageType | 通知类型,可能的取值为NONE 、USER 或 CHANNEL 。USER 为用户属性变更,CHANNEL 为频道属性变更。 |
channelType | 频道类型,可能的取值为 MESSAGE 或 STREAM 。 |
channelName | 事件发生的频道名称。 信息 该参数仅在频道属性相关事件中生效。 |
publisher | 触发此事件的用户 ID。 |
eventType | 事件类型。可能的取值为 NONE 、SNAPSHOT 、SET 、REMOVE 或 UPDATE 。 |
data | 用户或者频道属性数据。 |