Skip to content
能力中心
产品中心
应用市场
WebOffice
开发者后台

会话操作

操作会话状态

SDK 提供操作会话状态的接口,操作状态将会被同步到服务端,切换设备后状态也会一并同步下来。

接口定义

swift
func setChatProps(chatId: String, action: String, complete: ((_ success: Bool, _ error: KIMError?) -> Void)?)
Objective-C
- (void)setChatPropsWithChatId:(NSString * _Nonnull)chatId action:(NSString * _Nonnull)action complete:(void (^ _Nullable)(BOOL, KIMError * _Nullable))complete;

参数说明

参数类型说明
chatIdString会话 id
actionString操作类型类型。KIMChatPropsAction 枚举值
complete((_ success: Bool, _ error: KIMError?) -> Void)?操作完成回调。success:是否成功; error:错误信息

操作类型 KIMChatPropsAction 枚举说明:

枚举值说明
delete移除会话
sticky置顶会话
unsticky取消置顶
undisturb开启免打扰
disturb取消免打扰
chatRead标记已读
chatUnread标记未读
addAssistant将会话收进消息助手聚合类型
removeAssistant将会话移出消息助手聚合类型

会话操作功能描述:

会话操作功能描述
移除会话从会话列表中移除指定会话,但不删除会话内的消息。移除后,会话总未读数会减去移除会话的未读数。若该会话产生新消息,可重新查看历史消息。会话移除会多端同步。
置顶会话将指定会话固定在会话列表的顶部,不受其他会话更新时间影响。协作中台服务端会储存会话置顶状态,用户切换设备后,会话置顶状态会自动同步。
会话免打扰支持将会话设置为免打扰,设置后,当再次收到该会话的消息时,不会进行推送通知。协作中台服务端会储存会话免打扰状态,用户切换设备后,会话免打扰状态会自动同步。
会话已读未读常见的应用会话列表一般会存在多个会话,并以小红点的形式展示会话未读数,提醒用户查看消息。通过调用此接口,可以清空会话的未读数或增加会话的未读数,以实现小红点的消失或出现的交互效果。
消息助手协作中台提供默认的会话盒子,支持用户将不常用的会话收进消息助手中,被收起的会话将自动设置为消息免打扰状态,实现消息降噪。

代码示例

swift
KIMCore.shared.setChatProps(chatId: chatId, action: action) { success, error in

}

监听会话状态

注册该监听器,能够获得会话的状态变化。

swift
func register(chatDelegate: KIMChatDelegate)
Objective-C
- (void)registerWithChatDelegate:(id <KIMChatDelegate> _Nonnull)chatDelegate;

参数说明

参数类型说明
chatDelegateKIMChatDelegate会话事件代理

KIMChatDelegate 会话状态变更方法说明:

方法名称参数返回值说明
didReceivedChatPropsActionchatId: String 会话ID action: String 事件,参考上述 KIMChatPropsAction 枚举说明Void会话状态更新代理方法。

代码示例

swift
KIMCore.shared.register(chatDelegate: self)