会话操作
操作会话状态
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;
参数说明
参数 | 类型 | 说明 |
---|---|---|
chatId | String | 会话 id |
action | String | 操作类型类型。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;
参数说明
参数 | 类型 | 说明 |
---|---|---|
chatDelegate | KIMChatDelegate | 会话事件代理 |
KIMChatDelegate
会话状态变更方法说明:
方法名称 | 参数 | 返回值 | 说明 |
---|---|---|---|
didReceivedChatPropsAction | chatId: String 会话ID action: String 事件,参考上述 KIMChatPropsAction 枚举说明 | Void | 会话状态更新代理方法。 |
代码示例
swift
KIMCore.shared.register(chatDelegate: self)