获取会话未读消息
IMLib SDK 支持从指定会话中获取未读消息,可满足 App 跳转到第一条未读消息、展示全部未读 @ 消息的需求。
获取会话中第一条未读消息
获取会话中的最早一条未读消息。
RongCoreClient.getInstance().getTheFirstUnreadMessage(conversationType, targetId, callback);
| 参数 | 类型 | 说明 |
|---|---|---|
| conversationType | ConversationType | 会话类型 |
| targetId | String | 会话 Id |
| callback | IRongCoreCallback.ResultCallback<Message> | 回调接口 |
获取成功后,callback 中会返回消息对象(Message)。
ConversationType conversationType = ConversationType.PRIVATE;
String targetId = " 会话 Id ";
RongCoreClient.getInstance().getTheFirstUnreadMessage(conversationType, targetId, new ResultCallback<Message>() {
@Override
public void onSuccess(Message message) {
}
@Override
public void onError(IRongCoreEnum.CoreErrorCode e) {
}
});
获取会话中未读的 @ 消息
提示
- 低于 5.2.5 版本仅提供不带
count与desc参数的getUnreadMentionedMessages方法,每次最多返回 10 条数据。 - 从 5.2.5 版本开始,
getUnreadMentionedMessages支持count与desc参数。
获取会话中最早或最新的未读 @ 消息,最多返回 100 条。
RongCoreClient.getInstance().getUnreadMentionedMessages(conversationType, targetId, count, desc, callback);
| 参数 | 类型 | 说明 |
|---|---|---|
| conversationType | ConversationType | 会话类型 |
| targetId | String | 会话 Id |
| count | int | 消息条数。最大 100 条。 |
| desc | boolean | true:拉取最新的 count 条数据。false:拉取最旧的 count 条数据。 |
| callback | IRongCoreCallback.ResultCallback<List<Message>> | 回调接口 |
获取成功后,callback 中会返回消息对象(Message)列表。
ConversationType conversationType = ConversationType.PRIVATE;
String targetId = " 会话 Id ";
int count = 100;
boolean desc = true;
RongCoreClient.getInstance().getUnreadMentionedMessages(conversationType, targetId, count, desc, new ResultCallback<List<Message>>() {
@Override
public void onSuccess(List<Message> messageList) {
}
@Override
public void onError(IRongCoreEnum.CoreErrorCode e) {
}
});