概述
会议外消息(IM)是一条独立于会议的通知通道。它解决的是「用户还没进会议时怎么被通知到」这类问题:- 有人在会议里呼叫你
- 预约会议快开始了
- 你在等候室里被放行了
- 你负责的讨论小组请求协助
启用与停用
- 必须先
login(token:),未登录调用会抛出SMeetingError.notLoggedIn logout()内部会自动停用这条通道,你不需要在登出流程里重复调用- 通道建立后一直保持,与是否在会议中无关
enableIm()成功后会触发一次meeting(_:imDidConnect:),带本端uid与 IM 会话sid(1.5.0 起)- 主动调用
disableIm()不会触发imDidDisconnect
1.4.1 及以前,
enableIm() 只建立了通道,下面的呼叫、提醒、等候室放行、小组求助事件以及重连 / 断开回调实际都不会派发。依赖这些事件的接入需要升级到 1.5.0。事件
下面四个业务事件都带一个base(ImBaseEventData)和一个 content:
有人呼叫你
会议提醒
planTime 为秒级时间戳,planDur 单位为分钟。
被放行出等候室
小组请求协助
原始消息
每条会议外消息都会先原样触发一次imDidReceiveMessage,SDK 认识的 action 再额外派发到上面的具名事件(1.5.0 起)。业务自定义的 action 只能从这里拿到:
连接状态
这条通道有自己独立的连接状态事件,不要和会议的重连事件混淆:ImDisconnectEventData 自 1.5.0 起另带结构化原因:
被动断开后通道已失效,需要时重新调用
enableIm()。
对应会议本身的连接事件是 meetingIsReconnecting(_:) / meetingDidReconnect(_:) / meeting(_:didDisconnect:)。