Какую технологию использует GCM (Google Cloud Messaging)?
Это работает, периодически опрашивая серверы? Работает ли он с использованием длительного http-запроса, например, кометы? Или есть какая-то новая технология, которую они используют?
1 ответ
Вот хороший обзор: http://developer.android.com/google/gcm/gcm.html
Где-то это объясняет, что GCM предпочтительнее опроса приложений, потому что ОС Android выполняет опрос через длительное соединение ОС с сервером GCM. Поэтому, хотя они и называют это "проталкивающей" технологией, устройство действительно опрашивает / тянет. Затем ОС сообщает приложению, что сообщение есть, и приложение получает его. Google просто выполняет работу для всех приложений через один канал, который ОС уже использует для проверки обновлений, поэтому устройство не будет постоянно опрашивать, поскольку все приложения возвращаются на свои серверы, если GCM не использовался.
Существуют идентификаторы, которые помогают ОС знать, какое приложение нуждается в каком сообщении, а разработчику необходимо настроить и поддерживать сервер, который помогает "отправлять" сообщения на устройства. Могут быть сообщения широковещательного типа или сообщения, предназначенные для отдельных устройств. Google выделяет несколько различных типов коммуникационных механизмов - HTTP и XMPP.
Никаких реальных новых технологий - Google просто предоставляет платформу / интерфейс / архитектуру для разработчиков.
Эта информация только касается поверхности - в документации гораздо больше деталей.