Browse SDKs · iOS
Platform
SDKsiOSEnterprise

Retrieve group-message readers

Retrieve members who have or have not read a group message by page with OpenIM iOS SDK.

Copy

Invoke getGroupMessageReaderList:clientMsgID:filter:offset:count:onSuccess:onFailure: on OIMManager to query a paginated list of members who have or have not read a specific group message:

Parameters

ParameterTypeRequiredDescription
conversationIDNSString *YesTarget group conversation identifier.
clientMsgIDNSString *YesClient message ID of the target group message.
filterNSIntegerYesFilter mode: pass 0 to retrieve members who have read the message; pass 1 to retrieve members who have not read it.
offsetNSIntegerYesPagination starting offset (0-indexed).
countNSIntegerYesMaximum number of group members to retrieve per page.
onSuccessvoid (^)(NSArray<OIMGroupMemberInfo *> * _Nullable members)YesSuccess callback returning a list of group member models.
onFailureOIMFailureCallbackYesFailure callback returning error code code and descriptive message msg.

Code example

[[OIMManager manager] getGroupMessageReaderList:conversationID
                                    clientMsgID:clientMsgID
                                         filter:0
                                         offset:0
                                          count:20
                                      onSuccess:^(NSArray<OIMGroupMemberInfo *> * _Nullable members) {
    // Render current page of group message readers
    [self replaceReaders:members ?: @[] clientMsgID:clientMsgID];
}
                                      onFailure:^(NSInteger code, NSString * _Nullable msg) {
    // Handle query failure
}];

Return value

The onSuccess callback delivers an array of OIMGroupMemberInfo models (NSArray<OIMGroupMemberInfo *> *) representing the queried member list snapshot.

State changes after the call

  1. Snapshot querying: This query establishes an on-demand snapshot of group member read states and does not trigger read receipt event listeners.
  2. Client merge key: Group member models are merged using the composite key groupID:userID.
  3. Receipt counters and live broadcasts: Real-time read and unread counter increments are driven by incoming receipt events. For reporting receipts and receipt event handling, see Report group-message read status.