Quickblox 消息获取最后 n 条消息
Posted
技术标签:
【中文标题】Quickblox 消息获取最后 n 条消息【英文标题】:Quickblox messaging fetch last n messages 【发布时间】:2014-11-17 20:22:37 【问题描述】:我在我的应用程序中使用 Quickblox ios SDK 进行即时消息传递。当用户登录时,我检索消息列表。我正在尝试检索最后 N 条消息。我使用本文档中指定的扩展请求参数: http://quickblox.com/developers/SimpleSample-chat_users-ios#List_chat_messages
此调用检索前 100 条消息,而不是最近的消息。 我还检查了从这里发送的参数列表: http://quickblox.com/developers/Chat#Retrieve_messages
使用限制和排序参数的组合仍然不能得到想要的结果。
-
如何请求检索对话框中的最后 N 条消息?
如何加载最后但 N 条消息?例如,最近 100 条消息之前的最后 100 条消息。类似于限制 100,但跳过 100 条,相反。
【问题讨论】:
【参考方案1】://试试这个:
NSMutableDictionary *extendedRequest = [NSMutableDictionary new];
NSDate *now = [NSDate date];
extendedRequest[@"date_sent[lte]"]= @([now timeIntervalSince1970]);
extendedRequest[@"sort_desc"]= @"date_sent";
//get the most recent 50 messages
extendedRequest[@"limit"] = @(50);
[QBChat messagesWithDialogID:self.dialog.ID extendedRequest:extendedRequest delegate:self];
【讨论】:
@IgorKhomenko 我试过这样。最后几条消息在历史记录列表中被跳过。 QBChatDialog chatDialog = new QBChatDialog(privateDialog.getDialogId()); QBMessageGetBuilder messageGetBuilder = new QBMessageGetBuilder(); messageGetBuilder.setLimit(50); messageGetBuilder.sortDesc("date_sent");【参考方案2】:我在 android 中遇到了同样的问题。
解决如下。 您所要做的就是在 requestbuilder sortDesc("date_sent"); 中添加一个参数;
QBDialog dlg=new QBDialog(str_dialogid);
QBRequestGetBuilder requestBuilder = new QBRequestGetBuilder();
requestBuilder.setLimit(10);
requestBuilder.sortDesc("date_sent");
【讨论】:
我使用了相同的.. 它跳过了最后十条消息。以上是关于Quickblox 消息获取最后 n 条消息的主要内容,如果未能解决你的问题,请参考以下文章