IMSDK
即时通信 IM 提供全球接入、单聊、群聊、消息推送、资料关系链托管、账号鉴权等全方位解决方案,并提供完备的 App 接入、后台管理接口。
<V2TIMConversationListener>

构造函数

(void) - onSyncServerStart
 
(void) - onSyncServerFinish
 
(void) - onSyncServerFailed
 
(void) - onNewConversation:
 
(void) - onConversationChanged:
 
(void) - onConversationDeleted:
 
(void) - onTotalUnreadMessageCountChanged:
 
(void) - onUnreadMessageCountChangedByFilter:totalUnreadCount:
 
(void) - onConversationGroupCreated:conversationList:
 
(void) - onConversationGroupDeleted:
 
(void) - onConversationGroupNameChanged:newName:
 
(void) - onConversationsAddedToGroup:conversationList:
 
(void) - onConversationsDeletedFromGroup:conversationList:reason:
 
(void) - onConversationsDeletedFromGroup:conversationList:
 

函数文档

◆ onSyncServerStart()

- (void) onSyncServerStart
optional

同步服务器会话开始,SDK 会在登录成功或者断网重连后自动同步服务器会话,您可以监听这个事件做一些 UI 进度展示操作。

◆ onSyncServerFinish()

- (void) onSyncServerFinish
optional

同步服务器会话完成,如果会话有变更,会通过 onNewConversation | onConversationChanged 回调告知客户

◆ onSyncServerFailed()

- (void) onSyncServerFailed
optional

同步服务器会话失败

◆ onNewConversation:()

- (void) onNewConversation: (NSArray< V2TIMConversation * > *)  conversationList
optional

有新的会话(比如收到一个新同事发来的单聊消息、或者被拉入了一个新的群组中),可以根据会话的 orderKey 重新对会话列表做排序。

◆ onConversationChanged:()

- (void) onConversationChanged: (NSArray< V2TIMConversation * > *)  conversationList
optional

某些会话的关键信息发生变化(未读计数发生变化、最后一条消息被更新等等),可以根据会话的 orderKey 重新对会话列表做排序。

◆ onConversationDeleted:()

- (void) onConversationDeleted: (NSArray< NSString * > *)  conversationIDList
optional

会话被删除的通知(7.2 及以上版本支持)

注意
conversationIDList 表示被删除的会话唯一 ID 列表。C2C 单聊组成方式:[NSString stringWithFormat:"c2c_%",userID];群聊组成方式为 [NSString stringWithFormat:"group_%",groupID]

◆ onTotalUnreadMessageCountChanged:()

- (void) onTotalUnreadMessageCountChanged: (UInt64)  totalUnreadCount
optional

全部会话未读总数变更的通知(5.3.425 及以上版本支持)

注意
  • 当您调用 getTotalUnreadMessageCount 获取全部会话未读总数以后,任意会话的未读数发生变化时,SDK 都会通过该回调把最新的未读总数通知给您。
  • 未读总数会减去设置为免打扰的会话的未读数,即消息接收选项设置为 V2TIMMessage.V2TIM_NOT_RECEIVE_MESSAGE 或 V2TIMMessage.V2TIM_RECEIVE_NOT_NOTIFY_MESSAGE 或 V2TIMMessage.V2TIM_RECEIVE_NOT_NOTIFY_MESSAGE_EXCEPT_AT 的会话。

◆ onUnreadMessageCountChangedByFilter:totalUnreadCount:()

- (void) onUnreadMessageCountChangedByFilter: (V2TIMConversationListFilter *)  filter
totalUnreadCount: (UInt64)  totalUnreadCount 
optional

根据 filter 过滤的未读消息总数变更通知(7.0 及以上版本支持)

注意
  • 您可以调用 subscribeUnreadMessageCountByFilter 注册监听指定 filter 下的未读总数变化,SDK 通过这个回调把最新的未读总数通知给您。
  • 您可以注册监听多个不同 filter 下的未读总数变化,这个回调的 filter 参数就是注册监听时指定的 filter,该 filter 携带了 conversationType、conversationGroup 和 markType 三个字段,通过判断这三字段是不是都相同,来区分出不同的 filter。
  • 未读总数会减去设置为免打扰的会话的未读数,即消息接收选项设置为 V2TIMMessage.V2TIM_NOT_RECEIVE_MESSAGE 或 V2TIMMessage.V2TIM_RECEIVE_NOT_NOTIFY_MESSAGE 或 V2TIMMessage.V2TIM_RECEIVE_NOT_NOTIFY_MESSAGE_EXCEPT_AT 的会话。

◆ onConversationGroupCreated:conversationList:()

- (void) onConversationGroupCreated: (NSString *)  groupName
conversationList: (NSArray< V2TIMConversation * > *)  conversationList 
optional

会话分组被创建

◆ onConversationGroupDeleted:()

- (void) onConversationGroupDeleted: (NSString *)  groupName
optional

会话分组被删除

◆ onConversationGroupNameChanged:newName:()

- (void) onConversationGroupNameChanged: (NSString *)  oldName
newName: (NSString *)  newName 
optional

会话分组名变更

◆ onConversationsAddedToGroup:conversationList:()

- (void) onConversationsAddedToGroup: (NSString *)  groupName
conversationList: (NSArray< V2TIMConversation * > *)  conversationList 
optional

会话分组新增会话

◆ onConversationsDeletedFromGroup:conversationList:reason:()

- (void) onConversationsDeletedFromGroup: (NSString *)  groupName
conversationList: (NSArray< V2TIMConversation * > *)  conversationList
reason: (uint32_t)  reason 
optional

会话分组删除会话

注意
  • reason 表示会话从所在分组删除的原因,其取值有:
  • 当 reason 为 0 时,表示由用户主动调用 deleteConversationsFromGroup 触发
  • 当 reason 为 1 时,表示添加到分组的会话数量超过 1000,最早添加进分组的会话被淘汰

◆ onConversationsDeletedFromGroup:conversationList:()

- (void) onConversationsDeletedFromGroup: (NSString *)  groupName
conversationList: (NSArray< V2TIMConversation * > *)  conversationList 
optional

会话分组删除会话(待废弃接口,请使用 onConversationsDeletedFromGroup:conversationList:reason: 接口)