跳转至

会话操作

获取会话

提示

返回的会话列表按照时间从前往后排列,如果有置顶的会话,则置顶的会话会排列在前面。

全量获取

参数 类型 说明
conversationTypeList NSArray 会话类型的数组(需要将 RCConversationType 转为 NSNumber 构建 Array)
返回值 NSArray 返回会话 RCConversation 的列表
- (NSArray *)getConversationList:(NSArray *)conversationTypeList;

分页获取

参数 类型 说明
conversationTypeList NSArray 会话类型的数组(需要将 RCConversationType 转为 NSNumber 构建 Array)
count int 获取的数量
startTime long long 会话的时间戳(获取这个时间戳之前的会话列表,0 表示从最新开始获取)
返回值 NSArray 会话 RCConversation 的列表
- (NSArray *)getConversationList:(NSArray *)conversationTypeList count:(int)count startTime:(long long)startTime;

置顶会话

提示

置顶设置只保存在本地数据库中,不会同步到服务端和其他设备。

设置

参数 类型 说明
conversationType RCConversationType 会话类型
targetId NSString 会话目标 Id
isTop BOOL 是否置顶
返回值 BOOL 设置是否成功
- (BOOL)setConversationToTop:(RCConversationType)conversationType
                    targetId:(NSString *)targetId
                       isTop:(BOOL)isTop;

获取

参数 类型 说明
conversationTypeList NSArray 话类型的数组(需要将 RCConversationType 转为 NSNumber构建 Array)
返回值 NSArray 置顶的会话 RCConversation 的列表
- (NSArray<RCConversation *> *)getTopConversationList:(NSArray *)conversationTypeList;

搜索会话

参数 类型 说明
conversationTypeList NSArray 话类型的数组(需要将 RCConversationType 转为 NSNumber构建 Array)
objectNameList NSArray 需要搜索的消息类型名列表(即每个消息类方法 getObjectName 的返回值)
keyword NSString 关键字
返回值 RCSearchConversationResult 匹配的会话搜索结果列表
- (NSArray<RCSearchConversationResult *> *)searchConversations:(NSArray<NSNumber *> *)conversationTypeList
                                                   messageType:(NSArray<NSString *> *)objectNameList
                                                       keyword:(NSString *)keyword;

删除会话

按 Id 删除

参数 类型 说明
conversationType RCConversationType 会话类型
targetId NSString 会话目标 Id
isTop BOOL 是否置顶
返回值 BOOL 设置是否成功
- (BOOL)removeConversation:(RCConversationType)conversationType 
				  targetId:(NSString *)targetId;

按类型删除

参数 类型 说明
conversationTypeList NSArray 话类型的数组(需要将 RCConversationType 转为 NSNumber构建 Array)
返回值 BOOL 置顶的会话 RCConversation 的列表
- (BOOL)clearConversations:(NSArray *)conversationTypeList;

会话免打扰

提示

  1. 开发者可以针对会话设置屏蔽消息提醒,也可以按时间段进行设置。
  2. 设置会在服务端生效。

永久

设置

注意

如果开发者使用 IMLib,此方法会屏蔽该会话的远程推送;如果开发者使用 IMKit,此方法会屏蔽该会话的所有提醒(远程推送、本地通知、前台提示音)。

参数 类型 说明
conversationType RCConversationType(枚举) 会话类型
targetId NSString 目标会话 Id
isBlocked BOOL 是否屏蔽消息提醒
successBlock void 设置成功的回调 [nStatus: 会话设置的消息提醒状态]
errorBlock block 设置失败的回调 [status: 设置失败的错误码]
- (void)setConversationNotificationStatus:(RCConversationType)conversationType
                                 targetId:(NSString *)targetId
                                isBlocked:(BOOL)isBlocked
                                  success:(void (^)(RCConversationNotificationStatus nStatus))successBlock
                                    error:(void (^)(RCErrorCode status))errorBlock;

查询

参数 类型 说明
conversationType RCConversationType(枚举) 会话类型
targetId NSString 目标会话 Id
successBlock void 查询成功的回调 [nStatus: 会话设置的消息提醒状态]
errorBlock void 查询失败的回调 [status: 设置失败的错误码]
- (void)getConversationNotificationStatus:(RCConversationType)conversationType
                                 targetId:(NSString *)targetId
                                  success:(void (^)(RCConversationNotificationStatus nStatus))successBlock
                                    error:(void (^)(RCErrorCode status))errorBlock;

获取

参数 类型 说明
conversationTypeList NSArray 会话类型的数组(需要将 RCConversationType 转为 NSNumber 构建 Array)。
返回值 NSArray 屏蔽消息提醒的会话 RCConversation 的列表。
- (NSArray<RCConversation *> *)getBlockedConversationList:(NSArray *)conversationTypeList;

按时间段

设置

提示

  1. 此方法设置的屏蔽时间会在每天该时间段时生效。
  2. 如果开发者使用 IMLib,此方法会屏蔽该会话在该时间段的远程推送;如果开发者使用IMKit,此方法会屏蔽该会话在该时间段的所有提醒(远程推送、本地通知、前台提示音)。
参数 类型 说明
startTime NSString 开始屏蔽消息提醒的时间,格式为HH:MM:SS
spanMins int 需要屏蔽消息提醒的分钟数,0 < spanMins 且 spanMins < 1440
successBlock void 屏蔽成功的回调
errorBlock void 屏蔽失败的回调 [status: 屏蔽失败的错误码]
- (void)setNotificationQuietHours:(NSString *)startTime
                         spanMins:(int)spanMins
                          success:(void (^)(void))successBlock
                            error:(void (^)(RCErrorCode status))errorBlock;

查询

参数 类型 说明
successBlock void 屏蔽成功的回调 [startTime: 已设置的屏蔽开始时间, spansMin: 已设置的屏蔽时间分钟数,0 < spansMin 且 spansMin < 1440]
errorBlock void 查询失败的回调 [status: 查询失败的错误码]
- (void)getNotificationQuietHours:(void (^)(NSString *startTime, int spansMin))successBlock
                            error:(void (^)(RCErrorCode status))errorBlock;

删除

参数 类型 说明
successBlock void 删除屏蔽成功的回调
errorBlock void 删除屏蔽失败的回调 [status: 失败的错误码]
- (void)removeNotificationQuietHours:(void (^)(void))successBlock error:(void (^)(RCErrorCode status))errorBlock;