会话标签
SDK 2.X 版本从 2.8.0 开始支持会话标签功能。
会话标签用于对会话进行分组。用户可设置会话标签,用于会话的分组显示。
每个用户最多可以创建 20 个标签,每个标签下最多可以添加 1000 个会话。同一个会话可以设置多个 不同的标签。
管理标签
SDK 支持创建标签、编辑标签,获取标签列表,以及移除标签。SDK 创建的标签可用于对会话进行管理。
SDK 创建的标签会被同步到服务端。
关于如何使用标签管理会话,详见使用标签管理会话。
创建标签
每个用户最多可以创建 20 个标签。
API 参考:createTag
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
tag | Object | 是 | 标签信息 |
tag.tagId | String | 是 | 标签 Id,标签唯一标识,长度不超过 10 个字 |
tag.tagName | String | 是 | 标签名称,长度不超过 15 个字 |
callback | Object | 是 | 回调对象 |
callback.onSuccess | Function | 是 | 成功回调 |
callback.onError | Function | 是 | 失败回调 |
代码示例
JavaScript
var tag = {
tagId: '<标签Id>',
tagName: '<新的标签名字>'
}
var callback = {
onSuccess: function() {
console.log('创建标签成功')
},
onError: function(error) {
console.log('创建标签失败', error)
}
}
RongIMClient.getInstance().createTag(tag,callback)
移除标签
API 参考:removeTag
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
tagId | String | 是 | 标签 Id |
callback | Object | 是 | 回调对象 |
callback.onSuccess | Function | 是 | 成功回调 |
callback.onError | Function | 是 | 失败回调 |
代码示例
JavaScript
var tagId = '<标签Id>'
var callback = {
onSuccess: function() {
console.log('删除标签成功')
},
onError: function(error) {
console.log('删除标签失败', error)
}
}
RongIMClient.getInstance().removeTag(tagId,callback)
编辑标签
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
tag | Object | 是 | 标签信息 |
tag.tagId | String | 是 | 标签 Id,标签唯一标识,长度不超过 10 个字 |
tag.tagName | String | 是 | 标签名称,长度不超过 15 个字 |
callback | Object | 是 | 回调对象 |
callback.onSuccess | Function | 是 | 成功回调 |
callback.onError | Function | 是 | 失败回调 |
代码示例
JavaScript
var tag = {
tagId: '<标签Id>',
tagName: '<新的标签名字>'
}
var callback = {
onSuccess: function() {
console.log('编辑标签成功')
},
onError: function(error) {
console.log('编辑标签失败', error)
}
}
RongIMClient.getInstance().updateTag(tag,callback)
获取标签列表
API 参考:getTagList
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | Object | 是 | 回调对象 |
callback.onSuccess | Function | 是 | 成功回调 |
callback.onError | Function | 是 | 失败回调 |
成功回调
成功回调 ITagInfo[]
的参数说明:
参数 | 返回类型 | 说明 |
---|---|---|
tagInfo | ITagInfo[] | 标签列表信息,详见下方 ITagInfo 属性说明 |
-
ITagInfo
属性说明参数 类型 说明 tagId String 标签 Id tagName String 标签名称 conversationCount Number 标签下的会话数量 createdTime Number 标签创建的时间戳
代码示例
JavaScript
var callback = {
onSuccess: function(tagInfo) {
console.log(tagInfo)
console.log('获取标签列表成功')
},
onError: function(error) {
console.log('获取标签列表失败', error)
}
}
RongIMClient.getInstance().getTagList(callback)
用户标签多端同步
该回调不会给当前操作设备回调,只会给其他的多端设备回调。
代码示例
JavaScript
/**
* 设置会话标签更改时的回调
* 当用户在其它端添加移除更新标签时会触发此监听器,用于多端之间的信息同步。
* 收到此回调,可调用 getTagList 获取最新标签信息
* 请在初始化之后,连接之前调用该方法
*/
var tagListener = {
onChanged:function(){
return
}
}
RongIMClient.setTagListener(tagListener)
使用标签管理会话
SDK 支持使用一个或多个标签标记会话,可用于会话的分组显示、获取会话列表等操作,并提供了多个接口用于移除会话上的标签。
会话标签还支持一系列高级功能,包括按照标签获取会话列表、按照标签获取标签下所有会话的消息未读数,以及在特定标签下设置某个会话置顶。
添加会话到一个标签
每个标签下最多可以添加 1000 个会话。
API 参考:addTagForConversations
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
tagId | String | 是 | 标签信息 |
conversations | IConversationOption [] | 是 | 要添加的会话列表。详见下方 IConversationOption 属性说明。 |
callback | Object | 是 | 回调对象 |
callback.onSuccess | Function | 是 |