管理标签信息数据
SDK 从 5.1.1 版本开始支持创建标签。
本文描述如何 App 如何使用 RongCoreClient 下的接口创建和管理标签信息数据。客户端 SDK 支持用户创建标签信息(TagInfo),用于对会话进行标记分组。每个用户最多可以创建 20 个标签。App 用户创建的标签信息数据会同步融云服务端。
标签信息(TagInfo)的定义如下:
参数 | 类型 | 说明 |
---|---|---|
tagId | String | 标签唯一标识,字符型,长度不超过 10 个字。 |
tagName | String | 长度不超过 15 个字,标签名称可以重复。 |
count | int | 匹配的会话个数。 |
timestamp | long | 时间戳由 SDK 内部协议栈提供。 |
提示
本文仅描述如何管理标签信息数据。关于如何为会话设置标签、以及如何按标签获取会话数据,请参见设置与使用会话标签。
创建标签信息
创建标签,每个用户最多可以创建 20 个标签。
RongCoreClient.getInstance().addTag(tagInfo, new IRongCoreCallback.OperationCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(IRongCoreEnum.CoreErrorCode coreErrorCode) {
}
});
移除标签信息
移除标签。移除标签信息时只需要传入 TagInfo 中的 tagId
。
RongCoreClient.getInstance().removeTag(tagId, new IRongCoreCallback.OperationCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(IRongCoreEnum.CoreErrorCode coreErrorCode) {
}
});
编辑标签信息
更新标签信息。您可以修改 TagInfo 中的标签名称(tagName
)字段。
RongCoreClient.getInstance().updateTag(tagInfo, new IRongCoreCallback.OperationCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(IRongCoreEnum.CoreErrorCode coreErrorCode) {
}
});
获取标签信息列表
获取当前用户已创建的标签信息。成功回调中会返回 TagInfo 列表。
RongCoreClient.getInstance().getTags(new IRongCoreCallback.ResultCallback<List<TagInfo>>() {
/**
* 成功时回调
* @param messages 获取的消息列表
*/
@Override
public void onSuccess(List<TagInfo> tagInfos) {
}
@Override
public void onError(IRongCoreEnum.CoreErrorCode coreErrorCode) {
}
});
多端同步标签信息修改
即时通讯支持同一用户账号在多端登录。如果您的 App 用户在当前设备上修改了标签信息,SDK 会负责通知该用户的其他设备。其他设备收到通知后,需要调用 getTags
从融云服务端获取最新标签信息。
设置标签信息更改监听器 IRongCoreListener.TagListener 后可在当前设备上接收到来自其他设备的标签信息修改通知。
提示
- 请在初始化之后,连接之前调用该方法。
- 在当前设备上修改标签信息不会触发该回调方法。服务端仅会通知 SDK 在同一用户账号登录的其他设备上触发回调。
RongCoreClient.getInstance().setTagListener(new IRongCoreListener.TagListener{
@Override
public void onTagChanged() {
}
});
当用户在其它端添加、移除、编辑标签时,TagListener
会触发 onTagChanged
回调。请在收到通知后调用 getTags
从融云服务端获取最新标签信息。