管理标签信息数据
SDK 从 5.6.11 版本开始支持创建标签。
本文描述 App 如何使用 RCIMIWEngine
下的接口创建和管理标签信息数据。客户端 SDK 支持用户创建标签信息(RCIMIWTagInfo),用于对会话进行标记分组。每个用户最多可以创建 20 个标签。App 用户创建的标签信息数据会同步到融云服务端。
标签信息(RCIMIWTagInfo)的定义如下:
参数 | 类型 | 说明 |
---|---|---|
tagId | NSString | 标签唯一标识,字符型,长度不超过 10 个字。 |
tagName | NSString | 长度不超过 15 个字,标签名称可以重复。 |
timestamp | long long | 时间戳由 SDK 内部协议栈提供。 |
注意
本文仅描述如何管理标签信息数据。关于如何为会话设置标签、以及如何按标签获取会话数据,请参见设置与使用会话标签。
创建标签信息
创建标签,每个用户最多可以创建 20 个标签。
方法
Future<int> createTag(String tagId, String tagName, {IRCIMIWCreateTagCallback? callback});
参数说明
参数名 | 参数类型 | 描述 |
---|---|---|
tagId | String | 标签唯一标识,字符型 ,长度不超过 10 个字。 |
tagName | String | 长度不超过 15 个字,标签名称可以重复。 |
callback | IRCIMIWCreateTagCallback | 事件回调。 |
返回值
返回值 | 描述 |
---|---|
Future<int> | 当次接口操作的状态码。0 代表调用成功,具体结果需要实现接口回调;非 0 代表当前接口调用操作失败,不会触发接口回调。详细错误参考错误码。 |
代码示例
IRCIMIWCreateTagCallback? callback = IRCIMIWCreateTagCallback(onTagCreated: (int? code) {
//...
});
int? ret = await engine?.createTag(tagId, tagName, callback:callback);
移除标签信息
移除标签。移除标签信息时只需要传入 RCIMIWTagInfo 中的 tagId
。
方法
Future<int> removeTag(String tagId, {IRCIMIWRemoveTagCallback? callback});
参数说明
参数名 | 参数类型 | 描述 |
---|---|---|
tagId | String | 标签唯一标识,字符型,长度不超过 10 个字。 |
callback | IRCIMIWRemoveTagCallback | 事件回调。 |
返回值
返回值 | 描述 |
---|---|
Future<int> | 当次接口操作的状态码。0 代表调用成功,具体结果需要实现接口回调;非 0 代表当前接口调用操作失败,不会触发接口回调。详细错误参考错误码。 |
代码示例
IRCIMIWRemoveTagCallback? callback = IRCIMIWRemoveTagCallback(onTagRemoved: (int? code) {
//...
});
int? ret = await engine?.removeTag(tagId, callback:callback);
编辑标签信息
更新标签信息。仅支持修改 RCIMIWTagInfo 中的标签名称(tagName
)字段。长度不超过 15 个字,标签名称可以重复。
方法
Future<int> updateTagNameById(String tagId, String newName, {IRCIMIWUpdateTagNameByIdCallback? callback});
参数说明
参数名 | 参数类型 | 描述 |
---|---|---|
tagId | String | 标签唯一标识,字符型,长度不超过 10 个字。 |
newName | String | 长度不超过 15 个字,标签名称可以重复。 |
callback | IRCIMIWUpdateTagNameByIdCallback | 事件回调。 |
返回值
返回值 | 描述 |
---|---|
Future<int> | 当次接口操作的状态码。0 代表调用成功,具体结果需要实现接口回调;非 0 代表当前接口调用操作失败,不会触发接口回调。详细错误参考错误码。 |
代码示例
IRCIMIWUpdateTagNameByIdCallback? callback = IRCIMIWUpdateTagNameByIdCallback(onTagNameByIdUpdated: (int? code) {
//...
});
int? ret = await engine?.updateTagNameById(tagId, newName, callback:callback);