Работа в фоновом режиме в XMPP
Я работаю над XMPP. Я хочу получать уведомления в фоновом режиме. И я это тоже реализую,
- (void)xmppStream:(XMPPStream *)sender socketWillConnect:(GCDAsyncSocket *)socket
{
// Tell the socket to stay around if the app goes to the background (only works on apps with the VoIP background flag set)
[socket performBlock:^{
[socket enableBackgroundingOnSocket];
}];
}
в моем коде я установил флаг VOIP в фоновых режимах файла app plist. В этом режиме мое приложение может работать в фоновом режиме полностью. Но яблоко отвергает это.
Так. я думаю, что иначе APNS(Push Notification), но в моем приложении огромные пользователи в чате, тогда как обрабатывать сообщения, используя Push Notification?
И еще одна вещь, я могу установить тихое воспроизведение аудио файла в фоновом режиме и установить режим работы фона? Таким образом, любая проблема или проблема regection со стороны Apple?
Итак, дайте мне правильную идею и предложение по этому вопросу.
Спасибо х заранее.
3 ответа
Как обрабатывать сообщения с помощью Push-уведомлений?
Вам необходимо проверить, подключен ли пользователь к XMPP-серверу или нет. Если пользователь подключен к XMPP, отправьте сообщение XMPP, если пользователь не подключен к XMPP, отправьте push-уведомление, которое поможет пользователю появляться в сети и получать сообщения.
И еще одна вещь, я могу установить тихое воспроизведение аудио файла в фоновом режиме и установить режим работы фона? Таким образом, любая проблема или проблема отказа со стороны Apple?
Да, Apple будет отклонять приложение (предназначен для обмана Apple)
И еще одна вещь, я могу установить тихое воспроизведение аудио файла в фоновом режиме и установить режим работы фона? Таким образом, любая проблема или проблема отказа со стороны Apple?
Таким образом, Apple отклоняет приложение.
Чтобы уведомить пользователя о полученном сообщении, вы должны использовать локальное уведомление для фонового и основного состояния приложения и использовать push-уведомление для неработающего состояния приложения.
Для достижения вашей цели используйте любой фоновый режим не является решением.
Когда ваше приложение будет убито, отправьте веб-сервис на сервер, который скажет - вы не в сети.
Затем, после того, как сервер может отправить вам Push-уведомления все содержимое чата.