Cómo hacer una aplicación de chateo usando GCM en Android

¿Cuál es el objetivo de GCM (Google Cloud Messaging)?

Tomemos un ejemplo de aplicación de chat. El usuario no está usando su aplicación de chat o dispositivo en estado bloqueado y en ese momento su amigo le envió un mensaje. Ahora el usuario no está usando la aplicación, él / ella no recibirá mensajes técnicamente. Ese es el problema. Ahora, tienes dos formas de resolver esto [la segunda forma es la respuesta a tu pregunta]:

  1. Realice un proceso en segundo plano que se ejecute 24 x 7 horas. Y buscará mensajes periódicamente desde el servidor. Pero nos costará el agotamiento de la batería. [Y la futura versión de Android eliminará dicho proceso en segundo plano de acuerdo con Google I / O, 2016]
  2. Es por eso que GCM ha inventado para ahorrar batería del usuario. Cuando el servidor recibe algunos mensajes para el usuario, enviará una notificación a GCM y GCM enviará una notificación al dispositivo móvil de ese usuario. Por lo tanto, la notificación de GCM le permite saber que hay algunos mensajes para que el usuario obtenga del servidor. Y en ese momento, debe llamar al servidor para buscar mensajes.

Ahora GCM se ha convertido a FCM (Firebase Cloud Messaging). Para más información, consulte aquí.