Android

群组介绍

更新时间: 2024/05/24 17:26:39

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

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

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

群组功能列表

高级群的详细功能如下:

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

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

群组对象

  • 群组的函数参见 Team

Team 函数说明如下:

返回值类型 Team 函数 说明
String getAnnouncement() 获取群组公告
long getCreateTime() 获取群组的创建时间
String getCreator() 获取创建群组的用户帐号
String getExtension() 获取群组扩展配置
String getExtServer() 获取服务器设置的扩展配置
String getIcon() 获取群头像
String getId() 获取群组ID
String getIntroduce() 获取群组简介
int getMemberCount() 获取群组的总成员数
int getMemberLimit() 获取群组的成员人数上限
TeamMessageNotifyTypeEnum getMessageNotifyType() 获取群消息免打扰模式
TeamAllMuteModeEnum getMuteMode() 获取群禁言模式
String getName() 获取群组名称
TeamBeInviteModeEnum getTeamBeInviteMode() 获取群被邀请模式:入群是否需要被邀请人的同意
TeamExtensionUpdateModeEnum getTeamExtensionUpdateMode() 获取群信息扩展字段修改模式:谁可以修改群自定义属性(扩展字段)
TeamInviteModeEnum getTeamInviteMode() 获取群邀请模式:谁可以邀请他人入群
TeamUpdateModeEnum getTeamUpdateMode() 获取群信息修改模式:谁可以修改群信息
TeamTypeEnum getType() 获取群组类型,Advanced 为高级群
VerifyTypeEnum getVerifyType() 获取申请加入群组时的验证类型:是否需要群主或管理员的同意
boolean isAllMute() 是否群全员禁言
boolean isMyTeam() 获取自己是否在这个群里
void setExtension(extension) 设置群组扩展配置

TeamMember 函数说明如下:

返回值类型 TeamMember 函数 说明
String getTid() 获取所在群ID
String getAccount() 群组成员账号
boolean isMute() 是否被禁言
boolean isInTeam() 该用户是否在此群中
TeamMemberType getType() 群成员类型
long getJoinTime() 获取群成员入群时间
String getTeamNick() 获取该用户在此群中的群昵称
String getInvitorAccid() 获取入群邀请人,为空表示主动加入群组
Object getExtension() 获取扩展字段

群组 API 概述

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

常见问题

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