Подтвердить что ты не робот

IOS чат APNS, сокеты или временной интервал

Я делаю приложение для чата для iPhone, но я не уверен, что сообщения о разговорах должны появляться мгновенно.

Я прочитал тонны результатов Google по этой теме. Также один раз:
- http://www.raywenderlich.com/3932/how-to-create-a-socket-based-iphone-app-and-server
- http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12

подход APNS:
На iPhone будет выведено невидимое уведомление, указывающее, что новое сообщение готово к чтению. Таким образом, приложение отправит запрос на непрочитанные сообщения. Поэтому вместо ручного опроса новых сообщений я дам APNS помощь в этом. Но я не уверен?

Сокеты:
Создание соединения сокета, которое доступно для обмена данными. Когда новые сообщения будут найдены в db, он автоматически отправит данные в приложение. Но как насчет диапазона IP, межсетевого экрана, энергопотребления и других факторов? снова я не уверен: (

Опрос:
Сделайте временной интервал, когда я запрашиваю запрос, энергопотребление здесь является моим противником.

Мой вопрос:
- Какой подход лучше?
- Другие предложения?
- Мне действительно нужны некоторые минусы и плюсы от людей, имеющих опыт в этой теме.

Примеры всегда хорошие.
Спасибо

4b9b3361

Ответ 1

Я думаю, что ваша главная проблема заключается в том, как получать новые сообщения, пока ваше приложение находится в фоновом режиме. Потому что это не так, как будто у меня будет приложение для обмена сообщениями в течение всего дня, когда я получаю уведомления с приложениями вроде WhatsApp.

Вместо сокетов TCPIP вы можете использовать websockets. Поскольку это HTTP, проблем с брандмауэром нет, но для этого требуется постоянное соединение с приложением на переднем плане, который истощает батарею.

И поскольку только музыка, местоположение или голос ip, разрешено запускать на фоне, вы не можете опросить, если приложение открыто. Обратите внимание: если вы зарегистрируетесь для выполнения фоновых задач и делаете что-то еще, Apple будет замечать и отклонять ваше приложение.

Поэтому используйте APNS. Это то, что делает WhatsApp.