获取会话
客户端 SDK 会根据用户收发的消息,在本地数据库中生成对应会话,并维护会话列表。应用程序可以获取本地数据库中的会话列表。
获取指定单个会话
使用 getConversation:targetId:completion: 获取某个会话的详细信息。
[[RCCoreClient sharedCoreClient] getConversation:ConversationType_PRIVATE
targetId:@"targetId"
completion:^(RCConversation *conversation) {
}];
参数 | 类型 | 说明 |
---|---|---|
conversationType | RCConversationType | 会话类型,单聊传入 ConversationType_PRIVATE |
targetId | NSString | 会话 ID |
批量获取会话信息
除了单个获取会话信息外,客户端 SDK 还支持批量获取会话的详细信息。
注意: 客户端 SDK 从 5.8.2 版本开始支持批量获取会话信息。 支持的会话类型:单聊、群聊、系统。
使用 getConversations:success:error:
方法查询多个会话的详细信息。如果本地数据库中只有部分会话信息,successBlock
结果只返回本地存在的会话;如果查询的多个会话信息在本地都查不到,将触发 errorBlock
回调。
// 假设我们有会话标识 conIden1 和 conIden2,它们代表想要查询的会话。
RCConversationIdentifier *conIden1 = [[RCConversationIdentifier alloc] initWithConversationIdentifier:ConversationType_PRIVATE targetId:@"tId1"];
RCConversationIdentifier *conIden2 = [[RCConversationIdentifier alloc] initWithConversationIdentifier:ConversationType_PRIVATE targetId:@"tId2"];
// 创建包含会话标识符的数组。
NSArray *conversationIdentifiers = @[
conIden1,
conIden2
// 如果有更多的会话标识符,可以继续添加到这个数组中。
];
// 使用 getConversations:success:error: 方法批量获取会话信息
[[RCCoreClient sharedCoreClient] getConversations:conversationIdentifiers
success:^(NSArray<RCConversation *> * _Nonnull conversations) {
// 成功获取会话信息的处理逻辑。
}
error:^(RCErrorCode status) {
// 错误处理逻辑,status 为错误码。
// 根据 status 进行相应的错误处理。
NSLog(@"Error fetching conversations: %@", @(status));
}];
参数 | 类型 | 说明 |
---|---|---|
conversationIdentifiers | NSArray | 需要查询的会话标识符数组,每次获取会话个数最大为 100。 |
success | Block | 获取会话信息成功的回调,返回包含会话信息的数组。 |
error | Block | 获取会话信息失败的错误回调,返回错误码。 |