获取会话未读消息
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) {
}];