Je me demande comment fonctionne le système de notifications push?
Existe-t-il une connexion TCP / IP active qui s'exécute en arrière-plan sur les serveurs Google?
push-notifications
opc0de
la source
la source
Manifest
). Je pourrais bien imaginer un service Google faisant le "vrai travail", et l'application enregistrant simplement un "récepteur". La description ci-dessus était plus "générale", pas spécifique à Android, et j'ai essayé de rester simple;)Réponses:
Oui, Android conserve une connexion active aux serveurs de Google, mais il n'utilise pas beaucoup d'énergie ou de données, car aucun trafic n'est envoyé jusqu'à ce que quelque chose envoie un message GCM à une application sur votre téléphone. Il n'y a qu'une seule connexion sur le téléphone, utilisée par toutes les applications: l'installation d'une nouvelle application qui utilise GCM n'ajoute aucune charge supplémentaire.
La première étape de GCM est qu'un serveur tiers (tel qu'un serveur de messagerie) envoie une demande au serveur GCM de Google. Ce serveur envoie ensuite le message à votre appareil, via cette connexion ouverte. Le système Android examine le message pour déterminer à quelle application il est destiné et démarre cette application. L'application doit être enregistrée auprès d'Android pour utiliser GCM, et elle doit avoir l'autorisation appropriée. Lorsque l'application démarre, elle peut créer une notification immédiatement avec les données du message. La taille des messages GCM est très limitée, de sorte que l'application peut plutôt ouvrir une connexion normale au serveur tiers pour obtenir plus d'informations (par exemple, télécharger les en-têtes des nouveaux e-mails).
L'avantage de l'utilisation des notifications push est que les applications n'ont pas à s'exécuter à intervalles réguliers pour rechercher de nouvelles données, économisant ainsi de l'énergie et des données. L'avantage d'un mécanisme centralisé comme GCM est que l'appareil n'a besoin que d'une seule connexion réseau ouverte et que le système Android GCM est la seule chose qui doit continuer à fonctionner, plutôt que chaque application doive continuer à fonctionner en arrière-plan pour conserver son propre réseau. connexion à son propre serveur.
la source
Le système d'exploitation Android utilise désormais GCM (Google Cloud Messaging) pour Push Notification WS. Vous pouvez vous faire une meilleure idée ici ; il vous donnera un aperçu architectural du service de notification push complet avec son cycle de vie.
J'espère que cela vous aidera.
la source
Réponse tardive à une vieille question mais mérite d'être posée.
GCM a été déconseillé en avril 2018 et Google a recommandé d'utiliser FCM à la place, ce qui est similaire à GCM.
la source