android - iOS 和 Android 之间的 Quickblox 聊天

标签 android ios chat quickblox

我在我的 iOS 应用程序上实现了 Quickblox 聊天,另一个开发人员在 Android 应用程序上实现了相同的应用程序。

当我在 iOS 设备与 iOS 设备之间通话时,一切正常,消息发送、接收、在我的 View 中正常列出。

当 Android 设备与 Android 设备之间的对话时,一切也正常发生,一切都发生得很完美。

问题是当我们尝试在 iOS 设备和 Android 设备之间通信时。我在我的设备上收到推送,当我进入聊天时,消息并不总是在我第一次进入聊天 View 时列出。当我已经在 View 中并收到一条消息时,我需要离开它并返回,以便消息出现,但它会间歇性地出现。

是否需要任何配置,转换,以便跨平台聊天正常工作?这是一个已知错误?

谢谢你!

最佳答案

最后我弄清楚我的代码中发生了什么。

在 iOS 中,我的 iPhone 设置 > 通用 > 日期和时间 > 时区 - 自动关闭。我的时钟早了2分钟,然后在发送带有对话请求的列表消息时,我使用了[now timeIntervalSince1970],但我没有收到所有消息,所以我不得不等待2分钟才能再次进入聊天,然后列出所有消息。随着日期、时间和时区的自动设置,一切顺利。

objective-c 请求:

NSMutableDictionary *extendedRequest = [NSMutableDictionary new];
NSDate *now = [NSDate date];
extendedRequest[@"date_sent[lte]"]= @([now timeIntervalSince1970]);
extendedRequest[@"sort_desc"]= @"date_sent";

//get the most recent 100 messages
extendedRequest[@"limit"] = @(100);

[QBChat messagesWithDialogID:self.dialog.ID extendedRequest:extendedRequest delegate:self];

在 Java 中,只有在以下情况下我们才需要注释:

if (messageHistory == null || !messages.get(messages.size() - 1).getId()
.equals(messageHistory.get(messageHistory.size() - 1).getId())) {
  //stuff here
}

现在,一切正常!感谢您的回答。

关于android - iOS 和 Android 之间的 Quickblox 聊天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28357115/

相关文章:

iphone - 如何实现在字典数组中搜索字符串?

ios - MKNetworkKit 和 AFNetworking 有什么区别?

gmail - 使用 Gmail API 访问 CHATS 标签

android - Cordova 图片上传重复问题

ios - UIview Flip 使 Views 变暗

c# - 如何使用 C# 开发聊天机器人

node.js - 如何在 Node redis中设置hmset的过期时间?

java - 布局 Inflate 中的alignParentBottom

java - OnBackPressedCallback 未调用 - Activitiy 立即终止

android - 使用 ProGuard 优化会承担哪些风险?