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[1].
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[source insuffisante][Passage contradictoire (Voir passage plus loin dans le paragraphe)] maximum contenant des données « utiles » peuvent être également envoyés[2][source insuffisante].
Chaque message de notification avait une taille maximale de 1 024 octets[Passage contradictoire (C’était probablement une limite à C2DM avant d’être remplacé par GCM.)][3] 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[3],[4],[5].
La transition vers GCM fut annoncée la première fois au Google I/O le [6] 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[7]».
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 , Google a officiellement rendu obsolète le Google Cloud Messaging et incite depuis à convertir les applications vers le Firebase Cloud Messaging(id). Depuis le , 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[8].
Le code supportant le Google Cloud Messaging fut ensuite complètement retiré de la trousse de développement d’Android (SDK) le , 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.