GCM 3.0 Actualisation de l'enregistrement jeton nécessaire?
Avec la dernière GCM mise à jour (3.0) est-il encore nécessaire de gérer l'actualisation de l'enregistrement jeton lors de situations telles que le redémarrage? Cet article discute de faire de la GCM, fiable et couvre plusieurs situations où l'enregistrement jeton peut changer. Ces étapes sont nécessaires en vertu de la dernière version? Au cours de l'OI 2015 de parler, ils ont parlé comme si l'enregistrement jeton a été bonne jusqu'à ce que l'application est désinstallée à partir de l'appareil.
InstanceID instanceID = InstanceID.getInstance(this);
String token = instanceID.getToken(getString(R.string.gcm_defaultSenderId),
GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
- Cette mise à jour OS/reboot conseils est tout simplement faux, comme l'a déclaré
hackbod
dans les commentaires (c'est Dianne Hackborn, Android Cadre de l'Ingénieur) - Alors.. La seule chose dont nous avons besoin pour mettre en œuvre maintenant, c'est que
onTokenRefresh()
méthode (&Service
). Droit? Et le serveur doit mettre à jour la gcm de temps à autre, qui appellent le rappel. Droit? 🙂
Vous devez vous connecter pour publier un commentaire.
L'enregistrement jeton de ne pas actualiser après le redémarrage de l'ordinateur, mais il y a d'autres situations où il pourrait se rafraîchir, de sorte que vous devez gérer.
Avec la mise à jour de l'API, vous devez mettre en œuvre un InstanceIDListenerService afin de gérer jeton actualise, comme le démontre le google-services#android#gcm exemple d'application
Ce qui concerne les autres situations, lorsque le jeton d'actualisation qui pourrait arriver.
Enregistrée de l'Appareil description de l'erreur:
EDIT: découvrez le InstanceID docs que cette montre comment gérer jeton rafraîchissant. https://developers.google.com/instance-id/ et https://developers.google.com/instance-id/guides/android-implementation
Son pas très clair à partir d'un serveur PoV à mon humble avis.
De https://developers.google.com/cloud-messaging/registration#keeping-the-registration-state-in-sync nous avons
Hmm, pas de lien pour la référence de l'API - donc à la recherche à l'api du serveur ici https://developers.google.com/cloud-messaging/server-ref#interpret-downstream nous avons un
canonical_ids
champ qui estet un
results
domaine qui aPour le côté client, nous avons la nouvelle https://developers.google.com/android/reference/com/google/android/gms/iid/InstanceIDListenerService.html#onTokenRefresh()
Alors, comment vous initier jeton d'actualisation à partir du serveur est au delà de moi! Mais pour répondre à votre question, oui, vous n'avez encore besoin de manipulation du jeton d'actualisation côté client!
EDIT: lecture intéressante La manipulation d'enregistrement des changements d'identité dans Google Cloud Messaging sur Android