Sí, Android mantiene una conexión activa con los servidores de Google, pero no usa mucha energía o datos, porque no se envía tráfico hasta que algo envía un mensaje GCM a una aplicación en su teléfono. Solo hay una conexión en el teléfono, utilizada por todas las aplicaciones: la instalación de una nueva aplicación que usa GCM no agrega ninguna carga adicional.
El primer paso en GCM es que un servidor de terceros (como un servidor de correo electrónico) envía una solicitud al servidor GCM de Google. Este servidor luego envía el mensaje a su dispositivo, a través de esa conexión abierta. El sistema Android mira el mensaje para determinar para qué aplicación es, e inicia esa aplicación. La aplicación debe haberse registrado con Android para usar GCM y debe tener el permiso correspondiente. Cuando se inicia la aplicación, puede crear una notificación de inmediato con los datos del mensaje. Los mensajes de GCM tienen un tamaño muy limitado, por lo que la aplicación podría abrir una conexión normal al servidor de terceros para obtener más información (por ejemplo, descargar los encabezados de los nuevos correos electrónicos).
La ventaja de usar notificaciones push es que las aplicaciones no tienen que ejecutarse a intervalos regulares para verificar si hay nuevos datos, ahorrando energía y datos. La ventaja de tener un mecanismo centralizado como GCM es que el dispositivo solo necesita una conexión de red abierta y el sistema Android GCM es lo único que debe seguir ejecutándose, en lugar de que cada aplicación tenga que permanecer ejecutándose en segundo plano para mantener su propia red. conexión a su propio servidor.