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