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

详细描述

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

Public 成员函数

abstract void createGroup (V2TIMGroupInfo info, List< V2TIMCreateGroupMemberInfo > memberList, V2TIMValueCallback< String > callback)
 
abstract void getJoinedGroupList (V2TIMValueCallback< List< V2TIMGroupInfo >> callback)
 
abstract void getGroupsInfo (List< String > groupIDList, V2TIMValueCallback< List< V2TIMGroupInfoResult >> callback)
 
abstract void searchGroups (V2TIMGroupSearchParam searchParam, V2TIMValueCallback< List< V2TIMGroupInfo >> callback)
 
abstract void setGroupInfo (V2TIMGroupInfo info, V2TIMCallback callback)
 
abstract void initGroupAttributes (String groupID, HashMap< String, String > attributes, V2TIMCallback callback)
 
abstract void setGroupAttributes (String groupID, HashMap< String, String > attributes, V2TIMCallback callback)
 
abstract void deleteGroupAttributes (String groupID, List< String > keys, V2TIMCallback callback)
 
abstract void getGroupAttributes (String groupID, List< String > keys, V2TIMValueCallback< Map< String, String >> callback)
 
abstract void getGroupOnlineMemberCount (String groupID, V2TIMValueCallback< Integer > callback)
 
abstract void setGroupCounters (String groupID, HashMap< String, Long > counters, V2TIMValueCallback< Map< String, Long >> callback)
 
abstract void getGroupCounters (String groupID, List< String > keys, V2TIMValueCallback< Map< String, Long >> callback)
 
abstract void increaseGroupCounter (String groupID, String key, long value, V2TIMValueCallback< Map< String, Long >> callback)
 
abstract void decreaseGroupCounter (String groupID, String key, long value, V2TIMValueCallback< Map< String, Long >> callback)
 
abstract void getGroupMemberList (String groupID, int filter, long nextSeq, V2TIMValueCallback< V2TIMGroupMemberInfoResult > callback)
 
abstract void getGroupMembersInfo (String groupID, List< String > memberList, V2TIMValueCallback< List< V2TIMGroupMemberFullInfo >> callback)
 
abstract void searchGroupMembers (V2TIMGroupMemberSearchParam param, V2TIMValueCallback< HashMap< String, List< V2TIMGroupMemberFullInfo >>> callback)
 
abstract void setGroupMemberInfo (String groupID, V2TIMGroupMemberFullInfo info, V2TIMCallback callback)
 
abstract void muteGroupMember (String groupID, String userID, int seconds, V2TIMCallback callback)
 
abstract void muteAllGroupMembers (String groupID, boolean isMute, V2TIMCallback callback)
 
abstract void inviteUserToGroup (String groupID, List< String > userList, V2TIMValueCallback< List< V2TIMGroupMemberOperationResult >> callback)
 
abstract void kickGroupMember (String groupID, List< String > memberList, String reason, int duration, V2TIMValueCallback< List< V2TIMGroupMemberOperationResult >> callback)
 
abstract void setGroupMemberRole (String groupID, String userID, int role, V2TIMCallback callback)
 
abstract void markGroupMemberList (String groupID, List< String > memberIDList, int markType, boolean enableMark, V2TIMCallback callback)
 
abstract void transferGroupOwner (String groupID, String userID, V2TIMCallback callback)
 
abstract void kickGroupMember (String groupID, List< String > memberList, String reason, V2TIMValueCallback< List< V2TIMGroupMemberOperationResult >> callback)
 
abstract void getGroupApplicationList (V2TIMValueCallback< V2TIMGroupApplicationResult > callback)
 
abstract void acceptGroupApplication (V2TIMGroupApplication application, String reason, V2TIMCallback callback)
 
abstract void refuseGroupApplication (V2TIMGroupApplication application, String reason, V2TIMCallback callback)
 
abstract void setGroupApplicationRead (V2TIMCallback callback)
 
abstract void getJoinedCommunityList (V2TIMValueCallback< List< V2TIMGroupInfo >> callback)
 
abstract void createTopicInCommunity (String groupID, V2TIMTopicInfo topicInfo, V2TIMValueCallback< String > callback)
 
abstract void deleteTopicFromCommunity (String groupID, List< String > topicIDList, V2TIMValueCallback< List< V2TIMTopicOperationResult >> callback)
 
abstract void setTopicInfo (V2TIMTopicInfo topicInfo, V2TIMCallback callback)
 
abstract void getTopicInfoList (String groupID, List< String > topicIDList, V2TIMValueCallback< List< V2TIMTopicInfoResult >> callback)
 

成员函数说明

◆ createGroup()

abstract void createGroup ( V2TIMGroupInfo  info,
List< V2TIMCreateGroupMemberInfo memberList,
V2TIMValueCallback< String >  callback 
)
abstract

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

参数
info自定义群组信息,可以设置 groupID | groupType | groupName | notification | introduction | faceURL 字段
memberList指定初始的群成员(直播群 AVChatRoom 不支持指定初始群成员,memberList 请传 null)
注意

◆ getJoinedGroupList()

abstract void getJoinedGroupList ( V2TIMValueCallback< List< V2TIMGroupInfo >>  callback)
abstract

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

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

◆ getGroupsInfo()

abstract void getGroupsInfo ( List< String >  groupIDList,
V2TIMValueCallback< List< V2TIMGroupInfoResult >>  callback 
)
abstract

2.1 拉取群资料

参数
groupIDList群组 ID 列表

◆ searchGroups()

abstract void searchGroups ( V2TIMGroupSearchParam  searchParam,
V2TIMValueCallback< List< V2TIMGroupInfo >>  callback 
)
abstract

2.2 搜索群资料(5.4.666 及以上版本支持)

参数
searchParam搜索参数
注意
该功能为 IM 旗舰版功能,购买旗舰版套餐包后可使用,详见价格说明

◆ setGroupInfo()

abstract void setGroupInfo ( V2TIMGroupInfo  info,
V2TIMCallback  callback 
)
abstract

2.3 修改群资料

◆ initGroupAttributes()

abstract void initGroupAttributes ( String  groupID,
HashMap< String, String >  attributes,
V2TIMCallback  callback 
)
abstract

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

注意
attributes 的使用限制如下:
  • 6.7 及其以前版本,只支持 AVChatRoom 直播群;
  • 从 6.8 版本开始,同时支持 AVChatRoom、Public、Meeting、Work 四种群类型;
  • 从 7.0 版本开始,除了话题外,群属性支持所有的群类型;
  • key 最多支持 16 个,长度限制为 32 字节;
  • value 长度限制为 4k;
  • 总的 attributes(包括 key 和 value)限制为 16k;
  • initGroupAttributes、setGroupAttributes、deleteGroupAttributes 接口合并计算, SDK 限制为 5 秒 10 次,超过后回调 8511 错误码;后台限制 1 秒 5 次,超过后返回 10049 错误码;
  • getGroupAttributes 接口 SDK 限制 5 秒 20 次;
  • 从 5.6 版本开始,当每次APP启动后初次修改群属性时,请您先调用 getGroupAttributes 拉取到最新的群属性之后,再发起修改操作;
  • 从 5.6 版本开始,当多个用户同时修改同一个群属性时,只有第一个用户可以执行成功,其它用户会收到 10056 错误码;收到这个错误码之后,请您调用 getGroupAttributes 把本地保存的群属性更新到最新之后,再发起修改操作。

◆ setGroupAttributes()

abstract void setGroupAttributes ( String  groupID,
HashMap< String, String >  attributes,
V2TIMCallback  callback 
)
abstract

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

注意
  • 6.7 及其以前版本,只支持 AVChatRoom 直播群;
  • 从 6.8 版本开始,同时支持 AVChatRoom、Public、Meeting、Work 四种群类型;
  • 从 7.0 版本开始,除了话题外,群属性支持所有的群类型。

◆ deleteGroupAttributes()

abstract void deleteGroupAttributes ( String  groupID,
List< String >  keys,
V2TIMCallback  callback 
)
abstract

2.6 删除指定群属性,keys 传 null 则清空所有群属性。

注意
  • 6.7 及其以前版本,只支持 AVChatRoom 直播群;
  • 从 6.8 版本开始,同时支持 AVChatRoom、Public、Meeting、Work 四种群类型;
  • 从 7.0 版本开始,除了话题外,群属性支持所有的群类型。

◆ getGroupAttributes()

abstract void getGroupAttributes ( String  groupID,
List< String >  keys,
V2TIMValueCallback< Map< String, String >>  callback 
)
abstract

2.7 获取指定群属性,keys 传 null 则获取所有群属性。

注意
  • 6.7 及其以前版本,只支持 AVChatRoom 直播群;
  • 从 6.8 版本开始,同时支持 AVChatRoom、Public、Meeting、Work 四种群类型;
  • 从 7.0 版本开始,除了话题外,群属性支持所有的群类型。

◆ getGroupOnlineMemberCount()

abstract void getGroupOnlineMemberCount ( String  groupID,
V2TIMValueCallback< Integer >  callback 
)
abstract

2.8 获取指定群在线人数

注意
  • IMSDK 7.3 以前的版本仅支持直播群( AVChatRoom);
  • IMSDK 7.3 及其以后的版本支持所有群类型。

◆ setGroupCounters()

abstract void setGroupCounters ( String  groupID,
HashMap< String, Long >  counters,
V2TIMValueCallback< Map< String, Long >>  callback 
)
abstract

2.9 设置群计数器(7.0 及其以上版本支持)

注意
  • 该计数器的 key 如果存在,则直接更新计数器的 value 值;如果不存在,则添加该计数器的 key-value;
  • 当群计数器设置成功后,在 succ 回调中会返回最终成功设置的群计数器信息;
  • 除了社群和话题,群计数器支持所有的群组类型。

◆ getGroupCounters()

abstract void getGroupCounters ( String  groupID,
List< String >  keys,
V2TIMValueCallback< Map< String, Long >>  callback 
)
abstract

2.10 获取群计数器(7.0 及其以上版本支持)

注意
  • 如果 keys 为空,则表示获取群内的所有计数器;
  • 除了社群和话题,群计数器支持所有的群组类型。

◆ increaseGroupCounter()

abstract void increaseGroupCounter ( String  groupID,
String  key,
long  value,
V2TIMValueCallback< Map< String, Long >>  callback 
)
abstract

2.11 递增群计数器(7.0 及其以上版本支持)

参数
groupID群 ID
key群计数器的 key
value群计数器的递增的变化量,计数器 key 对应的 value 变更方式为: new_value = old_value + value
注意
  • 成功后的回调,会返回当前计数器做完递增操作后的 value
  • 该计数器的 key 如果存在,则直接在当前值的基础上根据传入的 value 作递增操作;反之,添加 key,并在默认值为 0 的基础上根据传入的 value 作递增操作;
  • 除了社群和话题,群计数器支持所有的群组类型。

◆ decreaseGroupCounter()

abstract void decreaseGroupCounter ( String  groupID,
String  key,
long  value,
V2TIMValueCallback< Map< String, Long >>  callback 
)
abstract

2.12 递减群计数器(7.0 及其以上版本支持)

参数
groupID群 ID
key群计数器的 key
value群计数器的递减的变化量,计数器 key 对应的 value 变更方式为: new_value = old_value - value
注意
  • 成功后的回调,会返回当前计数器做完递减操作后的 value
  • 该计数器的 key 如果存在,则直接在当前值的基础上根据传入的 value 作递减操作;反之,添加 key,并在默认值为 0 的基础上根据传入的 value 作递减操作
  • 除了社群和话题,群计数器支持所有的群组类型。

◆ getGroupMemberList()

abstract void getGroupMemberList ( String  groupID,
int  filter,
long  nextSeq,
V2TIMValueCallback< V2TIMGroupMemberInfoResult callback 
)
abstract

3.1 获取群成员列表

参数
filter指定群成员类型
  • V2TIMGroupMemberFullInfo.V2TIM_GROUP_MEMBER_FILTER_ALL:所有类型
  • V2TIMGroupMemberFullInfo.V2TIM_GROUP_MEMBER_FILTER_OWNER:群主
  • V2TIMGroupMemberFullInfo.V2TIM_GROUP_MEMBER_FILTER_ADMIN:群管理员
  • V2TIMGroupMemberFullInfo.V2TIM_GROUP_MEMBER_FILTER_COMMON:普通群成员
nextSeq分页拉取标志,第一次拉取填0,回调成功如果 nextSeq 不为零,需要分页,传入再次拉取,直至为0。
注意
  • 普通群(工作群、会议群、公开群)的限制:
  1. filter 只能设置为 V2TIMGroupMemberFullInfo 定义的数值,SDK 会返回指定角色的成员。
  • 直播群(AVChatRoom)的限制:
  1. 如果设置 filter 为 SDK 定义的数值,SDK 返回全部成员。返回的人数规则为:拉取最近入群群成员最多 1000 人,新进来的成员排在前面。需要升级旗舰版,并且在 控制台 开启“直播群在线成员列表”开关(6.3 及以上版本支持)。
  2. 如果设置 filter 为群成员自定义标记,旗舰版支持拉取指定标记的成员列表。标记群成员的设置请参考 markGroupMemberList API。
  3. 程序重启后,请重新加入群组,否则拉取群成员会报 10007 错误码。
  4. 群成员资料信息仅支持 userID | nickName | faceURL | role 字段。
  • 社群(Community)的限制:
  1. 如果设置 filter 为 V2TIMGroupMemberFilter 定义的数值,SDK 返回指定角色的成员。
  2. 如果设置 filter 为群成员自定义标记,旗舰版支持拉取指定标记的成员列表(7.5 及以上版本支持)。标记群成员的设置请参考 markGroupMemberList API。

◆ getGroupMembersInfo()

abstract void getGroupMembersInfo ( String  groupID,
List< String >  memberList,
V2TIMValueCallback< List< V2TIMGroupMemberFullInfo >>  callback 
)
abstract

3.2 获取指定的群成员资料

◆ searchGroupMembers()

abstract void searchGroupMembers ( V2TIMGroupMemberSearchParam  param,
V2TIMValueCallback< HashMap< String, List< V2TIMGroupMemberFullInfo >>>  callback 
)
abstract

3.3 搜索群成员(5.4.666 及以上版本支持)

参数
param搜索参数
注意
该功能为 IM 旗舰版功能,购买旗舰版套餐包后可使用,详见价格说明

◆ setGroupMemberInfo()

abstract void setGroupMemberInfo ( String  groupID,
V2TIMGroupMemberFullInfo  info,
V2TIMCallback  callback 
)
abstract

3.4 修改指定的群成员资料

◆ muteGroupMember()

abstract void muteGroupMember ( String  groupID,
String  userID,
int  seconds,
V2TIMCallback  callback 
)
abstract

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

参数
seconds禁言时间长度,单位秒,表示调用该接口成功后多少秒内不允许被禁言用户再发言。

◆ muteAllGroupMembers()

abstract void muteAllGroupMembers ( String  groupID,
boolean  isMute,
V2TIMCallback  callback 
)
abstract

3.6 禁言全体群成员,只有管理员或群主能够调用(7.5 及以上版本支持)

参数
groupID群组 ID
isMutetrue 表示禁言,false 表示解除禁言
callback回调
注意
  • 禁言全体群成员没有时间限制,设置 isMute 为 false 则解除禁言。
  • 禁言或解除禁言后,会触发 V2TIMGroupListener 中的 onAllGroupMembersMuted 回调。
  • 群主和管理员可以禁言普通成员。普通成员不能操作禁言/解除禁言。

◆ inviteUserToGroup()

abstract void inviteUserToGroup ( String  groupID,
List< String >  userList,
V2TIMValueCallback< List< V2TIMGroupMemberOperationResult >>  callback 
)
abstract

3.7 邀请他人入群

注意
不同类型的群有如下限制:
  • 工作群(Work):群里的任何人都可以邀请其他人进群。
  • 会议群(Meeting)和公开群(Public):默认不允许邀请加入群,您可以修改群资料 V2TIMGroupInfo 的 groupApproveOpt 字段打开邀请入群方式。打开该选项之后,群里的任何人都可以邀请其他人进群。
  • 直播群(AVChatRoom):不支持此功能。
  • 后台限制单次邀请的群成员个数不能超过 20。

◆ kickGroupMember() [1/2]

abstract void kickGroupMember ( String  groupID,
List< String >  memberList,
String  reason,
int  duration,
V2TIMValueCallback< List< V2TIMGroupMemberOperationResult >>  callback 
)
abstract

3.8 踢人

参数
groupID群 id
memberList被踢用户的 userID 列表
reason被踢的原因
duration指定自被踢出群组开始算起,禁止被踢用户重新申请加群的时长,单位:秒
callback回调
注意
  • 从 7.2 版本开始,支持设置一个时长参数,用于指定用户从被踢出群组开始算起,禁止重新申请加群的时长;
  • 工作群(Work):只有群主或 APP 管理员可以踢人;
  • 公开群(Public)、会议群(Meeting):群主、管理员和 APP 管理员可以踢人;
  • 直播群(AVChatRoom):6.6 之前版本只支持禁言(muteGroupMember),不支持踢人。6.6 及以上版本支持禁言和踢人。需要您购买旗舰版套餐;
  • 该接口其他使用限制请查阅:https://cloud.tencent.com/document/product/269/75400#.E8.B8.A2.E4.BA.BA。

◆ setGroupMemberRole()

abstract void setGroupMemberRole ( String  groupID,
String  userID,
int  role,
V2TIMCallback  callback 
)
abstract

3.9 切换群成员的角色。

注意
不同类型的群有如下限制:
  • 工作群(Work)不支持设置群成员角色。
  • 只有群主才能对群成员进行普通成员和管理员之间的角色切换。
  • 转让群组请调用 transferGroupOwner 接口。
  • 会议群(Meeting)切换群成员角色之后,不会有 onGrantAdministrator 和 onRevokeAdministrator 通知回调。
  • 切换的角色支持普通群成员(V2TIMGroupMemberFullInfo.V2TIM_GROUP_MEMBER_ROLE_MEMBER)和管理员(V2TIMGroupMemberFullInfo.V2TIM_GROUP_MEMBER_ROLE_ADMIN)。

◆ markGroupMemberList()

abstract void markGroupMemberList ( String  groupID,
List< String >  memberIDList,
int  markType,
boolean  enableMark,
V2TIMCallback  callback 
)
abstract

3.10 标记群成员(需要您购买旗舰版套餐)

参数
groupID群 ID。
memberIDList群成员 ID 列表。
markType标记类型。数字类型,大于等于 1000,您可以自定义,一个群组里最多允许定义 10 个标记。
enableMarktrue 表示添加标记,false 表示移除标记。
注意
  • 直播群从 6.6 版本开始支持。
  • 社群从 7.5 版本开始支持。
  • 只有群主才有权限标记群组中其他人。

◆ transferGroupOwner()

abstract void transferGroupOwner ( String  groupID,
String  userID,
V2TIMCallback  callback 
)
abstract

3.11 转让群主

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

◆ kickGroupMember() [2/2]

abstract void kickGroupMember ( String  groupID,
List< String >  memberList,
String  reason,
V2TIMValueCallback< List< V2TIMGroupMemberOperationResult >>  callback 
)
abstract

3.12 踢人(直播群踢人从 6.6 版本开始支持,需要您购买旗舰版套餐)

注意
使用限制如下:
  • 待废弃接口,请使用 kickGroupMember(String, List<String>, String, int, V2TIMValueCallback) 接口;
  • 工作群(Work):只有群主或 APP 管理员可以踢人;
  • 公开群(Public)、会议群(Meeting):群主、管理员和 APP 管理员可以踢人;
  • 直播群(AVChatRoom):6.6 之前版本只支持禁言(muteGroupMember),不支持踢人。6.6 及以上版本支持禁言和踢人;
  • 该接口其他使用限制请查阅:https://cloud.tencent.com/document/product/269/75400#.E8.B8.A2.E4.BA.BA。

◆ getGroupApplicationList()

abstract void getGroupApplicationList ( V2TIMValueCallback< V2TIMGroupApplicationResult callback)
abstract

4.1 获取加群申请列表

注意
最多支持50个

◆ acceptGroupApplication()

abstract void acceptGroupApplication ( V2TIMGroupApplication  application,
String  reason,
V2TIMCallback  callback 
)
abstract

4.2 同意某一条加群申请

◆ refuseGroupApplication()

abstract void refuseGroupApplication ( V2TIMGroupApplication  application,
String  reason,
V2TIMCallback  callback 
)
abstract

4.3 拒绝某一条加群申请

◆ setGroupApplicationRead()

abstract void setGroupApplicationRead ( V2TIMCallback  callback)
abstract

4.4 标记申请列表为已读

◆ getJoinedCommunityList()

abstract void getJoinedCommunityList ( V2TIMValueCallback< List< V2TIMGroupInfo >>  callback)
abstract

5.1 获取当前用户已经加入的支持话题的社群列表

◆ createTopicInCommunity()

abstract void createTopicInCommunity ( String  groupID,
V2TIMTopicInfo  topicInfo,
V2TIMValueCallback< String >  callback 
)
abstract

5.2 创建话题

参数
groupID社群 ID,必须以 @TGS_ 开头。

◆ deleteTopicFromCommunity()

abstract void deleteTopicFromCommunity ( String  groupID,
List< String >  topicIDList,
V2TIMValueCallback< List< V2TIMTopicOperationResult >>  callback 
)
abstract

5.3 删除话题

◆ setTopicInfo()

abstract void setTopicInfo ( V2TIMTopicInfo  topicInfo,
V2TIMCallback  callback 
)
abstract

5.4 修改话题信息

◆ getTopicInfoList()

abstract void getTopicInfoList ( String  groupID,
List< String >  topicIDList,
V2TIMValueCallback< List< V2TIMTopicInfoResult >>  callback 
)
abstract

5.5 获取话题列表。

注意
: topicIDList 传空时,获取此社群下的所有话题列表