跳转至

清除历史消息

本地删除

按消息 Id 删除

参数 类型 说明
messageIds NSArray 消息 Id 的列表
返回值 BOOL 是否删除成功
- (BOOL)deleteMessages:(NSArray *)messageIds;

按会话删除

只清除

参数 类型 说明
conversationType RCConversationType 会话类型,不支持聊天室会话
targetId NSString 目标会话 Id
errorBlock void 是否删除成功
- (BOOL)clearMessages:(RCConversationType)conversationType
             targetId:(NSString *)targetId;

清除且整理压缩数据库

参数 类型 说明
conversationType RCConversationType 会话类型,不支持聊天室会话
targetId NSString 目标会话 Id
successBlock void 删除成功的回调
errorBlock void 删除失败的回调 [status: 获取失败的错误码]
- (void)deleteMessages:(RCConversationType)conversationType
              targetId:(NSString *)targetId
               success:(void (^)(void))successBlock
                 error:(void (^)(RCErrorCode status))errorBlock;

提示

此方法删除数据库中该会话的消息记录,同时会整理压缩数据库,减少占用空间。

服务器端删除

提示

  1. 可按消息时间戳,清除某会话服务器端历史消息。
  2. 该功能需要在开发者后台“应用/IM 服务/高级功能设置”中开通 IM 商用版后,开启单群聊消息云存储功能才能使用,开发环境下可免费使用。

按会话删除

单条删除

参数 类型 说明
conversationType RCConversationType 会话类型,不支持聊天室会话。
targetId NSString 目标会话 Id。
recordTime long long 清除消息时间戳,[0 <= recordTime 且 recordTime <= 当前会话最后一条消息的 sentTime,0 清除所有消息,其他值清除小于等于 recordTime 的消息]。
successBlock void 删除成功的回调。
errorBlock void 删除失败的回调 [status: 获取失败的错误码]
- (void)clearRemoteHistoryMessages:(RCConversationType)conversationType
                          targetId:(NSString *)targetId
                        recordTime:(long long)recordTime
                           success:(void (^)(void))successBlock
                             error:(void (^)(RCErrorCode status))errorBlock;

提示

  1. 批量删除某会话中指定的一条或者多条服务端消息,同时删除本地消息。
  2. 一次批量操作仅支持删除属于同一个会话的消息,请确保消息列表中的所有消息来自同一会话。
  3. 一次最多删除 100 条消息。
  4. 该功能需要在开发者后台“应用/IM 服务/高级功能设置”中开通 IM 商用版后,开启单群聊消息云存储功能才能使用,开发环境下可免费使用。

批量删除

参数 类型 说明
conversationType RCConversationType 会话类型,不支持聊天室会话
targetId NSString 目标会话 Id
messages NSArray 将被删除的消息列表
successBlock void 删除成功的回调
errorBlock void 删除失败的回调 [status: 获取失败的错误码]
- (void)deleteRemoteMessage:(RCConversationType)conversationType
                   targetId:(NSString *)targetId
                   messages:(NSArray<RCMessage *> *)messages
                    success:(void (^)(void))successBlock
                      error:(void (^)(RCErrorCode status))errorBlock;