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