Kann mein Server die Bestätigung vom GCM erhalten, sobald die beabsichtigte Nachricht an die Android-App gesendet wurde?

8

Ich habe begonnen, GCM in meine Android-Anwendung zu integrieren. Mit Hilfe des Startup-Lernprogramms habe ich das Beispiel-Demo eingerichtet und es funktioniert fantastisch. Ich habe auch die verschiedenen Antwortstatus verstanden, die empfangen wurden, als mein Server die Nachricht an GCM gesendet hat, was ich glaube kennzeichnet den Status der Kommunikation zwischen meinem Server und dem GCM-Server.

Meine Frage ist, gibt es eine Möglichkeit, den Status der Kommunikation zwischen GCM-Server und Android-Anwendung zu erhalten? Grundsätzlich eine Bestätigung, ob die beabsichtigte Nachricht erfolgreich zugestellt wurde oder nicht. Ich habe auch gelesen, dass das Standard-Zeitlimit 4 Wochen beträgt, es sei denn, das time_to_live-Flag ist gesetzt, was my aktiviert zu verstehen, dass GCM die Warteschlange verwaltet und die Nachrichtenübermittlung definitiv sicherstellen würde.

Um jedoch die Zuverlässigkeit als Drittanbieter-Server zu gewährleisten, sollte ich jemals erneut versuchen, die gleiche Nachricht zu senden (wenn dies nicht bereits von der GCM-Infrastruktur durchgeführt wurde)? Wenn ich mich um den Wiederholungsversuch kümmern muss, wie kann ich den Fehler feststellen?

Eine Möglichkeit ist es, eine Push-ID zu definieren und sie zusammen mit der Nachricht zu senden. Sobald sie angekommen ist, meldet die Android-App den Server mit der entsprechenden Push-ID. Wenn die Antwort nicht innerhalb einer bestimmten Zeit empfangen wurde, versucht der Server erneut, die Nachricht zu senden. Dieser Ansatz wird in der 2. Antwort des Beitrags definiert und hilft Ihnen dabei, den Zeitaufwand der GCM (speziell für das QA-Team).

    
Mukesh Bhojwani 03.01.2013, 09:09
quelle

2 Antworten

2

Ich glaube nicht, dass es möglich ist, diese Informationen von den GCM-Servern zu bekommen. Das bedeutet, dass Sie sich auf eine andere Kommunikationsmethode (wie Sie beschrieben haben) zwischen den Client-Apps, die Ihre Nachricht erfolgreich empfangen, und Ihrem Server verlassen müssen.

Die Antwort, die Sie von den GCM-Servern erhalten (wie Sie wissen), lässt Sie entweder wissen :

%Vor%

oder

%Vor%

Das bedeutet, dass Sie wissen können, welche Registrierungs-IDs ordnungsgemäß verarbeitet wurden (z. B. gültige Werte, die noch bei GCM registriert sind), aber nicht, ob die Nachrichten erfolgreich an das tatsächliche Gerät übermittelt wurden oder nicht.

    
selsine 03.01.2013, 15:35
quelle
2

Laut GCM-Dokumentation von Google .... kann dies hilfreich sein:

Ссылка

    
SkyNet801 07.08.2014 07:26
quelle