Flutter

群组概述

更新时间: 2024/05/27 14:26:37

网易云信 NIM SDK 提供普通群和高级群形式的群聊功能。

目前普通群功能已废弃,SDK 不支持创建和使用普通群,仅支持高级群形式的群聊功能。群组功能中涉及的群组概念皆指高级群。

高级群拥有完善的成员权限体系及管理功能,群内所有用户根据权限分为群主、管理员、以及群成员。

兼容限制

Web 暂不支持高级群相关功能。

群组功能

高级群的详细功能如下:

功能 说明
群容量 IM 各套餐包下的阈值不同,支持在一定范围内进行扩展
创建群 创建高级群,建群数量 100 群/人(免费版 50 群/人),最大可扩展至 5000 群/人(请联系商务经理或技术支持开通增值功能)
已解散的群组不占用数量
群信息属性 群名,群头像,群简介,群公告,群扩展字段,
申请加入群组的验证模式,群邀请模式,群被邀请模式,
群信息修改模式,群信息扩展字段修改模式,群组全员禁言模式
邀请入群 支持配置:仅群主和管理员可邀请 、 所有人可邀请
被邀请人同意模式 支持配置: 需要被邀请人同意、不需要被邀请人同意
申请入群 支持,加群数量 5000 群/人
入群验证 支持配置:需要群主或管理员同意、不需要群主或管理员同意、不允许任何人加入
群成员类型 群主、管理员、普通成员
管理员设置 群主可以增减管理员
群组信息修改权限 支持配置:仅群主和管理员可修改、所有人可修改
修改群成员昵称 仅限群主可以修改群成员的群昵称
修改自己的群昵称 支持
消息类型支持 同基础消息类型
消息提醒 接收提醒、只接收群主和管理员消息提醒、不接收提醒
历史消息 支持本地历史消息和云端历史消息。
根据版本的不同可获取到最近的云端历史消息,支持扩展时间至应用服务有效期内。
离线消息 每个群聊会话最多下发 100 条离线消息
消息漫游 自动漫游7天内、每个会话最近的 100 条消息
指定成员强制推送 支持
踢人 群主和管理员可以踢人,且管理员不能踢群主和其他管理员
主动退群 除群主外,其他用户均可以主动退群
群主需先将群转让给其他群成员才可以进行退群操作
禁言 群主可对群成员进行禁言、解除禁言
群全员禁言模式支持配置:包含群主和管理员禁言、只禁言普通成员
转让群 群主可以将群的拥有者权限转给群内的其他成员,转移后,
被转让者变为新的群主,原群主变为普通成员
群主还可以选择在转让的同时,直接退出该群
解散群 群主可以解散群
群消息已读回执 查看某一条群消息已读未读详情(增值功能)
目前支持实际群人数 200 人以内的高级群,最大可扩展至 500 人(请至云信控制台配置)。若实际群人数超过 200 人,则消息可以正常发出,但不具备已读回执功能,无法查看消息的已读未读信息。

以上增值功能收费请参见:资费说明

群组对象

Team 属性说明如下:

返回值类型 Team 属性 说明
String? announcement 获取群组公告
num createTime 获取群组的创建时间
String? creator 获取创建群组的用户帐号
String? extension 获取群组扩展配置
String? extServer 获取服务器设置的扩展配置
String? icon 获取群头像
String? id 获取群组 ID
String? introduce 获取群组简介
int memberCount 获取群组的总成员数
int memberLimit 获取群组的成员人数上限
NIMTeamMessageNotifyTypeEnum messageNotifyType 获取群消息免打扰模式 (windows 和 macOS 暂不支持)
NIMTeamAllMuteModeEnum muteMode 获取群禁言模式
String? name 获取群组名称
NIMTeamBeInviteModeEnum teamBeInviteModeEnum 获取群被邀请模式:是否需要被邀请人的同意
NIMTeamExtensionUpdateModeEnum teamExtensionUpdateMode 获取群信息扩展字段修改模式:谁可以修改群自定义属性(扩展字段)
NIMTeamInviteModeEnum teamInviteMode 获取群邀请模式:谁可以邀请他人入群
NIMTeamUpdateModeEnum teamUpdateMode 获取群信息修改模式:谁可以修改群信息
NIMTeamTypeEnum type 获取群组类型,advanced 为高级群
NIMVerifyTypeEnum verifyType 获取申请加入群组时的验证类型:是否需要群主或管理员的同意
bool? isAllMute 是否群全员禁言
bool? isMyTeam 获取自己是否在这个群里 (windows 和 macOS 暂不支持)
String? extension 设置群组扩展配置

TeamMember 属性说明如下:

返回值类型 TeamMember 属性 说明
String? account 群组成员帐号
Map<String, dynamic>? extension 获取扩展字段
String? invitorAccid 获取入群邀请人,为空表示主动加入群
int joinTime 获取群成员入群时间
String? teamNick 获取该用户在此群内的群昵称
String? id 获取所在群 ID
TeamMemberType type 群成员类型
bool? isInTeam 该用户是否在此群中
bool? isMute 是否被禁言

群组 API 概述

SDK 的 TeamService 提供群组操作相关接口以及群组相关观察者通知接口。

常见问题

  • 每个高级群的人数上限默认为 200 人,可在控制台自行升级扩展,或者联系商务经理。对于升级扩展前创建的群,人数上限仍然是 200,如需更改高级群支持的人数上限,可以自行调用编辑群信息 API 修改群人数上限。
  • 如果「单次邀请进群人数」大于「群最高人数」减去「群内已有人数」时,会返回错误码 801,该次邀请的账号全都无法入群。
此文档是否对你有帮助?
有帮助
去反馈
  • 兼容限制
  • 群组功能
  • 群组对象
  • 群组 API 概述
  • 常见问题