Хотели понять основные причины того, что push-уведомления, такие как Google Cloud Messaging (ранее называвшиеся Google Cloud to Device Messaging), более экономичны для батареи, для связи в облаке ‹--> устройства?
На мой взгляд, альтернативные технологии включают «опрос» (через TCP/IP) при сохранении соединения в состоянии CONNECTED с использованием поддержки активности. Или есть что-то лучше?
Мое ограниченное понимание GCM заключается в том, что он также использует TCP/IP и поддержку активности, но клиент никогда не опрашивает сервер для получения статуса. Вместо этого сервер информирует клиента о входящем сообщении, а приложения, подписавшиеся на определенный тип сообщений, уведомляются об этом сообщении асинхронно. Кроме того, общее соединение GCM совместно используется несколькими приложениями, что позволяет электронике устройства переходить в спящий режим / режим гибернации в «скоординированное» время, при этом несколько приложений не поддерживают электронику более «включенной» (электрически активной), чем они должны быть. Это правильное понимание? Или есть что-то большее?
Наконец, как именно это соотносится с MQTT через TCP/IP с поддержкой активности? Каковы причины того, что MQTT (очевидно) менее эффективен, чем GCM?