跳到主要内容

事件监听

添加监听器

addEventListener 方法用来接收来自于 IMLib 内的各种事件通知,同类型事件可以多次添加不同的监听函数。绑定仅执行一次的事件 可以使用 onceEventListener

const Events = RongIMLib.Events
RongIMLib.addEventListener(Events.MESSAGES, (evt) => {
console.log(evt.messages)
})

移除监听

业务层需注意在必要时使用 removeEventListenerremoveEventListeners 移除对指定事件的监听函数,以免造成内存泄露。 removeEventListeners 将移除对某一特定事件的所有监听函数。

const Events = RongIMLib.Events

const listener = (evt) => console.log(evt.messages)

// 添加具体事件监听器
RongIMLib.addEventListener(Events.MESSAGES, listener)

// 移除具体事件监听器
RongIMLib.removeEventListener(Events.MESSAGES, listener)

// 移除具体事件的所有监听器
RongIMLib.removeEventListeners(Events.MESSAGES)

事件

事件名称事件返回值类型事件说明版本
CONNECTINGvoid链接中
CONNECTEDvoid已链接
DISCONNECTErrorCode已断开 注意:5.7.0 版本起,回调参数的类型由 ConnectionStatus 变更为 ErrorCode
SUSPENDErrorCode链接异常断开(自动重连) 注意:5.7.0 版本起,回调参数的类型由 ConnectionStatus & ErrorCode变更为 ErrorCode
MESSAGESIMessagesEvent收到消息
READ_RECEIPT_RECEIVEDIReadReceiptReceivedEvent收到已读回执(单聊)
MESSAGE_RECEIPT_REQUESTIMessageReceiptRequestEvent收到已读回执请求(群聊)
MESSAGE_RECEIPT_RESPONSEIMessageReceiptResponseEvent收到已读回执响应(群聊)
CONVERSATIONIConversationEvent收到会话变更通知
CHATROOMIChatroomListenerData收到聊天室变更通知。注意:如需监听聊天室成员变化,请提交工单申请开通服务。
EXPANSIONIExpansionListenerData收到扩展变更通知
PULL_OFFLINE_MESSAGE_FINISHEDvoid离线消息拉取完成
TAGvoid(适用于多端登录场景)收到标签列表标签通知,表示用户可能在其他端创建、移除或编辑某个标签。收到此通知时需主动调用 getTags 获取全部标签以更新 UI 渲染。该标签列表包含了所有用于标记会话的标签。
CONVERSATION_TAGvoid(适用于多端登录场景)收到会话标签变动通知,表示用户可能在其他端修改了会话上所加的标签。收到此通知时需根据本地已渲染的会话列表,主动调用 getTagsFromConversation 逐个获取会话的所有标签,以更新 UI 渲染。
TYPING_STATUSITypingStatusEvent收到正在输入状态通知
MESSAGE_BLOCKEDIBlockedMessageInfo敏感词回调通知。需要提交工单开启服务后才能使用。默认关闭状态。5.0.2
ULTRA_GROUP_ENABLEIAReceivedConversation超级群会话列表同步完成,可以调用超级群相关接口5.2.0
OPERATE_STATUSIOperateStatusNotify超级群输入状态通知5.2.0
ULTRA_GROUP_MESSAGE_EXPANSION_UPDATEDIAReceivedMessage超级群消息扩展更新通知5.2.0
ULTRA_GROUP_MESSAGE_MODIFIEDIAReceivedMessage超级群消息被修改通知5.2.0
ULTRA_GROUP_MESSAGE_RECALLEDIAReceivedMessage超级群消息被撤回通知5.2.0
ULTRA_GROUP_CHANNEL_TYPE_CHANGEIUltraChannelChangeInfo超级群频道类型变更5.4.2
ULTRA_GROUP_CHANNEL_DELETEIUltraChannelDeleteInfo超级群频道被删除5.4.2
ULTRA_GROUP_CHANNEL_USER_KICKEDIUltraChannelUserKickedInfo超级群私有频道成员被移除5.4.2