tencent cloud

即时通信 IM

动态与公告
产品动态
公告
产品简介
产品概述
基本概念
应用场景
功能介绍
账号系统
用户资料与关系链
消息管理
群组相关
公众号系统
音视频通话 Call
使用限制
购买指南
计费概述
价格说明
购买指引
续费指引
停服说明
退费说明
开发指引
Demo 专区
开通服务
体验 Demo
快速跑通
下载中心
SDK & Demo 源码
更新日志
聊天互动(含 UI)
TUIKit 组件介绍
快速开始
全功能接入
单功能接入
AI 集成
构建基础界面
更多特性
定义外观
国际化界面语言
推送服务(Push)
服务概述
名词解释
开通服务
快速跑通
厂商通道
数据统计
排查工具
客户端 API
服务端 API
推送回调
高级功能
更新日志
错误码
常见问题
智能客服
功能概述
快速入门
集成指引
管理员操作手册
客服操作手册
更多实践
直播间搭建
AI 聊天机器人方案
超大娱乐协作社群
Discord 实现指南
游戏内集成 Chat 指南
类 WhatsApp Channel 搭建方案
发送红包
Chat 应对防火墙限制相关
无 UI 集成
快速开始
集成 SDK
初始化
登录登出
消息相关
会话相关
群组相关
社群话题
用户管理
离线推送
云端搜索
本地搜索
公众号
客户端 API
JavaScript
Android
iOS & macOS
Swift
Flutter
Electron
Unity
React Native
C 接口
C++
服务端 API
生成 UserSig
REST API
第三方回调
控制台指南
新版控制台介绍
创建并升级应用
基本配置
功能配置
账号管理
群组管理
公众号管理
回调配置
用量统计
资源包查看指南
实时监控
开发辅助工具
访问管理
高级功能
常见问题
uni-app 常见问题
购买相关问题
SDK 相关问题
账号鉴权相关问题
用户资料与关系链相关问题
消息相关问题
群组相关问题
直播群相关问题
昵称头像相关问题
协议与认证
服务等级协议
安全合规认证
IM 政策
隐私政策
数据隐私和安全协议
平滑迁移方案
平滑迁移完整版
平滑迁移简化版
错误码
联系我们

Flutter

PDF
Focus Mode
Font Size
Last updated: 2025-05-23 11:26:33

功能描述

群成员管理指的是对成员进行列表拉取、禁言、踢人、授权、转让群主等操作。相关方法在核心类 TencentImSDKPlugin.v2TIMManager.getGroupManager() 中。

获取群成员列表

您可以调用 getGroupMemberList (点击查看详情) 获取指定群的群成员列表。该列表中包含了各个群成员的资料信息,例如用户ID(userID)、群名片(nameCard)、头像(faceUrl)、昵称(nickName)、进群时间(joinTime)等信息。
一个群中的成员人数可能很多(例如 5000+),群成员列表的拉取接口支持过滤器(filter)和分页拉取(nextSeq)两个高级特性。

过滤器(filter)

在调用 getGroupMemberList (点击查看详情) 接口时,您可以指定 filter 确定是否仅拉取特定角色的信息列表。
过滤器
过滤类型
GroupMemberFilterTypeEnum.V2TIM_GROUP_MEMBER_FILTER_ALL
拉取所有群成员的信息列表
GroupMemberFilterTypeEnum.V2TIM_GROUP_MEMBER_FILTER_OWNER
仅拉取群主的信息列表
GroupMemberFilterTypeEnum.V2TIM_GROUP_MEMBER_FILTER_ADMIN
仅拉取群管理员的信息列表
GroupMemberFilterTypeEnum.V2TIM_GROUP_MEMBER_FILTER_COMMON
仅拉取普通群成员的信息列表
示例代码如下:
// 通过 filter 参数指定只拉取群主的资料
groupManager.getGroupMemberList(count: 10,filter: GroupMemberFilterTypeEnum.V2TIM_GROUP_MEMBER_FILTER_ADMIN,nextSeq: '0',offset: 0,groupID: "",);

分页拉取(nextSeq)

很多情况下,用户界面上并不需要展示全部的群成员信息,只需展示群成员列表的第一页即可。等用户单击“下一页”或在列表页上拉刷新时,才需要拉取更多的群成员。针对此类场景,您可以使用分页拉取。
分页拉取的步骤为:
1. 首次调用 getGroupMemberList 时,指定参数 nextSeq 为 0(表示从头开始拉取会话列表),一次最多拉取 50 个群成员对象。
2. 首次拉取群成员列表成功后,getGroupMemberList 的回调结果 V2TIMGroupMemberInfoResult 中会包含 nextSeq(下次分页拉取的字段):
如果 nextSeq 等于 0,表示已经拉取了全部的群成员。
如果 nextSeq 大于 0,表示还有更多的群成员可以拉取。此时并不意味着要立刻开始拉取 “下一页” 的成员列表。在常见的通信软件中,分页拉取通常由用户的滑动操作触发的,用户通过上拉触发一次分页拉取。
3. 当用户继续上拉群成员列表时,如果还有更多的群成员可以拉取,可以继续调用 getGroupMemberList 接口,并传入新一轮的 nextSeq参数(nextSeq 数值来自上一次拉取返回的 V2TIMGroupMemberInfoResult 对象)。
4. 重复执行【步骤 3】直至 nextSeq 等于 0,拉取结束。
示例代码如下:
// 通过 filter 参数指定只拉取群主的资料
groupManager.getGroupMemberList(count: 10,filter: GroupMemberFilterTypeEnum.V2TIM_GROUP_MEMBER_FILTER_ADMIN,nextSeq: '0',offset: 0,groupID: "",);

禁言

禁言指定群成员

群主或管理员可以通过 muteGroupMember (点击查看详情) 禁言某一个群成员并设置禁言时间。禁言时间单位为秒,禁言信息存储于群成员的 muteUtil 属性字段中。
群成员被禁言后,全员(包括被禁言的群成员)都会收到 onMemberInfoChanged (点击查看详情) 事件回调。

禁言整个群

群主或管理员也可以通过 setGroupInfo (点击查看详情) 接口对整个群进行禁言,将 allMuted属性字段设置为 true 即可。全群禁言没有时间限制,需通过将群资料 setAllMuted(false) 解除禁言。
说明:
全员禁言后触发 onGroupInfoChanged (点击查看详情) 事件回调,该功能默认是关闭的,可在控制台内自行开通。
方式:Chat 控制台群组配置模块,选择群系统通知配置,为各种类型群,单击操作中编辑,修改“群禁言变更通知”,即可。
示例代码如下:
// 禁言群成员 userB 10分钟
groupManager.muteGroupMember(groupID: '',userID: 'userB',seconds: 10);

// 全员禁言
groupManager.setGroupInfo(info: V2TimGroupInfo(isAllMuted: true,groupID: '',groupType: 'Public'));

TencentImSDKPlugin.v2TIMManager.addGroupListener(listener: V2TimGroupListener(onMemberInfoChanged: (groupID, v2TIMGroupMemberChangeInfoList) {
//群成员信息更改
},
onGroupInfoChanged: (groupID,info){
// 群信息修改
}
));
说明:
只有群主能将管理员禁言。

踢人

群主或管理员调用 kickGroupMember (点击查看详情) 接口可以将指定的普通群成员踢出群组。
普通群成员被踢后,全员(包括被踢人)会收到 onMemberKicked (点击查看详情) 回调。
由于直播群(AVChatRoom)对进群没有限制,因此直播群(AVChatRoom)没有支持踢人的接口,您可以使用 muteGroupMember点击查看详情)禁言指定成员达到类似的成员管控的目的。
说明:
只有群主能将管理员踢出群组。
示例代码如下:
groupManager.kickGroupMember(groupID: '',memberList: []);

设置管理员

群主调用 setGroupMemberRole (点击查看详情) 可以对陌生人社交群(Public)或临时会议群(Meeting)中的群成员进行管理员授权。
普通成员被授权后,拥有跟管理员同样的权限,例如支持以下操作:
修改群组基本资料
将普通群成员踢出群
将普通群成员禁言(即禁止其在一段时间内发言)
审批其他用户的入群申请
更多详情可参考 群成员角色介绍
普通成员被授权为管理员后,全员(包括被设置的成员)会收到 onGrantAdministrator (点击查看详情) 回调。
普通成员被取消管理员授权后,全员(包括被设置的成员)会收到 onRevokeAdministrator (点击查看详情) 回调。
示例代码如下:
groupManager.setGroupMemberRole(groupID: '',userID: '',role: GroupMemberRoleTypeEnum.V2TIM_GROUP_MEMBER_ROLE_ADMIN);

// 监听角色更改
TencentImSDKPlugin.v2TIMManager.addGroupListener(listener: V2TimGroupListener(onMemberInfoChanged: (groupID, v2TIMGroupMemberChangeInfoList) {

},
onGroupInfoChanged: (groupID,info){

},
onGrantAdministrator: (String groupID, V2TimGroupMemberInfo info, List<V2TimGroupMemberInfo> infolist){},
onRevokeAdministrator: (String groupID, V2TimGroupMemberInfo info, List<V2TimGroupMemberInfo> infolist){},
));

转让群主

群主可以调用 transferGroupOwner 把群主转让给其他群成员。
群主转让后,全员会收到 onGroupInfoChanged 回调,其中 V2TIMGroupChangeInfo 的 type 为 V2TIMGroupChangeInfo.V2TIM_GROUP_INFO_CHANGE_TYPE_OWNER,value 值为新群主的 UserID。
示例代码如下:
groupManager.transferGroupOwner(groupID: "", userID: "userID");

获取群在线人数

调用 getGroupOnlineMemberCount (点击查看详情) 可以获取群在线人数。
说明:
SDK 7.3 以前的版本仅支持直播群( AVChatRoom)。
SDK 7.3 及以后的版本支持所有群类型。
代码示例如下:
groupManager.getGroupOnlineMemberCount(groupID: '');


Help and Support

Was this page helpful?

Help us improve! Rate your documentation experience in 5 mins.

Feedback