Skip to main content

Group channel read receipt

Users can request read receipts for messages they send. After sending a request, the sender can see how many recipients have read the message.

Send a read receipt response

When a group message is received, respond with a read receipt by calling channel.sendReadReceiptResponse().

Method

Dart
Future<int> sendReadReceiptResponse(List<String> messageIds, ErrorHandler handler)

Parameters

ParameterTypeDescription
messageIdsList<String>Server-assigned unique IDs of the messages to acknowledge.
handlerErrorHandlerEvent callback.

Code example

Dart
final channel = GroupChannel('<group-id>');
await channel.sendReadReceiptResponse(
['<message-uid-1>', '<message-uid-2>'],
(error) {
if (error == null) {
print('Read receipt sent');
}
},
);

Listen for read receipt responses

Register a MessageHandler to receive read receipt events:

Dart
NCEngine.addMessageHandler('read-receipt-handler', MessageHandler(
onMessageReceiptResponse: (event) {
print('Read receipts received: ${event.responses}');
},
));

Get read receipt info

Query how many group members have read a specific message:

Dart
await channel.getMessageReadReceiptInfo(
['<message-uid-1>'],
(receiptInfoList, error) {
if (error == null) {
print('Read receipt info: $receiptInfoList');
}
},
);