Firebase Messagerie en Nuage - Comment valider les Jetons?
Je suis à l'aide de Firebase Messagerie en Nuage (FCM) et selon les abreviated code ci-dessous à chaque fois un nouveau Jeton est généré sur le Client Périphérique... j'envoie ce nouveau JETON à mon SERVEUR DB (Cloud) où je l'enregistrer afin de pouvoir envoyer les de Notification Push depuis le Serveur vers l'Appareil à l'aide de la CFM API.
//public class CFMInstanceIDService extends FirebaseInstanceIdService ...
public void onTokenRefresh() {
...
String cfmToken = FirebaseInstanceId.getInstance().getToken();
...
sendRegistrationToServer(customerGuid, cfmToken);
}
En faisant ce que j'ai sur le Serveur une liste de TOUS les (multiples) des Dispositifs où un Client est connecté. (Tablette, smartphone, iPhone, Android, etc)
Est-il un moyen de vérifier/valider un Jeton à tout moment?
Je voudrais savoir/s'assurer que tous les jetons que j'ai associé à un Client appartiennent à des Périphériques réels. Je ne veux pas envoyer des Notifications Push pour non-existant Jetons.
Vous devez vous connecter pour publier un commentaire.
Voici un exemple de demande curl qui montre comment valider un jeton sans avoir à envoyer un message:
Exemple de réponse non valide:
Exemple de réponse valide:
J'ai reçu cette réponse de google firebase de l'équipe de soutien.
Pas une telle chose existe, la seule information que vous pouvez obtenir à partir d'un jeton information de l'application et non pas si elle est valide ou pas
https://developers.google.com/instance-id/reference/server#get_information_about_app_instances
ce que vous devriez faire est de regarder pour la réponse quand vous allez à envoyer des push et si les touches ne sont pas plus valable que la réponse va vous dire ce que les clés doivent être supprimées avec
NotRegistered
https://firebase.google.com/docs/cloud-messaging/server
En fait il existe une solution de contournement, vous pouvez utiliser
dry_run = true
firebase docs
si l'utilisateur se désabonner, vous avez une réponse avec
NotRegistered
mais réel de l'envoi ne sera pas exécutéeIl n'y a aucun moyen de valider si un jeton est toujours valide avant d'envoyer l'aval message. Ce que vous devez faire est de vérifier la réponse après l'envoi du message et de vérifier ensuite si la réponse contient aucune erreur.
Par exemple, si le serveur renvoie un
200 + error:NotRegistered
code http, cela signifie qu'un enregistrement existant jeton peut cesser d'être valide.Dans la section "En aval de message d'erreur codes de réponse de l'EXCISION", vous trouverez documenté chaque état possible de la réponse.