Как отфильтровать сообщения [tag:ChatDialog] по пользовательскому значению в Quickblox?

Я использую Quickblox в своем приложении, проблема заключается в том, что при попытке получить сообщения чата, отфильтрованные с помощью пользовательского параметра значения, фильтр не работает.
документация чата
вот му код:

        ArrayList<QBChatMessage> messages = null;
        QBMessageGetBuilder qbMessageGetBuilder = new QBMessageGetBuilder();
        qbMessageGetBuilder.eq("bookID", customDialog.getBookID());
        qbMessageGetBuilder.sortAsc("date_sent");
        try {
            messages = QBRestChatService.getDialogMessages(qbChatDialog, qbMessageGetBuilder).perform();
        } catch (QBResponseException e) {
            e.printStackTrace();
        }

пример ответа:

{
  "skip": 0,
  "limit": 100,
  "items": [
    {
      "_id": "58f6c9f4a28f9a0c7f000003",
      "attachments": [],
      "bookID": "-Kh9UzvClNyHuwNhLcFV",
      "chat_dialog_id": "58f6bcdea0eb4766d900003c",
      "created_at": "2017-04-19T02:22:44Z",
      //other fields
    },
    {
      "_id": "58f6ca12a28f9a08c5000001",
      "attachments": [],
      "bookID": "-KeA1pw5DGMSTg67Pbp0",
      "chat_dialog_id": "58f6bcdea0eb4766d900003c",
      "created_at": "2017-04-19T02:23:15Z",
      //other fields

    }
  ]
}

[Обновление] Я использую версию 3.3.0.

[ОБНОВЛЕНИЕ] 22/4/2017 Я также пытался ответить @Jagapathi, я заменил эту строку

qbMessageGetBuilder.eq("bookID", customDialog.getBookID());

с этим:

qbMessageGetBuilder.addRule("bookID", QueryRule.EQ, customDialog.getBookID());

но тоже не работает.

1 ответ

qbMessageGetBuilder.eq

"eq" недоступно согласно документу для сравнения тех же значений для сортировки, которую вам нужно использовать.

messageGetBuilder.addRule ("bookID", QueryRule.EQ, "-Kh9UzvClNyHuwNhLcFV");

Изображение из DOC

Другие вопросы по тегам