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