- Android
- iOS
- JavaScript
- 鸿蒙
可以设置多个监听。
JIM.getInstance().getConversationManager().addListener("main", new IConversationManager.IConversationListener() {
/// 会话新增回调
@Override
public void onConversationInfoAdd(List<ConversationInfo> conversationInfoList) {
Log.i("TAG", "onConversationInfoAdd, count is " + conversationInfoList.size());
}
/// 会话变更回调,会话信息任何变更都会触发该回调
@Override
public void onConversationInfoUpdate(List<ConversationInfo> conversationInfoList) {
Log.i("TAG", "onConversationInfoUpdate, count is " + conversationInfoList.size());
}
/// 会话删除回调
@Override
public void onConversationInfoDelete(List<ConversationInfo> conversationInfoList) {
Log.i("TAG", "onConversationInfoDelete, count is " + conversationInfoList.size());
}
/// 总的未读数变化回调
@Override
public void onTotalUnreadMessageCountUpdate(int count) {
Log.i("TAG", "onTotalUnreadMessageCountUpdate, count is " + count);
}
});
可以设置多个代理。
[JIM.shared.conversationManager addDelegate:self];
/// 会话新增回调
- (void)conversationInfoDidAdd:(NSArray<JConversationInfo *> *)conversationInfoList {
NSLog(@"conversationInfoDidAdd");
}
/// 会话变更回调,会话信息任何变更都会触发该回调
- (void)conversationInfoDidUpdate:(NSArray<JConversationInfo *> *)conversationInfoList {
NSLog(@"conversationInfoDidUpdate");
}
/// 会话删除回调
- (void)conversationInfoDidDelete:(NSArray<JConversationInfo *> *)conversationInfoList {
NSLog(@"conversationInfoDidDelete");
}
/// 总的未读数变化回调
- (void)totalUnreadMessageCountDidUpdate:(int)count {
NSLog(@"totalUnreadMessageCountDidUpdate");
}
接口说明:会话新增、删除、变更监听,全局只需设置一次,多次设置会覆盖
相关枚举:Conversation、Event
let { Event } = JIM;
// 会话新增监听:首次收发消息、本地插入会话以及多端会话操作的同步操作
jim.on(Event.CONVERSATION_ADDED, ({ conversations }) => {
console.log(conversations);
});
// 会话删除监听:主动调用删除会话接口、当前用户其他端调用删除会话同步至当前端
jim.on(Event.CONVERSATION_REMOVED, ({ conversations }) => {
console.log(conversations);
});
// 会话变更监听:非首次收发消息(首次收发消息触发会话新增事件)、删除消息、修改消息、免打扰、置顶以及多端会话操作的同步操作
jim.on(Event.CONVERSATION_CHANGED, ({ conversations }) => {
console.log(conversations);
});
可以设置多个监听。
//会话新增监听
JuggleIm.instance.getConversationManager().addConversationAddListener((convers)=>{
})
//会话变更监听
JuggleIm.instance.getConversationManager().addConversationUpdateListener((convers)=>{
})
//会话删除监听
JuggleIm.instance.getConversationManager().addConversationDeleteListener((convers)=>{
})
//总未读数变更监听
JuggleIm.instance.getConnectionManager().addTotalUnreadCountUpdateListener((count)=>{
})