有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

群组类型介绍

  • 好友工作群(Work):类似普通微信群,创建后仅支持已在群内的好友邀请加群,且无需被邀请方同意或群主审批,同旧版本中的 Private。
  • 陌生人社交群(Public):类似 QQ 群,创建后群主可以指定群管理员,用户搜索群 ID 发起加群申请后,需要群主或管理员审批通过才能入群。
  • 临时会议群(Meeting):创建后可以随意进出,且支持查看入群前消息;适合用于音视频会议场景、在线教育场景等与实时音视频产品结合的场景,同旧版本中的 ChatRoom。
  • 社群(Community):创建后可以随意进出,适合用于知识分享和游戏交流等超大社区群聊场景。
  • 直播群(AVChatRoom):创建后可以随意进出,没有群成员数量上限,但不支持历史消息存储;适合与直播产品结合,用于弹幕聊天场景。

每种群类型的功能特性及限制如下表所示:

功能项 好友工作群(Work) 陌生人社交群(Public) 临时会议群(Meeting) 社群(Community) 直播群(AVChatRoom)
可用群成员角色 群主、普通成员 群主、管理员、普通成员 群主、管理员、普通成员 群主、管理员、普通成员 群主、普通成员
是否支持申请加群 不支持 支持,但需要群主或管理员审批 支持,且无需审批 支持,且无需审批 支持,且无需审批
是否支持成员邀请他人加群 支持 不支持 不支持 支持 不支持
是否支持群主退群 支持 不支持 不支持 不支持 不支持
群组资料修改权限 任意群成员均可修改 群主和管理员 群主和管理员 群主和管理员 群主
“踢人”权限 群主可踢人 群主和管理员可踢人,但管理员仅支持踢普通群成员 不支持踢人,可用“禁言”功能达到类似效果
“禁言”权限 不支持禁言 群主和管理员可禁言, 但管理员仅支持禁言普通群成员 群主可禁言
是否支持未读消息计数 支持 支持 不支持 支持 不支持
是否支持云端历史消息存储
  • 体验版:7天
  • 专业版 :默认7天,最高支持 增值 延长至360天
  • 旗舰版 :默认30天,最高支持 增值 延长至360天
不支持
是否支持查看入群前漫游消息 默认关闭查看入群前漫游消息,支持 控制台 配置 默认关闭查看入群前漫游消息,支持 控制台 配置 默认开启查看入群前漫游消息,支持 控制台 配置 默认开启查看入群前漫游消息,支持 控制台 配置 不支持
群成员变更通知 邀请进群,申请进群,踢人,退群默认下发通知且存漫游,支持 控制台 配置 邀请进群,申请进群,踢人,退群默认下发通知且存漫游,支持 控制台 配置 邀请进群,申请进群,踢人,退群默认关闭通知,支持 控制台 配置 邀请进群,申请进群,踢人,退群默认下发通知且存漫游,支持 控制台 配置 邀请进群,申请进群,踢人,退群下发通知且不存漫游
群资料变更通知 群名称,群通知,群简介,群头像,群主变更默认下发通知且存漫游,群禁言,申请加群方式变更默认关闭通知,支持 控制台 配置 群名称,群通知,群简介,群头像,群主变更默认下发通知且存漫游,群禁言,申请加群方式变更默认关闭通知,支持 控制台 配置 群名称,群通知,群简介,群头像,群主变更默认下发通知且存漫游,群禁言,申请加群方式变更默认关闭通知,支持 控制台 配置 群名称,群通知,群简介,群头像,群主变更默认下发通知且存漫游,群禁言变更默认关闭通知,支持 控制台 配置。社群申请加群方式不支持修改,因此无通知 群名称,群通知,群简介,群头像,群主变更下发通知且不存漫游,群禁言,申请加群方式变更关闭通知
群成员资料变更通知 群成员禁言,群管理员变更默认下发通知且存漫游,支持 控制台 配置 群成员禁言,群管理员变更默认下发通知且存漫游,支持 控制台 配置 群成员禁言,群管理员变更默认关闭通知,支持 控制台 配置 群成员禁言,群管理员变更默认下发通知且存漫游,支持 控制台 配置 群成员禁言,群管理员变更默认关闭通知,支持 控制台 配置
群组数量
  • 体验版:最多同时存在100个,已解散的群组不计数
  • 专业版或旗舰版:无上限
  • 体验版和专业版:不支持
  • 旗舰版:10万个
  • 体验版:最多同时存在10个,已解散的群组不计数
  • 专业版:最多同时存在50个,已解散的群组不计数;
    支持 增值 扩展直播群创建数至无上限
  • 旗舰版:无上限
群成员数量
  • 体验版:20人/群
  • 专业版 :默认为200人/群,最高支持 增值 扩展至2000人/群
  • 旗舰版 :默认为2000人/群,最高支持 增值 扩展至6000人/群
10万人 群成员人数无上限
说明:

  • 新版 SDK 已全面升级群组类型。新群组类型有好友工作群(Work)陌生人社交群(Public)临时会议群(Meeting)、社群(Community)和直播群(AVChatRoom)五个群组类型。旧版群组类型(Public、Private、ChatRoom、AVChatRoom)中的 Private 类型对应新群组类型 Work(好友工作群),ChatRoom 类型对应新群组类型 Meeting(临时会议群)。
  • 专业版或旗舰版 SDKAppID 下,所有群类型日净增群组数上限为1万个。免费峰值群组数为10万个/月,超出免费量将产生 套餐外超量费用
  • 社群(Community)功能仅SDK5.8.1668增强版及以上版本支持,需购买旗舰版套餐包并 申请开通 后方可使用。

创建群组

如果您想在创建群组的同时初始化群的信息,例如群简介、群头像、以及最初的几个群成员等,可以调用 GroupCreate 接口实现。参数请参见 CreateGroupParam

TencentIMSDK.GroupCreate(CreateGroupParam,(int code, string desc, string json_param, string user_data)=>{

})

加入群组

不同类型的群,加群的方法不同,下面根据加群流程从简单到复杂进行逐一介绍:

类型 好友工作群(Work) 陌生人社交群(Public) 临时会议群(Meeting) 社群(Community) 直播群(AVChatRoom)
加群方法 必须由其他群成员邀请 用户申请,群主或管理员审批 用户可随意加入 用户可随意加入 用户可随意加入

场景一:用户可以自由进出群

临时会议群(Meeting)和直播群(AVChatRoom)主要用于满足成员进进出出的交互场景,例如在线会议,秀场直播等。因此,这两种类型群的入群流程最为简单。

用户调用 GroupJoin 即可加入该群,加群成功后,全体群成员(包括加群者)都会收到 GroupTipsEventCallback 回调。

场景二:需被邀请才能进入群

好友工作群(Work)类似微信群和企业微信群,适用于工作交流,在交互设计上限制用户主动加入,只能由现有的群成员邀请才能加群。

现有的群成员调用 GroupInviteMember 邀请另一个用户入群,全体群成员(包括邀请者自己)会收到 GroupTipsEventCallback 回调。

场景三:需要审批才能进入群

陌生人社交群(Public)类似 QQ 中的各种兴趣群和部落区,任何人都可以申请入群,但需要经过群主或管理员审批才能真正入群。陌生人社交群默认需要群主或管理员进行审批才能加群的,但群主或管理员也可以通过GroupModifyGroupInfo接口调整加群选项(TIMGroupAddOption),可以设置为更严格的“禁止任何人加群”,也可以设置为更宽松的“放开审批流程”。

  • kTIMGroupAddOpt_Forbid :禁止任何人加群。
  • kTIMGroupAddOpt_Auth :需要群主或管理员审批才能加入(默认值)。
  • kTIMGroupAddOpt_Any :取消审批流程,任何用户都可以加入。

退出群组

调用 GroupQuit 可以退出群组,群内成员可收到 GroupTipsEventCallback

注意:

对于陌生人社交群(Public)、临时会议群(Meeting)、社群(Community)和直播群(AVChatRoom),群主不可以退群的,群主只能解散群组。

解散群组

调用 GroupDelete 可以解散群组,全员会收到 GroupTipsEventCallback 回调。

注意:

  • 对于陌生人社交群(Public)、临时会议群(Meeting)、社群(Community)和直播群(AVChatRoom),群主随时可以解散群。
  • 好友工作群(Work)的解散最为严格,即使群主也不能随意解散,只能由您的业务服务器调用 解散群组 REST API 解散。

获取即加入的群组

调用 GroupGetJoinedGroupList 可以获取已加入的好友工作群(Work)、陌生人社交群(Public)、临时会议群(Meeting)、社群(Community)列表,但直播群(AVChatRoom)不包含在此列表中。

群资料和群设置

获取群资料

调用 GroupGetGroupInfoList 可以获取群资料,该接口支持批量获取。您可以一次传入多个 groupID 获取多个群的群资料。

修改群资料

调用 GroupModifyGroupInfo 可以修改群资料。群资料被修改后,全员会收到 GroupTipsEventCallback 回调。

说明:

  • 好友工作群(Work)所有群成员都可以修改群基础资料。
  • 陌生人社交群(Public)、临时会议群(Meeting)、社群(Community)只有群主或管理员可以修改群基础资料。
  • 直播群(AVChatRoom)只有群主可以修改群基础资料。

设置群消息的接收选项

任何群成员都可以调用 MsgSetGroupReceiveMessageOpt 接口修改群消息接收选项。群消息接收选项包括:

  • TIMReceiveMessageOpt.kTIMRecvMsgOpt_Receive:在线正常接收消息,离线时会有厂商的离线推送通知。
  • TIMReceiveMessageOpt.kTIMRecvMsgOpt_Not_Receive:不会接收到群消息。
  • TIMReceiveMessageOpt.kTIMRecvMsgOpt_Not_Notify:在线正常接收消息,离线不会有推送通知。

常见问题

1. 直播群(AVChatRoom)中途掉线又连接上后,能否继续接收消息?

可以继续接收消息,但是直播群(AVChatRoom)中的消息不支持云端存储,因此无法拉取到掉线期间的消息。

2. 为什么群成员进群和退群收不到通知?

  • 请确保已在 即时通信 IM 控制台 “群系- 统通知配置”中,配置群成员变更通知为“下发通知”。
  • 群消息限制40条/秒,会优先保证高优先级消息的收发,超过限制后会优先丢弃低优先级的消息。

3. 为什么会议群(Meeting) 中的未读数一直为零?

临时会议群(Meeting)和直播群(AVChatRoom)分别配合会议和直播的音视频场景,因此这两类群组均不支持未读消息计数。