会话操作
操作会话状态
SDK 提供操作会话状态的接口,操作状态将会被同步到服务端,切换设备后状态也会一并同步下来。
接口定义
kotlin
fun setChatProps(action: String, chatId: String, callback: IResultCallback<Boolean>?)
参数说明
参数 | 类型 | 说明 |
---|---|---|
action | String | 动作类型。Constant.CHAT_PROP |
chatId | String | 会话id |
callback | IResultCallback | 结果回调 |
操作类型CHAT_PROP说明:
字段 | 值 | 说明 |
---|---|---|
CHAT_PROP.DELETE | delete | 移除会话 |
CHAT_PROP.STICKY | sticky | 置顶会话 |
CHAT_PROP.UN_STICKY | unsticky | 取消置顶 |
CHAT_PROP.UN_DISTURB | undisturb | 取消免打扰 |
CHAT_PROP.DISTURB | disturb | 设置免打扰 |
CHAT_PROP.CHAT_READ | chat_read | 会话已读,将会话未读数设置为 0 |
CHAT_PROP.CHAT_UNREAD | chat_unread | 会话未读,将会未读数设置为 1 |
CHAT_PROP.ADD_MSG_ASSISTANT | add_msgAssistant | 收进消息助手 |
CHAT_PROP.REMOVE_MSG_ASSISTANT | remove_msgAssistant | 移出消息助手 |
会话操作功能描述:
会话操作 | 功能描述 |
---|---|
移除会话 | 从会话列表中移除指定会话,但不删除会话内的消息。移除后,会话总未读数会减去移除会话的未读数。 若该会话产生新消息,可重新查看历史消息。会话移除会多端同步。 |
置顶会话 | 将指定会话固定在会话列表的顶部,不受其他会话更新时间影响。 金山协作中台服务端会储存会话置顶状态,用户切换设备后,会话置顶状态会自动同步。 |
会话免打扰 | 支持将会话设置为免打扰,设置后,当再次收到该会话的消息时,不会进行推送通知。 金山协作中台服务端会储存会话免打扰状态,用户切换设备后,会话免打扰状态会自动同步。 |
会话已读未读 | 常见的应用会话列表一般会存在多个会话,并以小红点的形式展示会话未读数,提醒用户查看消息。 通过调用此接口,可以清空会话的未读数或增加会话的未读数,以实现小红点的消失或出现的交互效果。 |
消息助手 | 协作中台提供默认的会话盒子,支持用户将不常用的会话收进消息助手中,被收起的会话将自动设置为消息免打扰状态,实现消息降噪。 |
代码示例
kotlin
KIMCore.instance().setChatProps(Constant.CHAT_PROP.DELETE, "chatId", object : IResultCallback<Boolean> {
override fun onSuccess(result: Boolean?) {
TODO()
}
override fun onError(errorCode: ErrorCode) {
TODO()
}
})
监听会话状态
注册该监听器,能够获得会话的状态变化。
代码示例
kotlin
KIMCore.instance().addChatPropsListener(owner, object : KIMChatPropsListener {
override fun change(chatId: String, prop: String, lastMsgTime: Long, nowTime: Long) {
TODO()
}
})