В настоящее время я нахожусь в процессе разработки приложения, у которого есть очень требовательные потребности.
Проект
Требуется приложение, которое может взаимодействовать с сервером.
Небольшие сообщения должны быть отправлены в приложение, которое может отображать уведомление или начать деятельность.
Требования
Клиент должен быть уверен, что телефон всегда «подключен».
Клиент ожидает, что приложение может определить, когда оно больше не подключено (или не может подключиться) к серверу, о котором оно сообщает пользователю.
Клиент должен иметь возможность отправлять сообщения на отдельные устройства
Если клиенту необходимо передать сообщение подключенным устройствам и отдельным устройствам.
Мои мысли (или проблемы)
В настоящее время приложение опрашивает сервер с помощью http-запроса раз в минуту - если приложение не может подключиться к серверу, пользователь получает уведомление. Опрос может определить, какое устройство вызывает, и сообщить, есть ли для него сообщение.
Но ...
IMO, это ужасный дизайн - он генерирует много избыточного трафика, использует ресурсы, которые, вероятно, не были необходимы, и предлагает много проблем с подключением (которые я не уверен, что когда-либо буду проходить, независимо от того, какой метод используется).
Мне нужен ваш опыт, чтобы выбрать правильное решение для моего проекта.
Я думал о C2DM, но я не уверен, что это может удовлетворить мои потребности?
Является ли опрос для моего единственного реального решения?
Есть ли третий вариант, о котором я не думал?