一、功能描述
基于 API 2.0 我们设计了全新的群自定义字段,我们称之为 "群属性"。基于群属性,我们可以做语聊房的麦位管理。当有人上麦的时候,可以设置一个群属性管理上麦人信息。当有人下麦的时候,可以删除对应群属性。其他成员可以通过获取群属性列表来展示麦位列表。
注意:目前群属性功能仅支持直播群(AVChatRoom)。
群属性功能特性有:
1. 不再需要控制台配置,客户端可以直接增删改查群属性。
2. 最多支持 16 个群属性,每个群属性的大小最大支持 4k,所有群属性的大小最大支持 16k。
3. GroupInitGroupAttributes、setGroupAttributes、GroupDeleteGroupAttributes 接口合并计算,SDK 限制为单个登录用户 5 秒 10 次,超过后回调 8511 错误码;后台限制单个登录用户 1 秒 5 次,超过后返回 10049 错误码。
4. GroupGetGroupAttributes 接口 SDK 限制为单个登录用户 5 秒 20 次。
二、初始化群属性
调用 GroupInitGroupAttributes (点击查看详情) 接口可以初始化群属性。如果该群之前有群属性,会先清空原来的群属性。
示例代码如下:
// 初始化群属性GroupAttributes attributes = new GroupAttributes{ group_atrribute_key = "key", group_atrribute_value = "value"};TIMResult res = TencentIMSDK.GroupInitGroupAttributes(group_id, attributes, (int code, string desc, string user_data)=>{ // 处理异步逻辑});
三、删除群属性
调用 GroupDeleteGroupAttributes (点击查看详情) 接口可以删除指定群属性,如果 keys 字段填 null 则会清空所有的群属性。
示例代码如下:
// 删除群属性GroupAttributes attributes = new List<string>{ "attr1"};TIMResult res = TencentIMSDK.GroupDeleteGroupAttributes(group_id, attributes, (int code, string desc, string user_data)=>{ // 处理异步逻辑});
四、获取群属性
调用 GroupGetGroupAttributes (点击查看详情) 接口可以获取指定群属性,如果 keys 字段填 null 则会获取所有的群属性。
示例代码如下:
// 获取群属性GroupAttributes attributes = new List<string>{ "attr1"};TIMResult res = TencentIMSDK.GroupGetGroupAttributes(group_id, attributes, (int code, string desc, List<GroupAttributes> attributes, string user_data)=>{ // 处理异步逻辑});
五、群属性更新
如果你事先调用 SetGroupAttributeChangedCallback 添加了群组事件监听器,群属性有任何的更新变化,都会通过 GroupAttributeChangedCallback (点击查看详情) 回调出来所有的群属性字段。
示例代码如下:
TencentIMSDK.SetGroupAttributeChangedCallback((string group_id, List<GroupAttributes> group_attributes, string user_data)=>{ // 处理回调逻辑});