Je développe actuellement une application et, en mettant en œuvre la fonction C2DM, je me suis demandé comment cela fonctionnait.
Cela fonctionne-t-il par sondage ? Y a-t-il un SMS caché ? Comment font-ils pour pousser le message sur mon appareil ?
Je développe actuellement une application et, en mettant en œuvre la fonction C2DM, je me suis demandé comment cela fonctionnait.
Cela fonctionne-t-il par sondage ? Y a-t-il un SMS caché ? Comment font-ils pour pousser le message sur mon appareil ?
Sur la base de ce document : Et c'est en gros la façon dont les autres services de notification push fonctionnent aussi...
Du côté du C2DM, le jeton est associé à un dispositif spécifique. Lorsque vous envoyez une notification push via C2DM, les serveurs de Google envoient cette information à l'appareil. Les bibliothèques C2DM sur l'appareil les "écoutent" et les transmettent aux intents si nécessaire.
Android fournit des intentions à l'échelle du système pour ce type de déclenchement d'applications. Pour C2DM, il existe une classe entière d'intents du type com.google.Android.c2dm.*. Pour utiliser ces intents, vous devez ajouter des récepteurs de diffusion dans votre application et les enregistrer auprès du système.
Pour que cela fonctionne vraiment, vous aurez également besoin d'un service de poussée à distance. Votre logiciel sur le serveur doit être capable d'envoyer des messages au serveur C2DM de Google en utilisant HTTP/HTTPS.
Désormais, chaque fois qu'une communication basée sur le protocole push est établie depuis le serveur C2DM, le système Android déclenche l'application en fonction des intentions enregistrées au moment de l'installation de l'application...
Mise à jour :
Plus clairement, lorsque le serveur de poussée de votre application envoie un message au serveur C2DM de Google, ce dernier vérifie le jeton joint au message. Attention, ce jeton a été généré par com.google.Android.c2dm.intent.register si l'utilisateur s'est connecté avec son compte Google. Ainsi, grâce à ce jeton, Google peut connaître l'emplacement exact de la livraison. Ensuite, Google se sert de Google Services Framework pour pousser le message dans un format brut de paire clé-valeur...
Sondage ou pas ?
Non. Il utilise la même technologie de type push email dans laquelle la connexion entre le serveur et le client est maintenue ouverte. Ainsi, il n'est pas nécessaire d'exécuter un service de sondage
AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.