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

详细描述

群组高级接口,包含了群组的高级功能,例如群成员邀请、非群成员申请进群等操作接口。

Public 成员函数

virtual ~V2TIMGroupManager ()
 
virtual void CreateGroup (const V2TIMGroupInfo &info, const V2TIMCreateGroupMemberInfoVector &memberList, V2TIMValueCallback< V2TIMString > *callback)=0
 
virtual void GetJoinedGroupList (V2TIMValueCallback< V2TIMGroupInfoVector > *callback)=0
 
virtual void GetGroupsInfo (const V2TIMStringVector &groupIDList, V2TIMValueCallback< V2TIMGroupInfoResultVector > *callback)=0
 
virtual void SearchGroups (const V2TIMGroupSearchParam &searchParam, V2TIMValueCallback< V2TIMGroupInfoVector > *callback)=0
 
virtual void SetGroupInfo (const V2TIMGroupInfo &info, V2TIMCallback *callback)=0
 
virtual void InitGroupAttributes (const V2TIMString &groupID, const V2TIMGroupAttributeMap &attributes, V2TIMCallback *callback)=0
 
virtual void SetGroupAttributes (const V2TIMString &groupID, const V2TIMGroupAttributeMap &attributes, V2TIMCallback *callback)=0
 
virtual void DeleteGroupAttributes (const V2TIMString &groupID, const V2TIMStringVector &keys, V2TIMCallback *callback)=0
 
virtual void GetGroupAttributes (const V2TIMString &groupID, const V2TIMStringVector &keys, V2TIMValueCallback< V2TIMGroupAttributeMap > *callback)=0
 
virtual void GetGroupOnlineMemberCount (const V2TIMString &groupID, V2TIMValueCallback< uint32_t > *callback)=0
 
virtual void GetGroupMemberList (const V2TIMString &groupID, uint32_t filter, long nextSeq, V2TIMValueCallback< V2TIMGroupMemberInfoResult > *callback)=0
 
virtual void GetGroupMembersInfo (const V2TIMString &groupID, V2TIMStringVector memberList, V2TIMValueCallback< V2TIMGroupMemberFullInfoVector > *callback)=0
 
virtual void SearchGroupMembers (const V2TIMGroupMemberSearchParam &param, V2TIMValueCallback< V2TIMGroupSearchGroupMembersMap > *callback)=0
 
virtual void SetGroupMemberInfo (const V2TIMString &groupID, const V2TIMGroupMemberFullInfo &info, V2TIMCallback *callback)=0
 
virtual void MuteGroupMember (const V2TIMString &groupID, const V2TIMString &userID, uint32_t seconds, V2TIMCallback *callback)=0
 
virtual void InviteUserToGroup (const V2TIMString &groupID, const V2TIMStringVector &userList, V2TIMValueCallback< V2TIMGroupMemberOperationResultVector > *callback)=0
 
virtual void KickGroupMember (const V2TIMString &groupID, const V2TIMStringVector &memberList, const V2TIMString &reason, V2TIMValueCallback< V2TIMGroupMemberOperationResultVector > *callback)=0
 
virtual void SetGroupMemberRole (const V2TIMString &groupID, const V2TIMString &userID, uint32_t role, V2TIMCallback *callback)=0
 
virtual void TransferGroupOwner (const V2TIMString &groupID, const V2TIMString &userID, V2TIMCallback *callback)=0
 
virtual void GetGroupApplicationList (V2TIMValueCallback< V2TIMGroupApplicationResult > *callback)=0
 
virtual void AcceptGroupApplication (const V2TIMGroupApplication &application, const V2TIMString &reason, V2TIMCallback *callback)=0
 
virtual void RefuseGroupApplication (const V2TIMGroupApplication &application, const V2TIMString &reason, V2TIMCallback *callback)=0
 
virtual void SetGroupApplicationRead (V2TIMCallback *callback)=0
 

构造及析构函数说明

◆ ~V2TIMGroupManager()

virtual ~V2TIMGroupManager ( )
inlinevirtual

成员函数说明

◆ CreateGroup()

virtual void CreateGroup ( const V2TIMGroupInfo info,
const V2TIMCreateGroupMemberInfoVector &  memberList,
V2TIMValueCallback< V2TIMString > *  callback 
)
pure virtual

1.1 创建自定义群组(高级版本:可以指定初始的群成员)

参数
info自定义群组信息,可以设置 groupID | groupType | groupName | notification | introduction | faceURL 字段
memberList指定初始的群成员(直播群 AVChatRoom 不支持指定初始群成员,memberList 请传一个大小为 0 的 V2TIMCreateGroupMemberInfoVector)
注意
其他限制请参考 V2TIMManager.h -> CreateGroup 注释

◆ GetJoinedGroupList()

virtual void GetJoinedGroupList ( V2TIMValueCallback< V2TIMGroupInfoVector > *  callback)
pure virtual

1.2 获取当前用户已经加入的群列表

注意
  • 直播群(AVChatRoom) 不支持该 API。
  • 该接口有频限检测,SDK 限制调用频率为1 秒 10 次,超过限制后会报 ERR_SDK_COMM_API_CALL_FREQUENCY_LIMIT (7008)错误

◆ GetGroupsInfo()

virtual void GetGroupsInfo ( const V2TIMStringVector &  groupIDList,
V2TIMValueCallback< V2TIMGroupInfoResultVector > *  callback 
)
pure virtual

2.1 拉取群资料

参数
groupIDList群组 ID 列表

◆ SearchGroups()

virtual void SearchGroups ( const V2TIMGroupSearchParam searchParam,
V2TIMValueCallback< V2TIMGroupInfoVector > *  callback 
)
pure virtual

2.2 搜索群资料(5.4.666 及以上版本支持,需要您购买旗舰版套餐)

参数
searchParam搜索参数

◆ SetGroupInfo()

virtual void SetGroupInfo ( const V2TIMGroupInfo info,
V2TIMCallback callback 
)
pure virtual

2.3 修改群资料

◆ InitGroupAttributes()

virtual void InitGroupAttributes ( const V2TIMString groupID,
const V2TIMGroupAttributeMap &  attributes,
V2TIMCallback callback 
)
pure virtual

2.4 初始化群属性,会清空原有的群属性列表

注意
attributes 的使用限制如下:
  • 目前只支持 AVChatRoom
  • key 最多支持16个,长度限制为32字节
  • value 长度限制为4k
  • 总的 attributes(包括 key 和 value)限制为16k
  • InitGroupAttributes、SetGroupAttributes、DeleteGroupAttributes 接口合并计算, SDK 限制为5秒10次,超过后回调8511错误码;后台限制1秒5次,超过后返回10049错误码
  • GetGroupAttributes 接口 SDK 限制5秒20次

◆ SetGroupAttributes()

virtual void SetGroupAttributes ( const V2TIMString groupID,
const V2TIMGroupAttributeMap &  attributes,
V2TIMCallback callback 
)
pure virtual

2.5 设置群属性。已S有该群属性则更新其 value 值,没有该群属性则添加该属性。

注意
  • 目前只支持 AVChatRoom;

◆ DeleteGroupAttributes()

virtual void DeleteGroupAttributes ( const V2TIMString groupID,
const V2TIMStringVector &  keys,
V2TIMCallback callback 
)
pure virtual

2.6 删除指定群属性,keys 传大小为 0 的 V2TIMStringVector 则清空所有群属性。

注意
  • 目前只支持 AVChatRoom;

◆ GetGroupAttributes()

virtual void GetGroupAttributes ( const V2TIMString groupID,
const V2TIMStringVector &  keys,
V2TIMValueCallback< V2TIMGroupAttributeMap > *  callback 
)
pure virtual

2.7 获取指定群属性,keys 传 keys 传大小为 0 的 V2TIMStringVector 则获取所有群属性。

注意
  • 目前只支持 AVChatRoom;

◆ GetGroupOnlineMemberCount()

virtual void GetGroupOnlineMemberCount ( const V2TIMString groupID,
V2TIMValueCallback< uint32_t > *  callback 
)
pure virtual

2.8 获取指定群在线人数

注意
请注意:
  • 目前只支持:直播群(AVChatRoom)。
  • 该接口有频限检测,SDK 限制调用频率为60秒1次。

◆ GetGroupMemberList()

virtual void GetGroupMemberList ( const V2TIMString groupID,
uint32_t  filter,
long  nextSeq,
V2TIMValueCallback< V2TIMGroupMemberInfoResult > *  callback 
)
pure virtual

3.1 获取群成员列表

参数
filter指定群成员类型
nextSeq分页拉取标志,第一次拉取填0,回调成功如果 nextSeq 不为零,需要分页,传入再次拉取,直至为0。
注意
直播群(AVChatRoom)的特殊限制:
  • 不支持管理员角色的拉取,群成员个数最大只支持 31 个(新进来的成员会排前面),程序重启后,请重新加入群组,否则拉取群成员会报 10007 错误码。
  • 群成员资料信息仅支持 userID | nickName | faceURL | role 字段。
  • filter 字段不支持管理员角色,如果您的业务逻辑依赖于管理员角色,可以使用群自定义字段 groupAttributes 管理该角色。

◆ GetGroupMembersInfo()

virtual void GetGroupMembersInfo ( const V2TIMString groupID,
V2TIMStringVector  memberList,
V2TIMValueCallback< V2TIMGroupMemberFullInfoVector > *  callback 
)
pure virtual

3.2 获取指定的群成员资料

◆ SearchGroupMembers()

virtual void SearchGroupMembers ( const V2TIMGroupMemberSearchParam param,
V2TIMValueCallback< V2TIMGroupSearchGroupMembersMap > *  callback 
)
pure virtual

3.3 搜索群成员(5.4.666 及以上版本支持,需要您购买旗舰版套餐)

参数
param搜索参数

◆ SetGroupMemberInfo()

virtual void SetGroupMemberInfo ( const V2TIMString groupID,
const V2TIMGroupMemberFullInfo info,
V2TIMCallback callback 
)
pure virtual

3.4 修改指定的群成员资料

◆ MuteGroupMember()

virtual void MuteGroupMember ( const V2TIMString groupID,
const V2TIMString userID,
uint32_t  seconds,
V2TIMCallback callback 
)
pure virtual

3.5 禁言(只有管理员或群主能够调用)

◆ InviteUserToGroup()

virtual void InviteUserToGroup ( const V2TIMString groupID,
const V2TIMStringVector &  userList,
V2TIMValueCallback< V2TIMGroupMemberOperationResultVector > *  callback 
)
pure virtual

3.6 邀请他人入群

注意
请注意不同类型的群有如下限制:
  • 工作群(Work):群里的任何人都可以邀请其他人进群。
  • 会议群(Meeting)和公开群(Public):只有通过rest api 使用 App 管理员身份才可以邀请其他人进群。
  • 直播群(AVChatRoom):不支持此功能。

◆ KickGroupMember()

virtual void KickGroupMember ( const V2TIMString groupID,
const V2TIMStringVector &  memberList,
const V2TIMString reason,
V2TIMValueCallback< V2TIMGroupMemberOperationResultVector > *  callback 
)
pure virtual

3.7 踢人

注意
请注意不同类型的群有如下限制:
  • 工作群(Work):只有群主或 APP 管理员可以踢人。
  • 公开群(Public)、会议群(Meeting):群主、管理员和 APP 管理员可以踢人
  • 直播群(AVChatRoom):只支持禁言(MuteGroupMember),不支持踢人。

◆ SetGroupMemberRole()

virtual void SetGroupMemberRole ( const V2TIMString groupID,
const V2TIMString userID,
uint32_t  role,
V2TIMCallback callback 
)
pure virtual

3.8 切换群成员的角色。

注意
请注意不同类型的群有如下限制:
  • 公开群(Public)和会议群(Meeting):只有群主才能对群成员进行普通成员和管理员之间的角色切换。
  • 其他群不支持设置群成员角色。
  • 转让群组请调用 TransferGroupOwner 接口。
  • 会议群(Meeting)切换群成员角色之后,不会有 OnGrantAdministrator 和 OnRevokeAdministrator 通知回调
  • 切换的角色支持普通群成员(V2TIM_GROUP_MEMBER_ROLE_MEMBER)和管理员(V2TIM_GROUP_MEMBER_ROLE_ADMIN)

◆ TransferGroupOwner()

virtual void TransferGroupOwner ( const V2TIMString groupID,
const V2TIMString userID,
V2TIMCallback callback 
)
pure virtual

3.9 转让群主

注意
请注意不同类型的群有如下限制:
  • 普通类型的群(Work、Public、Meeting):只有群主才有权限进行群转让操作。
  • 直播群(AVChatRoom):不支持转让群主。

◆ GetGroupApplicationList()

virtual void GetGroupApplicationList ( V2TIMValueCallback< V2TIMGroupApplicationResult > *  callback)
pure virtual

4.1 获取加群申请列表

◆ AcceptGroupApplication()

virtual void AcceptGroupApplication ( const V2TIMGroupApplication application,
const V2TIMString reason,
V2TIMCallback callback 
)
pure virtual

4.2 同意某一条加群申请

◆ RefuseGroupApplication()

virtual void RefuseGroupApplication ( const V2TIMGroupApplication application,
const V2TIMString reason,
V2TIMCallback callback 
)
pure virtual

4.3 拒绝某一条加群申请

◆ SetGroupApplicationRead()

virtual void SetGroupApplicationRead ( V2TIMCallback callback)
pure virtual

4.4 标记申请列表为已读