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

Public 成员函数

 V2TIMConversationListener ()
 
virtual ~V2TIMConversationListener ()
 
virtual void OnSyncServerStart ()
 
virtual void OnSyncServerFinish ()
 
virtual void OnSyncServerFailed ()
 
virtual void OnNewConversation (const V2TIMConversationVector &conversationList)
 
virtual void OnConversationChanged (const V2TIMConversationVector &conversationList)
 
virtual void OnConversationDeleted (const V2TIMStringVector &conversationIDList)
 
virtual void OnTotalUnreadMessageCountChanged (uint64_t totalUnreadCount)
 
virtual void OnUnreadMessageCountChangedByFilter (const V2TIMConversationListFilter &filter, uint64_t totalUnreadCount)
 
virtual void OnConversationGroupCreated (const V2TIMString &groupName, const V2TIMConversationVector &conversationList)
 
virtual void OnConversationGroupDeleted (const V2TIMString &groupName)
 
virtual void OnConversationGroupNameChanged (const V2TIMString &oldName, const V2TIMString &newName)
 
virtual void OnConversationsAddedToGroup (const V2TIMString &groupName, const V2TIMConversationVector &conversationList)
 
virtual void OnConversationsDeletedFromGroup (const V2TIMString &groupName, const V2TIMConversationVector &conversationList, uint32_t reason)
 
virtual void OnConversationsDeletedFromGroup (const V2TIMString &groupName, const V2TIMConversationVector &conversationList)
 

构造及析构函数说明

◆ V2TIMConversationListener()

◆ ~V2TIMConversationListener()

virtual ~V2TIMConversationListener ( )
virtual

成员函数说明

◆ OnSyncServerStart()

virtual void OnSyncServerStart ( )
inlinevirtual

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

◆ OnSyncServerFinish()

virtual void OnSyncServerFinish ( )
inlinevirtual

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

◆ OnSyncServerFailed()

virtual void OnSyncServerFailed ( )
inlinevirtual

同步服务器会话失败

◆ OnNewConversation()

virtual void OnNewConversation ( const V2TIMConversationVector conversationList)
inlinevirtual

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

参数
conversationList会话列表

◆ OnConversationChanged()

virtual void OnConversationChanged ( const V2TIMConversationVector conversationList)
inlinevirtual

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

参数
conversationList会话列表

◆ OnConversationDeleted()

virtual void OnConversationDeleted ( const V2TIMStringVector conversationIDList)
inlinevirtual

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

注意
conversationIDList 表示被删除的会话唯一 ID 列表。C2C 单聊组成方式为: "c2c_userID":群聊组成方式为: "group_groupID"

◆ OnTotalUnreadMessageCountChanged()

virtual void OnTotalUnreadMessageCountChanged ( uint64_t  totalUnreadCount)
inlinevirtual

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

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

◆ OnUnreadMessageCountChangedByFilter()

virtual void OnUnreadMessageCountChangedByFilter ( const V2TIMConversationListFilter filter,
uint64_t  totalUnreadCount 
)
inlinevirtual

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

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

◆ OnConversationGroupCreated()

virtual void OnConversationGroupCreated ( const V2TIMString groupName,
const V2TIMConversationVector conversationList 
)
inlinevirtual

会话分组被创建

◆ OnConversationGroupDeleted()

virtual void OnConversationGroupDeleted ( const V2TIMString groupName)
inlinevirtual

会话分组被删除

◆ OnConversationGroupNameChanged()

virtual void OnConversationGroupNameChanged ( const V2TIMString oldName,
const V2TIMString newName 
)
inlinevirtual

会话分组名变更

◆ OnConversationsAddedToGroup()

virtual void OnConversationsAddedToGroup ( const V2TIMString groupName,
const V2TIMConversationVector conversationList 
)
inlinevirtual

会话分组新增会话

◆ OnConversationsDeletedFromGroup() [1/2]

virtual void OnConversationsDeletedFromGroup ( const V2TIMString groupName,
const V2TIMConversationVector conversationList,
uint32_t  reason 
)
inlinevirtual

会话分组删除会话

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

◆ OnConversationsDeletedFromGroup() [2/2]

virtual void OnConversationsDeletedFromGroup ( const V2TIMString groupName,
const V2TIMConversationVector conversationList 
)
inlinevirtual

会话分组删除会话(待废弃接口,请使用 OnConversationsDeletedFromGroup(const V2TIMString &, const V2TIMConversationVector &, uint32_t) 接口)