Skip to main content
IM 是会议 SDK 里独立于会议内聊天的一条通道,用于会议之外的通知: 被呼叫入会、会议提醒、等候室与子会议的通知。
不需要手动开启 —— 登录后 SDK 自动维护 IM 连接。会议的聊天走 sendRoomChatMessage / onChatMessage,见 聊天与自定义消息

统一的两段结构

所有 IM 业务事件都是「base + content」:
ImBaseEventData

被呼叫入会

主持人调 adminCallUsers([uid]) 时,对方收到:
content 里直接给了 meetingIdroomNo,接受呼叫就是拿它去 enterRoom
这是会议外的事件 —— 用户此时不在任何会议里,所以要在 App 全局 (而不是会议页)监听它。通常在登录后就注册一个全局 delegate。

会议提醒

主持人调 adminMeetRemind(uids) 时:
比呼叫多了创建者与预约时间,适合做”会议即将开始”的通知。

等候室与子会议通知

这两个共用 ImSubMeetingContentparent / meetingId / title):

连接状态

IM 断开不影响会议本身 —— 会议的媒体和信令走另一条通道。 所以 onImDisconnected 只该影响”能不能收到会外通知”这类 UI, 不要据此提示”会议已断开”。

注册在哪里

IM 事件和会议事件在同一个 SMeetingDelegate 接口上,但生效范围不同:
两份 delegate 都要成对 add / remove。App 级那份的生命周期跟着登录状态走: logout() 之后就该摘掉,否则下次登录会有重复回调。

相关阅读