Как отфильтровать сообщения [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");