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, межсетевого экрана, энергопотребления и других факторов? снова я не уверен: (
Опрос:
Сделайте временной интервал, когда я запрашиваю запрос, энергопотребление здесь является моим противником.
Мой вопрос:
- Какой подход лучше?
- Другие предложения?
- Мне действительно нужны некоторые минусы и плюсы от людей, имеющих опыт в этой теме.
Примеры всегда хорошие.
Спасибо
Ответы
Ответ 1
Я думаю, что ваша главная проблема заключается в том, как получать новые сообщения, пока ваше приложение находится в фоновом режиме. Потому что это не так, как будто у меня будет приложение для обмена сообщениями в течение всего дня, когда я получаю уведомления с приложениями вроде WhatsApp.
Вместо сокетов TCPIP вы можете использовать websockets. Поскольку это HTTP, проблем с брандмауэром нет, но для этого требуется постоянное соединение с приложением на переднем плане, который истощает батарею.
И поскольку только музыка, местоположение или голос ip, разрешено запускать на фоне, вы не можете опросить, если приложение открыто. Обратите внимание: если вы зарегистрируетесь для выполнения фоновых задач и делаете что-то еще, Apple будет замечать и отклонять ваше приложение.
Поэтому используйте APNS. Это то, что делает WhatsApp.
Ответ 2
Используйте XMPP SERVER для использования в чате
http://mobile.tutsplus.com/tutorials/iphone/building-a-jabber-client-for-ios-xmpp-integration/
Я надеюсь, что эта ссылка вам будет полезна.