即时通信 IM Flutter(群自定义属性)

群属性相关方法在核心类 TencentImSDKPlugin.v2TIMManager.getGroupManager()中。基于 API 2.0 我们设计了全新的群自定义字段,我们称之为 “群属性”。基于群属性,我们可以做语聊房的麦位管理。当有人上麦的时候,可以设置一个群属性管理上麦人信息。当有人下麦的时候,可以删除对应群属性。其他成员可以通过获取群属性列表来展示麦位列表。

相关产品
即时通信 IM 产品页,含版本规格、价格与购买入口。

一、功能描述

注意:目前群属性功能仅支持直播群(AVChatRoom)。

群属性功能特性有:

1. 不再需要控制台配置,客户端可以直接增删改查群属性。

2. 最多支持 16 个群属性,每个群属性的大小最大支持 4k,所有群属性的大小最大支持 16k。

3. initGroupAttributes、setGroupAttributes、deleteGroupAttributes 接口合并计算,SDK 限制为单个登录用户 5 秒 10 次,超过后回调 8511 错误码;后台限制单个登录用户 1 秒 5 次,超过后返回 10049 错误码。

4. getGroupAttributes 接口 SDK 限制为单个登录用户 5 秒 20 次。

二、初始化群属性

调用 initGroupAttributes (点击查看详情) 接口可以初始化群属性。如果该群之前有群属性,会先清空原来的群属性。

示例代码如下:

// 初始化群属性groupManager.initGroupAttributes(groupID: "groupID", attributes: { "attr1":"" });

三、设置群属性

调用 setGroupAttributes (点击查看详情) 接口可以设置群属性。如果设置的群属性不存在,会自动添加该群属性。

示例代码如下:

// 设置群属性groupManager.setGroupAttributes(groupID: "groupID", attributes: { "attr1":"" });

四、删除群属性

调用 deleteGroupAttributes (点击查看详情) 接口可以删除指定群属性,如果 keys 字段填 null/nil ,则会清空所有的群属性。

示例代码如下:

// 删除群属性groupManager.deleteGroupAttributes(groupID: "groupID", keys: ['attr1','attr2']);

五、获取群属性

调用 getGroupAttributes (点击查看详情) 接口可以获取指定群属性,如果 keys 字段填 null/nil ,则会获取所有的群属性。

示例代码如下:

// 获取群属性V2TimValueCallback<Map<String, String>> attrs = await groupManager.getGroupAttributes(groupID: "groupID");

六、群属性更新

如果你事先调用 addGroupListener 添加了群组事件监听器,群属性有任何的更新变化,都会通过 onGroupAttributeChanged (点击查看详情) 回调出来所有的群属性字段。

示例代码如下:

TencentImSDKPlugin.v2TIMManager.addGroupListener(listener: V2TimGroupListener(onGroupAttributeChanged: (groupID, groupAttributeMap) { // 群属性变更 },));

赞 (0)
上一篇 4天前
下一篇 4天前