Quickblox消息传递获取最后n条消息

时间:2014-11-17 20:22:37

标签: ios quickblox instant-messaging

我在我的应用中使用Quickblox iOS SDK进行即时消息传递。当用户登录时,我检索消息列表。我正在尝试检索最后N条消息。我使用本文档中指定的扩展请求参数: http://quickblox.com/developers/SimpleSample-chat_users-ios#List_chat_messages

此调用检索前100条消息,而不是最新消息。 我还检查了要从这里发送的参数列表: http://quickblox.com/developers/Chat#Retrieve_messages

使用限制和排序参数的组合仍然无法提供所需的结果。

  1. 如何在对话框中提出检索最后N条消息的请求?
  2. 如何加载最后但N条消息?例如,在最近的100之前的最后100条消息。类似于限制100,但是反向跳过100。

2 个答案:

答案 0 :(得分:2)

//试试这个:

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];

答案 1 :(得分:0)

我在Android中遇到了同样的问题。

解决了以下问题。 您所要做的就是在requestbuilder sortDesc(“date_sent”);

中添加一个参数
QBDialog dlg=new QBDialog(str_dialogid);
    QBRequestGetBuilder requestBuilder = new QBRequestGetBuilder();
    requestBuilder.setLimit(10);
    requestBuilder.sortDesc("date_sent");