Ich habe ein Problem mit time_to_live
. Ich bekomme Nachrichten, wenn das Gerät eingeschaltet ist, aber wenn es offline ist, bekomme ich die Nachricht nicht oder zumindest wird es nicht in den ersten 15 Minuten gesendet. Ich sende die Nachricht mit Verzögerung im Leerlauf wahr und time_to_live
2419200. Irgendwelche Ideen, was passiert, vielleicht habe ich die Dokumentation falsch gelesen.
Aus der Dokumentation:
delay_while_idle : Gibt an, dass die Nachricht nicht enthalten sein sollte sofort gesendet werden, wenn sich das Gerät im Leerlauf befindet. Der Server wartet auf das Gerät wird aktiv und dann nur die letzte Nachricht für jedes Gerät collapse_key Wert wird gesendet. Wahlweise. Der Standardwert ist false, und muss ein JSON-Boolean sein.
time_to_live : Wie lange (in Sekunden) sollte die Nachricht in GCM aufbewahrt werden? Speicher, wenn das Gerät offline ist. Optional (Standard-Time-to-Live ist 4 Wochen, und muss als JSON-Nummer festgelegt werden). Wenn Sie diesen Parameter verwenden, Sie müssen auch einen collapse_key angeben.
Sie müssen den Wert time_to_live nicht auf 2419200 setzen. Dies ist der Standardwert. Wenn Sie ihn jedoch festlegen, sollten Sie auch den collapse_key setzen.
collapse_key : Eine beliebige Zeichenfolge (z. B. "Updates verfügbar"), mit der eine Gruppe ähnlicher Nachrichten minimiert wird, wenn sich das Gerät im Status befindet offline, so dass nur die letzte Nachricht an den Client gesendet wird. Dies soll vermeiden, zu viele Nachrichten an das Telefon zu senden, wenn es kommt wieder online. Beachten Sie, dass es keine Garantie für die Bestellung gibt in denen Nachrichten gesendet werden, ist die "letzte" Nachricht möglicherweise nicht die letzte Nachricht, die vom Anwendungsserver gesendet wurde. Siehe Erweiterte Themen für mehr Diskussion zu diesem Thema. Optional, außer Sie verwenden die time_to_live-Parameter - in diesem Fall müssen Sie auch a angeben collapse_key.
Weitere Einzelheiten finden Sie in der Anleitung .
Tags und Links android push-notification google-cloud-messaging