事件通知
当频道中的用户加入 Topic 或离开 Topic 时,RTM 会触发 Topic 事件通知。频道中的用户会实时接收到 Topic 事件通知,你可以通过 Topic 事件通知来跟踪频道中 Topic 状态的变化。
注意
Topic 事件通知仅对 Stream Channel 有效。
当用户第一次加入频道时,SDK 会触发 SNAPSHOT
类型的 Topic 事件通知,你可以通过该事件通知获得当前频道中 Topic 的历史状态信息。
Topic 事件类型
Topic 事件通知有以下三种类型:
事件通知 | 描述 |
---|---|
SNAPSHOT | 本地用户首次加入 Stream Channel 时触发,通知用户关于该频道中所有 Topic 的详情。该事件通知只在加入频道时触发一次。 |
REMOTE_JOIN | 远端用户加入 Topic 并注册成为该 Topic 的发布者时触发。 |
REMOTE_LEAVE | 远端用户离开 Topic 并取消注册该 Topic 的发布者时触发。 |
添加事件监听
事件监听及处理程序的设置在事件监听中有过简单的介绍。接收 Topic 事件通知(topic
)的前提是你需要为其添加事件处理程序。成功添加 Topic 事件处理程序后,你会收到你加入的所有 Stream Channel 中所有 Topic 的事件通知。topic
中包含以下数据:
参数 | 描述 |
---|---|
type | Topic 事件通知类型。详见 API 参考。 |
channelName | 频道名称,该事件通知来自哪个频道。 |
userId | 用户 ID ,谁触发了该事件通知。 |
topicInfos | 该事件通知中 Topic 的详细信息数组,包含 Topic 名称、Topic 发布者等信息。 |
topicInfoCount | (待废弃)topicInfos 数组的个数。 |