获取会话未读消息
IMLib SDK 支持从指定会话中获取未读消息,可满足 App 跳转到第一条未读消息、展示全部未读 @ 消息的需求。
获取会 话中第一条未读消息
您可以通过 getFirstUnreadMessage: 获取会话中的最早一条未读消息。
接口原型
Objective C
- (void)getFirstUnreadMessage:(RCConversationType)conversationType
                     targetId:(NSString *)targetId
                   completion:(nullable void(^)(RCMessage *_Nullable message))completion;
参数说明
| 参数 | 类型 | 说明 | 
|---|---|---|
| conversationType | RCConversationType | 会话类型,单聊传入 ConversationType_PRIVATE | 
| targetId | NSString | 会话 targetId | 
| completion | Block | 结果回调,返回 RCMessage 对象。 | 
示例方法
Objective C
[[RCCoreClient sharedCoreClient] getFirstUnreadMessage:ConversationType_PRIVATE targetId:@"targetId" completion:^(RCMessage * _Nullable message) {
               
}];
获取会话中未读的 @ 消息
提示
- 低于 5.2.5 版本仅提供不带 count与desc参数的getUnreadMentionedMessages方法,每次最多返回 10 条数据。
- 从 5.2.5 版本开始,getUnreadMentionedMessages支持count与desc参数。该方法仅在RCCoreClient中提供。
- 从 5.3.0 版本开始,建议使用下方异步返回结果的接口,原同步接口同时废弃。
获取会话中最早或最新的未读 @ 消息,最多返回 100 条。
接口原型
Objective C
- (void)getUnreadMentionedMessages:(RCConversationType)conversationType
                          targetId:(NSString *)targetId
                        completion:(nullable void(^)(NSArray<RCMessage *> *_Nullable messages))completion;
参数说明
| 参数 | 类型 | 说明 | 
|---|---|---|
| conversationType | RCConversationType | 会话类型 | 
| targetId | NSString | 会话 ID | 
| count | int | 消息条数。最大 100 条。 | 
| desc | BOOL | YES:拉取最新的count条数据。NO:拉取最早的count条数据。 | 
| completion | Block | 异步回调,返回消息对象(RCMessage)列表。 | 
示例代码
Objective C
[[RCCoreClient sharedRCCoreClient]
       getUnreadMentionedMessages:ConversationType_PRIVATE
       targetId:@"targetId"
       count:count
       desc: NO
       completion:completion:^(RCMessage * _Nullable message) {
               
}];