2013-03-13 124 views
0

当其中一个用户进入“离线”状态时,在聊天中传递消息时出现问题。 当1对1聊天被初始化并且两个用户正在聊天时,消息正在被传送并且一切都很好,但是当其中一个用户的应用程序进入后台时,另一个用户保持消息传递。它看起来像邮件正在发送,保存到历史记录和缓存(我登录它),但是当其他用户重新联机并检索历史记录时 - 这些邮件不会显示。向离线用户发送聊天消息的问题

在我看到他们的应用程序重新启动后的延迟来的日志:

2013-03-13 01:14:42.983 MyApp[2314:1103] 
QBChat/xmppStreamDidReceiveMessage: 
<message xmlns="jabber:client" id="0" type="chat" from="[email protected]" 
to="[email protected]"> 
<body>I try again</body> 
<delay xmlns="urn:xmpp:delay" from="chat.quickblox.com" stamp="2013-03-13T07:58:14.455+0000"> 

整个消息的过程是使用代码SimpleSample聊天 (另外,我不使用推送通知还)建成。

请问您能否就这个问题提出一些建议?

谢谢。

更新:重新安装应用程序后,与用户的邮件历史记录不会被检索,这意味着,我猜,我所谈论的历史记录存储在缓存中。好像我在从服务器检索历史记录时遇到问题。我在'ChatDidReceiveMessage'中尝试过'message.delayed = 1',但它没有帮助。

回答

1

当您转到后台时,您必须从聊天室注销,并在您转到前台时再次登录。

在这种情况下,您的消息将会收到OK确定

+0

谢谢!请问,请告诉我一些关于聊天记录的信息,在我删除并重新构建设备上的应用程序后,这些聊天记录未被检索到? – user2137346 2013-03-14 16:02:37

+0

请在这里阅读有关聊天记录管理的信息http://quickblox.com/developers/SimpleSample-chat_users-ios#Manage_Chat_History – 2013-03-14 16:49:27

+0

@IgorKhomenko:我尝试了一个非常简单的用例,我发送消息给已经注销的用户,现在当用户登录他/她应该收到发送的消息,但他没有收到该消息。我正在使用QuickBlox,并使用QuickBlox SDK提供的示例尝试了这一点。对此有任何想法。 – Mrug 2015-04-28 05:57:07

相关问题