Работа в фоновом режиме в 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-уведомления все содержимое чата.

Другие вопросы по тегам