# Google Cloud Messaging

Google Cloud Messaging (GCM) est un service qui permet aux développeurs d’envoyer des données depuis des serveurs vers des applications Android, des applications ou des extensions Google Chrome.

## Description

GCM fournissait un mécanisme simple et léger qu'un serveur peut utiliser pour ordonner à des applications mobiles de contacter directement le serveur, dans le but de récupérer des données propres à l'application ou des données liées à l'utilisateur. GCM prend en charge tous les aspects de gestion de la file d'attente des messages et l'envoi de ceux-ci vers l'appareil cible.
GCM est un service gratuit qui offre la possibilité d’envoyer un court message à une application Android, l’informant que de nouvelles données peuvent être récupérées. Des messages de 4 ko maximum contenant des données « utiles » peuvent être également envoyés.
Chaque message de notification avait une taille maximale de 1 024 octets dans la version originale appelée « C2DM ». Google limite aussi le nombre de messages qu’un expéditeur envoie dans un agrégat ainsi que le nombre de messages qu’un expéditeur peut envoyer à chaque dispositif.
Il n’est pas nécessaire qu’une application soit active pour recevoir des messages, puisque le système réveillera l’application via un mécanisme appelé « Intent Broadcast » lorsqu’un message arrive. Cela est bien sûr possible dans la mesure où l’application est configurée avec le bon « receiver » ainsi qu’avec les bonnes permissions. GCM ne fournit aucune interface graphique et aucun algorithme prédéfini de prise en charge des messages. Au lieu de cela, il passe simplement le message brut directement à l’application, qui a toute la latitude pour le traiter comme elle le veut. Par exemple, l’application peut afficher une notification système ou une interface personnalisée, ou elle peut simplement synchroniser des données sans ne rien afficher.

## Historique

GCM fut lancé la première fois sous le nom de Android Cloud to Device Messaging (C2DM) présent dans Android 2.2$^,$$^,$.
La transition vers GCM fut annoncée la première fois au Google I/O le 27 juin 2012 Le service Chrome fut annoncé avant le Google I/O 2013 dans le billet d’un blog intitulé « Building efficient apps and extensions with push messaging».
Au Google I/O de 2015, Google annonça une nouvelle version de sa trousse de développement (SDK) ainsi que le support d’iOS.

### Fin de Google Cloud Messaging

Le 10 avril 2018, Google a officiellement rendu obsolète le Google Cloud Messaging et incite depuis à convertir les applications vers le Firebase Cloud Messaging (id). Depuis le 11 avril 2019, il n’est plus possible de créer de nouveaux jetons GCM et bien que les utilisateurs existants peuvent continuer à utiliser leur application, il n’est plus possible d’enregistrer de nouveaux utilisateurs ou de nouvelles installations avec l’ancienne interface.
Le code supportant le Google Cloud Messaging fut ensuite complètement retiré de la trousse de développement d’Android (SDK) le 29 mai 2019, ce qui n’empêche cependant pas les clients existants de continuer à fonctionner via le Firebase Cloud Messaging (id), qui est compatible, mais qui refuse cependant d’enregistrer nouvel utilisateur n’utilisant pas la nouvelle interface.