• UIKit
  • SDK
  • 服务端 API
Chat/
SDK/
Flutter/
群组/
SDK
  • 安装即时通信 IM SDK
    • 安装
  • 初始化即时通信 IM SDK
    • 初始化
  • 登录和注销
    • 登录和注销
  • 消息
    • 消息概述
    • 发送消息
    • 接收消息
    • 历史消息
    • 转发消息
    • 修改消息
    • 消息插入
    • 删除消息
    • 清空消息
    • 撤回消息
    • 在线消息
    • 已读回执
    • 查询消息
    • 群 @ 消息
    • 定向群消息
    • 通知免打扰
    • 消息扩展
  • 会话
    • 会话概述
    • 会话列表
    • 获取会话
    • 未读会话数
    • 置顶会话
    • 删除会话
    • 会话草稿
    • 会话组
  • 群组
    • 群组概述
    • 群组管理
    • 群资料
    • 群成员管理
    • 群成员资料
    • 自定义群属性
  • 用户
    • 用户资料
    • 好友管理
    • 好友列表
    • 黑名单
  • 离线推送
    • 离线推送
  • 信令
    • 信令管理
  • 局部搜索
    • 查找消息
    • 查找好友
    • 查找群组
    • 查找群成员
  • 接口参考文档
    • 客户接口
  • 开发指引
  • 控制台指南
    • 创建和升级应用
    • 基本配置
    • 功能配置
    • 账号管理
    • 群组管理
    • 回调配置
  • 产品介绍
    • 消息管理
      • 单聊消息
      • 消息存储
      • 离线推送
      • 群消息
      • 消息格式
    • 账号系统
      • 登陆验证
      • 在线状态管理
    • 群相关
      • 群组系统
      • 群组管理
    • 用户资料和关系链
      • 资料管理
      • 关系链管理
  • 购买指南
    • 计费概述
    • 价格中心
  • 错误码

自定义群属性

功能描述

群属性相关方法在核心类 TencentImSDKPlugin.v2TIMManager.getGroupManager()中。
基于 API 2.0 我们设计了全新的群自定义字段,我们称之为 "群属性"。基于群属性,我们可以做语聊房的麦位管理。当有人上麦的时候,可以设置一个群属性管理上麦人信息。当有人下麦的时候,可以删除对应群属性。其他成员可以通过获取群属性列表来展示麦位列表。
说明:
目前群属性功能仅支持直播群(AVChatRoom)。
群属性功能特性有:
1. 不再需要控制台配置,客户端可以直接增删改查群属性。
2. 最多支持 16 个群属性,每个群属性的大小最大支持 4k,所有群属性的大小最大支持 16k。
3. initGroupAttributessetGroupAttributesdeleteGroupAttributes 接口合并计算,SDK 限制为单个登录用户 5 秒 10 次,超过后回调 8511 错误码;后台限制单个登录用户 1 秒 5 次,超过后返回 10049 错误码。
4. getGroupAttributes 接口 SDK 限制为单个登录用户 5 秒 20 次。

初始化群属性

调用 initGroupAttributes (Details) 接口可以初始化群属性。如果该群之前有群属性,会先清空原来的群属性。
示例代码如下:
// 初始化群属性
groupManager.initGroupAttributes(groupID: "groupID", attributes: {
"attr1":""
});

设置群属性

调用 setGroupAttributes (Details) 接口可以设置群属性。如果设置的群属性不存在,会自动添加该群属性。
示例代码如下:
// 设置群属性
groupManager.setGroupAttributes(groupID: "groupID", attributes: {
"attr1":""
});

删除群属性

调用 deleteGroupAttributes (Details) 接口可以删除指定群属性,如果 keys 字段填 null/nil ,则会清空所有的群属性。
示例代码如下:
// 删除群属性
groupManager.deleteGroupAttributes(groupID: "groupID", keys: ['attr1','attr2']);

获取群属性

调用 getGroupAttributes (Details) 接口可以获取指定群属性,如果 keys 字段填 null/nil ,则会获取所有的群属性。
示例代码如下:
// 获取群属性
V2TimValueCallback<Map<String, String>> attrs = await groupManager.getGroupAttributes(groupID: "groupID");

群属性更新

如果您事先调用 addGroupListener 添加了群组事件监听器,群属性有任何的更新变化,都会通过 onGroupAttributeChanged (Details) 回调出来所有的群属性字段。
示例代码如下:
TencentImSDKPlugin.v2TIMManager.addGroupListener(listener: V2TimGroupListener(onGroupAttributeChanged: (groupID, groupAttributeMap) {
// 群属性变更
},));