fetchGroupAcks method

Future<ChatCursorResult<ChatGroupMessageAck>> fetchGroupAcks(
  1. String msgId,
  2. String groupId, {
  3. String? startAckId,
  4. int pageSize = 0,
})

从服务器获取群组消息回执详情。

分页获取。

Note 发送群组消息回执,详见 sendConversationReadAck

Param msgId 消息 ID。

Param startAckId 已读回执的 ID,如果为空,从最新的回执向前开始获取。

Param pageSize 每页获取群消息已读回执的条数。

Return 返回回执列表和用于下次获取群消息回执的 ChatCursorResult

Throws 如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

Implementation

Future<ChatCursorResult<ChatGroupMessageAck>> fetchGroupAcks(
  String msgId,
  String groupId, {
  String? startAckId,
  int pageSize = 0,
}) async {
  try {
    Map req = {"msgId": msgId, "group_id": groupId};
    req["pageSize"] = pageSize;
    req.putIfNotNull("ack_id", startAckId);

    Map result = await platform_interface.Client.instance.chatManager
        .callNativeMethod(ChatMethodKeys.asyncFetchGroupAcks, req);
    ChatError.hasErrorFromResult(result);
    ChatCursorResult<ChatGroupMessageAck> cursorResult = ChatCursorResult.fromJson(
      result[ChatMethodKeys.asyncFetchGroupAcks],
      dataItemCallback: (map) {
        return ChatGroupMessageAck.fromJson(map);
      },
    );

    return cursorResult;
  } catch (e) {
    rethrow;
  }
}