FCM liefert keine Benachrichtigung an alle Topic-Abonnenten (Datenbenachrichtigung)

9

Ich verwende FCM, um Benachrichtigungen an meine Apps-Nutzer zu senden. Ich verwende auch Firebase Analytics , um Feedback zum App-Verhalten zu erhalten.

Ich habe eine App, die ein bestimmtes Thema abonniert, wenn sie ihre Standardaktivität startet. Also im Grunde jeder Benutzer, der mindestens einmal die App gestartet hat, ist ein Thema Teilnehmer. Von Firebase Analytics kann ich 21374 first_open in den Ereignisprotokollen der letzten 30 Tage sehen. Ich kann diesen Betrag auch im Dashboard "Aktive Benutzer" sehen.

Grundsätzlich sollten mindestens 21.000 Abonnenten für das Thema verfügbar sein.

Ich habe gestern eine Benachrichtigung zu diesem Thema gesendet. Es handelt sich um eine Datenbenachrichtigung . Es gibt also kein Problem mit dem Hintergrund / Vordergrund / nicht gestarteten Status der App.

In der onMessageReceived-Methode protokolliere ich ein Ereignis in Firebase Analytics. Und anscheinend haben nur 2,9K Benutzer die Benachrichtigung erhalten .

Was kann diesen Unterschied zwischen der Anzahl der Abonnenten und der Benachrichtigung, die effektiv an die Benutzer weitergegeben wird, erklären?

Ein Element, das verknüpft werden kann:

  • Die App wurde vor 3 Tagen im Laden aktualisiert. Daher haben die Benutzer die neue Version der App möglicherweise nicht gestartet. Ein Update sollte jedoch nicht das Thema entfernen, das bereits von der vorherigen Version abonniert wurde. Ich habe auch einige Tests durchgeführt, um dies zu überprüfen, und ein Update entfernt nicht das Thema, das von einer früheren Version abonniert wurde (es sei denn, die App wird zuerst deinstalliert). Es sollte also nicht der Grund für dieses Problem sein.

  • Die App wurde mit einer neuen Version des GooglePlayServices / Firebase-Pakets aktualisiert (Von 9.2 auf 10.0.1) Entfernt es alle Themen, die von der älteren Version des GooglePlayServices / Firebase-Pakets abonniert wurden?

Gibt es einen anderen Grund, der zu einem solchen Unterschied zwischen Abonnentenanzahl & amp; Benachrichtigung geliefert?

@ Bob Snyder

So überprüfe ich die Google Play Services-Version:

%Vor%

Die verwendete Version der Google Play Services bezieht sich auf die Umgebung mobile + wear. Viele Nutzer haben Schwierigkeiten, ihre GooglePlayService-Version zu aktualisieren. Daher verwende ich im Allgemeinen eine niedrigere Version als die neueste Version und aktualisiere sie nur, wenn notwendig.

@Jorgesys

Mein FirebaseMessagingService ist eigentlich ganz einfach:

%Vor%

Die logEvent-Methode protokolliert das Ereignis auf Firebase.

    
Thomas Thomas 19.12.2017, 13:24
quelle

1 Antwort

3

Nun, es kann eine Reihe von Dingen geben, die hier eine Rolle spielen können:

1) Möglicherweise haben Nutzer Ihre App entfernt

2) Möglicherweise haben Nutzer in Ihrer App "Macht anhalten" verwendet.

3) Die Analyse von Analytics-Daten dauert in der Regel einige Zeit und kann unvollständig sein.

4) Personen, die nicht mit einem Netzwerk verbunden sind, haben ihre Themennachrichten bis zum Ablaufzeitpunkt der Themennachricht zwischengespeichert (Standard ist 4 Wochen)

5) Der Benutzer hat möglicherweise die App-Daten gelöscht, was dazu führt, dass die Instanz-ID ungültig wird und Themennachrichten ebenfalls abbestellt werden. Wenn Sie keine Wiederanmelde-Logik an Ihrem Ende haben, bleiben sie abgemeldet.

6) In neueren Android-Versionen, wenn Ihre App für einige Zeit nicht geöffnet wird (Google hat den Betrag nicht bekannt gegeben) und in diesen Tagen, wenn Ihre App keine sichtbaren Komponenten hatte, zB Vordergrunddienst, Benachrichtigung usw .. Die App wird zwischengespeichert und Benachrichtigungen werden nicht wie gewohnt geliefert. Dies ist App Standby

7) Die Zeit bis zum Ablauf der Datennachricht ist abgelaufen und zu diesem Zeitpunkt hat der Benutzer keine Verbindung zum FCM-Server hergestellt und keine Nachrichten mehr erhalten.

8) In einigen Situationen kann FCM keine Nachricht übermitteln. Dies tritt auf, wenn zu einem Zeitpunkt, zu dem eine Verbindung hergestellt wird, zu viele Nachrichten (& gt; 100) für Ihre App auf einem bestimmten Gerät anstehen oder wenn das Gerät in mehr als einem Monat keine Verbindung zu FCM hergestellt hat. In diesen Fällen erhalten Sie möglicherweise einen Rückruf an FirebaseMessagingService.onDeletedMessages ()

Es kann andere Faktoren geben, wie der Themenbildschirm, der 21k anzeigt, aber er ist nicht auf dem neuesten Stand.

    
Kushan 27.12.2017 19:31
quelle