2016-05-09 5 views
0

Ich hole Id und Token mit InstanceId und irgendwo in meiner App speichern. Nach der Neuinstallation der App, habe ich neue Token und ID. Wenn ich ein altes Token und eine ID zum Senden von Nachrichten über gcm verwende, zeigt es Erfolg. Aber wenn ich nur Token zum Senden von Nachrichten verwende, dann zeigt es kanonisch. Kann das jemand im Detail erklären?Verwechslung mit Gcm Token mit InstanceId

Beispiel -> Ergebnis:

1) "oldid: oldToken" -> Erfolg

2) "oldToken" -> Erfolg und kanonisch mit neuen Token

3) „newid: newToken "-> Erfolg

4) "newToken" -> Erfolg

I Problem habe in dem 1. Beispiel: Warum ist das nicht kanonisch und neue Token zeigt?

prüft Link: click here

Antwort

0

zu beachten, dass Canonical-ID in der Antwort zurückgegeben wird, wenn Sie eine Nachricht von Ihrem Server zu Googles gcm-Server senden. A canonical registration ID ist das Registrierungs-Token der letzten von der Client-App angeforderten Registrierung. Dies ist die ID, die der Server beim Senden von Nachrichten an das Gerät verwenden soll.

Von diesen thread:

Wenn Sie ein kanonischen Registrierungs-ID in der Antwort von Google erhalten, die Nachricht vom GCM-Server und der GCM-Server akzeptiert wurde versuchen würde, es auf das Gerät zu liefern. Ob es tatsächlich an das Gerät gesendet wird, hängt davon ab, ob das Gerät verfügbar ist (d. H. Mit dem Internet verbunden ist). Wenn Ihr Server also eine GCM-Nachricht an die alte ID und die neue ID sendet, erhält das Gerät wahrscheinlich zwei Nachrichten.

Eine kanonische Registrierungs-ID ist die ID der letzten von Ihrer Anwendung angeforderten Registrierung. Dies ist die ID, die der Server beim Senden von Nachrichten an das Gerät verwenden soll. Wenn Sie später versuchen, eine Nachricht mit einer anderen Registrierungs-ID zu senden, wird GCM die Anfrage wie gewohnt bearbeiten, jedoch die kanonische Registrierungs-ID in das Feld registration_id der Antwort aufnehmen. Stellen Sie sicher, dass die in Ihrem Server gespeicherte registration ID durch diese canonical ID ersetzt wird.

Alte Registrierungs-IDs können eine Weile aktiv bleiben. Google teilt Ihnen jedoch mit, dass Sie Ihre Regid für eine bestimmte Geräte/App-Kombination mithilfe der canonical ID in der Antwort auf Ihre gesendete Nachricht aktualisieren müssen.

prüfen diese im Zusammenhang SO Frage: