Ich verwende Firebase Cloud Messaging (FCM) und den unten aufgeführten Code, wenn ein neues Token auf dem Kundengerät generiert wird ... Ich sende dieses neue TOKEN an meine SERVER DB (Cloud), wo ich es in der Reihenfolge speichern kann um zukünftige Push-Benachrichtigungen mithilfe der CFM-API vom Server an das Gerät senden zu können.
%Vor%Dadurch habe ich auf dem Server eine Liste von ALLEN (vielfachen) Geräten, bei denen ein Kunde angemeldet ist. (Tablet, Telefon, iPhone, Android, usw.)
Gibt es eine Möglichkeit, ein Token jederzeit zu überprüfen / zu validieren?
Ich möchte wissen / sicherstellen, dass alle Token, die ich einem Kunden zugeordnet habe, echten Geräten gehören. Ich möchte keine Push-Benachrichtigungen an nicht vorhandene Token senden.
So etwas gibt es nicht, die einzige Information, die Sie von einem Token erhalten können, ist App-Information und nicht, ob sie gültig ist oder nicht
Was Sie tun sollten, ist auf die Antwort zu achten, wenn Sie Push-outs senden und wenn die Keys nicht mehr gültig sind, wird Ihnen die Antwort sagen, welche Keys mit NotRegistered
Hier ist eine Beispiel-Anforderung, die zeigt, wie ein Token validiert wird, ohne dass tatsächlich eine Nachricht gesendet werden muss:
%Vor%Beispiel für eine ungültige Antwort:
%Vor%Beispiel gültige Antwort:
%Vor%Ich habe diese Antwort vom Supportteam von Google erhalten.
Es gibt keine Möglichkeit zu überprüfen, ob ein Token noch gültig ist, bevor die Downstream-Nachricht gesendet wird. Was Sie tun müssen, ist die Antwort nach dem Senden der Nachricht zu überprüfen und dann zu überprüfen, ob die Antwort einen Fehler enthält.
Wenn der Server beispielsweise einen 200 + error:NotRegistered
http-Code zurückgibt, bedeutet dies, dass ein vorhandenes Registrierungs-Token möglicherweise nicht mehr gültig ist.
Im Abschnitt " Fehlercodes für nachgeschaltete Nachrichten des FGC ", finden Sie dokumentiert jede mögliche Statusantwort.
Tatsächlich gibt es einen Workaround, Sie können dry_run = true
Wenn dieser Parameter auf "true" gesetzt ist, können Entwickler eine Anfrage testen, ohne tatsächlich eine Nachricht zu senden.
Wenn der Benutzer sich abmeldet, haben Sie eine Antwort mit NotRegistered
, aber echtes Senden wird nicht durchgeführt
Tags und Links android firebase firebase-cloud-messaging