2013-03-13 5 views
0

У меня проблема с доставкой сообщений в чате, когда один из пользователей переходит в автономный режим. Когда 1-на-1 чат инициализируется и два пользователя общаются, сообщения доставляются, и все работает отлично, но когда приложение одного из пользователей переходит в фоновый режим, другое поддерживает обмен сообщениями. Похоже, что сообщения отправляются, сохраняются в истории и кеше (я регистрирую его), но когда другие пользователи возвращаются в Интернет и извлекают историю - эти сообщения не отображаются.Проблемы с доставкой сообщений чата пользователю offline

В журналах я вижу, они приходят с задержкой после приложения перезагружается:

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 чат (Кроме того, я не использую Push Notifications пока).

Можете ли вы посоветовать мне что-то по этому вопросу?

спасибо.

ОБНОВЛЕНИЕ: после переустановки приложения история сообщений с пользователем не извлекается, это означает, что, я думаю, история, о которой я говорила, хранилась в кеше. Похоже, что у меня проблемы с получением истории с сервера. Я пробовал 'message.delayed = 1' в 'ChatDidReceiveMessage', но это не помогло.

ответ

1

Вам необходимо выйти из чата, когда вы перейдете на задний план и снова войдите в систему, когда вы перейдете на передний план.

Ваши сообщения будут получены OK в этом случае

+0

Спасибо! Не могли бы вы рассказать мне что-то о истории чата, которая не была восстановлена ​​после того, как я удалил и перестроил приложение на устройстве? – user2137346

+0

Пожалуйста, ознакомьтесь с руководством по истории чатов здесь http://quickblox.com/developers/SimpleSample-chat_users-ios#Manage_Chat_History –

+0

@IgorKhomenko: Я пробовал очень простой вариант использования, я отправил сообщение пользователю, который уже вышел из системы, теперь когда этот пользователь входит в систему, он/она должен получать сообщение, которое было отправлено, но Он не получил это Сообщение. Я использую QuickBlox и пробовал эту штуку с помощью примера, предоставленного с помощью QuickBlox SDK. Есть ли идея по этому поводу. – Mrug

Смежные вопросы