FCM-Benachrichtigungen und collapse_key

Ich werde senden Benachrichtigungen an Benutzer von Android-Geräten, obwohl die FB-Benachrichtigung Konsole und ich merke, dass selbst wenn ich 10 verschiedene Meldungen, während der Benutzer-Gerät offline ist, sobald der Benutzer online geht, erhält er alle 10.

Jedoch in der Feuerstellung Dokumentation heißt es:

FCM ermöglicht ein maximum von vier verschiedenen Zusammenbruch Tasten pro Gerät verwendet werden, indem der app-server zu einem bestimmten Zeitpunkt. In anderen Worten, die FCM-Verbindung-server kann gleichzeitig speichern vier verschiedene zusammenklappbare send-to-sync-Nachrichten pro Gerät, jede mit einem anderen Zusammenbruch-Taste. Überschreiten Sie diese Anzahl, FCM nur hält vier Kollaps-Tasten, mit keine Garantien über die Vereinbarungen eingehalten werden.

So sollte nicht die Benutzer erhalten nur 4 Meldungen? Bin ich etwas fehlt? (Ich bin nicht die Verlängerung der FirebaseMessagingService lasse ich die Benachrichtigung Umgang mit dem SDK)

UPDATE: Wenn Sie nicht geben Sie einen Zusammenbruch Schlüssel in die FB-Benachrichtigungen-Konsole, so scheint es, dass eine implizite Zusammenbruch Schlüssel zugeordnet ist, die Meldung und das ist die Paketname der app. Ich habe getestet, indem Sie alle Schlüssel/Wert-Paare von der getIntent().getExtras() Taste set, sobald ich starten Sie die app durch Tippen auf die Benachrichtigung. Und in der Tat, ich bin immer ein collapse_key - Schlüssel (mit dem Wert der Paket-name, auch wenn ich noch nicht angegeben, eine.

UPDATE 2: ich habe versucht, behandeln Sie die Benachrichtigungen durch die Verlängerung der FirebaseMessagingService, so dass ich die Nachrichten empfangen, die aus den Meldungen der Konsole, wenn die app im Vordergrund. Ich erhalte die Benachrichtigung, und ich manuell die Anzeige einer Benachrichtigung an den Benutzer. Und erraten, was. Zusammenbruch Tasten funktionieren Super! Ich erhalte die Meldung auf, auch wenn ich mehrere Benachrichtigungen mit dem gleichen Zusammenbruch Schlüssel. ABER dies geschieht natürlich nur, wenn die app in den Vordergrund, weil das FB-SDK ruft nicht an die onMessageReceived() wenn die app im hintergrund ist, sondern es übernimmt die Benachrichtigung selbst. Bedeutet das, dass das ein bug der FB SDK? (seit das Problem tritt nur auf, wenn die Benachrichtigung angezeigt wird, die von der SDK)

Also Frage bleibt, warum erhalte ich alle 10-Benachrichtigungen, da jede Benachrichtigung hat den gleichen Zusammenbruch Schlüssel? Vielleicht FCM bug?

  • Naja... Wenn deine Benachrichtigungen nicht zusammenbrechen Tasten, dann Sie werden nicht zusammenbrechen.
  • Gut, dass habe ich auch gedacht, aber dann lese ich dies: stackoverflow.com/questions/39655543/..., die besagt, dass die Benachrichtigungen noch eine implizite Zusammenbruch Schlüssel.
  • Hi MScott. Einfach nur neugierig, wie lange ist das Gerät offline ist?
  • Für Testzwecke bin ich nur durch ausschalten des Wi-Fi für 1 oder 2 Minuten. Ich habe noch nicht herausgefunden, wenn ich nicht geben Sie einen Zusammenbruch key, gibt es eine implizite eins? Oder kein Kollaps-Taste bedeutet, dass alle Benachrichtigungen ausgeliefert werden, ohne zu kollabieren?
  • Bitte überprüfen Sie die update-auf meine Frage.
  • Könnten Sie versuchen, es zu testen in verschiedenen Abständen (10 Minuten, 30 Minuten, 1 Stunde) und sehen, ob es das gleiche Verhalten? Wenn es so ist, dann besteht die Möglichkeit, dass etwas falsch ist mit dem Zusammenbruch Tasten, wenn nicht, dann wäre meine Vermutung, dass es einen bestimmten Zeitrahmen für den Zusammenbruch Schlüssel Verhalten (disgard Nachrichten, wenn mehr als vier) wirksam.
  • kannst du die push-Benachrichtigung auf das format, das Sie verwenden, und sind diesen Fragen auf verschiedenen android-OS - N,M,L ?
  • Eine wichtige überlegung ist hier, dass, wenn Sie mehr als 4 Zusammenbruch Tasten, dann ist das Verhalten nicht-deterministisch ist. Das ist der einzige dokumentierte Verhalten, das scheint ähnlich zu dem, was Sie beschrieben haben, und könnte-Konto für Nachrichten, die nicht zusammengebrochen. Beachten Sie auch, dass nur Meldungsart Meldungen reduziert. Wenn Sie mit einer anderen Nachricht geben, werden Sie nicht zusammengebrochen.
  • Danke für Eure Kommentare, @AL ich getestet einen 1-Stunden-Intervall, aber immer noch das gleiche. -Ashutosh schicke ich die Benachrichtigungen über die FB-Konsole (Benachrichtigungen Komponist) ohne weitere Zusatz-Tasten andere als die Standardeinstellungen. -Kato vor Etwa einer Woche, ich habe einige tests und ich hatte definitiv mehr als 4 Zusammenbruch Tasten, aber seitdem ich nicht angeben. Könnte, die gebrochen haben mit den Benachrichtigungen?
  • Hmm. Ich könnte versuchen, es auf meinem Ende und sehen, ob ich konnte, zu replizieren. Für die Zwischenzeit könntest du auch versuchen, das senden der notification Nachrichten aus dem App-Server oder nutzen Sie einfach Postbote oder cURL und sehen, dass das einen Unterschied macht?
  • Ich bin eigentlich mit FB cloud-Funktion sowie die sendet Benachrichtigungen an die Geräte der Nutzer, ohne Angabe von Kollaps-Taste. Es ist ähnlich wie FB follower-Benachrichtigung Beispiel: github.com/firebase/functions-samples/blob/master/... Und wieder die gleiche genaue Verhalten. Ich fange an zu denken, dass die Verwendung von mehr als 4 Zusammenbruch Schlüssel in der Vergangenheit möglicherweise gebrochen haben die Benachrichtigungen.
  • Posten Sie Ihre cloud-Funktion code zeigt den Aufruf sendToDevice() zusammen mit der Nutzlast und Optionen-Objekte. Ich habe versucht, zu replizieren Ihre Ergebnisse mit FB-Konsole und konnte nicht mehr einklappen, um bei allen auftreten. Hatte viel bessere Ergebnisse mit der ARC (Advanced Rest Client).
  • Ich bin mir ziemlich sicher, dass es nicht ein problem der cloud-Funktion, weil es das exakt gleiche Verhalten mit der FB Benachrichtigung Komponist in der FB-Konsole. So zumindest die Benachrichtigung, Komponist arbeiten sollten, mit dem Zusammenbruch Tasten. By the way, überprüfen Sie das 2. update hat auf meine Frage, ich habe gerade getestet was passiert, wenn ich verlängern die FirebaseMessagingService
  • wenn Sie eine minute, check das 2. update auf meine Frage. TL;DR: Wenn ich mit dem notification-Nachrichten in den Vordergrund Zusammenbruch Tasten funktionieren. Wenn FB übernimmt die Benachrichtigungen im hintergrund Zusammenbruch Tasten funktionieren nicht.

InformationsquelleAutor MScott | 2017-06-14
Schreibe einen Kommentar