Browse SDKs · Android
Platform
SDKsAndroidEnterprise

Get members who read a group message

Retrieve members who have or have not read a group message using pagination.

Copy

Retrieve the list of group members who have or have not read a designated group message using pagination. A filter condition separates read from unread members, making this method ideal for rendering read receipt lists on message detail screens.

Code example

String conversationID = "g_group_123";
String clientMsgID = "msg_001";
int filter = 0; // 0: query members who read; 1: query members who have not read
int offset = 0;
int count = 50;

OpenIMClient.getInstance().messageManager.getGroupMessageReaderList(
    conversationID,
    clientMsgID,
    filter,
    offset,
    count,
    new OnBase<List<GroupMembersInfo>>() {
        @Override
        public void onSuccess(List<GroupMembersInfo> members) {
            // members contains member profile information
        }

        @Override
        public void onError(int code, String error) {
            // Handle query failure
        }
    }
);

Filter options

Filter valueDescription
0Query group members who have read the message.
1Query group members who have not yet read the message.

Parameters

ParameterTypeRequiredDescription
conversationIDStringYesGlobally unique ID of the target group conversation.
clientMsgIDStringYesClient message ID of the target message to query.
filterintYesRead status filter: 0 for read members, 1 for unread members.
offsetintYesStarting pagination offset index (0 for the initial request).
countintYesMaximum number of records to retrieve in this page.
baseOnBase<List<GroupMembersInfo>>YesCallback handler for the asynchronous request.

Return value

Upon success, members in onSuccess returns List<GroupMembersInfo>. Each entry contains group member details including nickname, faceURL, roleLevel, and userID. For property definitions, see Get group members.

State changes after the call

  1. Callback confirmation: The onSuccess callback returns a snapshot of group member records matching the filter. Render or append the member list using userID as the unique identifier.
  2. Asynchronous event delivery: This query does not trigger state change events. New read receipts from other members arrive through OnAdvanceMsgListener.onRecvGroupMessageReadReceipt. For details, see Report group messages as read.
  3. Pagination continuation: If the returned list size matches count, increment offset by count to fetch the next page. A return count less than count indicates the end of the list.