Wie behandeln Sie Benachrichtigungen, wenn app im hintergrund-in Feuerstellung
Hier ist mein manifest
<service android:name=".fcm.PshycoFirebaseMessagingServices">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<service android:name=".fcm.PshycoFirebaseInstanceIDService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
Wenn die app im hintergrund läuft, und die Benachrichtigung kommt dann die Standard Meldung kommt und nicht mit meinem code von onMessageReceived
.
Hier ist mein onMessageReceived
code. Dies ruft, wenn meine app läuft auf Vordergrund, und nicht, wenn app im hintergrund. Wie um diesen code auszuführen, wenn die app im hintergrund zu?
//[START receive_message]
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
//TODO(developer): Handle FCM messages here.
//If the application is in the foreground handle both data and notification messages here.
//Also if you intend on generating your own notifications as a result of a received FCM
//message, here is where that should be initiated. See sendNotification method below.
data = remoteMessage.getData();
String title = remoteMessage.getNotification().getTitle();
String message = remoteMessage.getNotification().getBody();
String imageUrl = (String) data.get("image");
String action = (String) data.get("action");
Log.i(TAG, "onMessageReceived: title : "+title);
Log.i(TAG, "onMessageReceived: message : "+message);
Log.i(TAG, "onMessageReceived: imageUrl : "+imageUrl);
Log.i(TAG, "onMessageReceived: action : "+action);
if (imageUrl == null) {
sendNotification(title,message,action);
} else {
new BigPictureNotification(this,title,message,imageUrl,action);
}
}
//[END receive_message]
Es ist geschrieben in der überschreiben Stichprobe von onMessageReceived(), die zweite Kommentar Zeile sagt
Kurz gesagt, aufzuwachen Ihr getötet app, sollten Sie immer per Benachrichtigung mit Daten-Objekt, rufen Sie Ihren notification service handler-Klasse FirebaseMessagingService.onMessageReceived() in Ihrer Anwendung. Auch verschicken Sie nicht von der FB-Konsole, aber posten woanders (z.B. online-Tests post-service).
diese Lösung funktionierte für mich stackoverflow.com/a/44150822/6632278 hoffe das hilft. Viel Glück
Not getting messages here? See why this may be: goo.gl/39bRNJ
. Die Lösung, wie die unten Antworten, die gefunden werden können in der Dokumentation im Nachrichten mit beiden Benachrichtigungs-und Daten-payloadsKurz gesagt, aufzuwachen Ihr getötet app, sollten Sie immer per Benachrichtigung mit Daten-Objekt, rufen Sie Ihren notification service handler-Klasse FirebaseMessagingService.onMessageReceived() in Ihrer Anwendung. Auch verschicken Sie nicht von der FB-Konsole, aber posten woanders (z.B. online-Tests post-service).
diese Lösung funktionierte für mich stackoverflow.com/a/44150822/6632278 hoffe das hilft. Viel Glück
InformationsquelleAutor Parth Patel | 2016-06-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
1. Warum ist das passiert?
Es gibt zwei Arten von Nachrichten, die in FCM (FB Cloud Messaging):
onMessageReceived()
callback nur, wenn Ihre app in VordergrundonMessageReceived()
Rückruf auch, wenn Ihre app in Vordergrund - /hintergrund - /getötetFB team noch nicht entwickelt, eine Benutzeroberfläche zu senden
data-messages
um Ihre Geräte, noch.2. Wie?
Um dies zu erreichen, müssen Sie eine
POST
- Anfrage an folgende URL:Header
Content-Type
, Wert:application/json
Authorization
, Wert:key=<your-server-key>
Körper mit Themen
Oder wenn Sie möchten, senden Sie es an bestimmte Geräte
3. Wie man mit den push-notification-Nachricht?
Dies ist, wie Sie mit der Nachricht:
Firebase team have not developed a UI to send data-messages to your devices, yet.
Hat sich dies geändert im letzten Jahr?In oreo, wenn die app getötet, onMessageReceived ist nicht immer genannt. ich habe nur die Nutzlast mit den Daten nur. jedem update haben Sie ?
Wenn app ist im hintergrund
onMessageReceived
nicht genannt und es ist ein ernstes Problem in FCM!!! Auch, aktualisieren Sie bitte Ihre Antwort.Nun, für mich, wie es scheint, geschieht dies auf bestimmten android-Geräten. Stunden damit verbracht zu denken, dass es ein Tatsächliches Problem, aber dann stellte sich heraus, nichts zu sein. Also mein Rat ist, um es zu testen auf verschiedenen Geräten. Ich habe sogar es getestet auf eine VM und ich habe die Benachrichtigungen auch wenn die app getötet wurde. Ich sage nur diese zu retten, jemand ist an der Zeit.
InformationsquelleAutor Antonio
Machen FB-Bibliothek zu nennen, Ihre onMessageReceived() in den folgenden Fällen
müssen Sie nicht JSON-Schlüssel "Meldung" in Ihrer Anfrage an FB-API, sondern "Daten", siehe unten.
Wird die folgende Meldung wird nicht rufen Sie Ihren onMessageReceived (), wenn Ihre app im hintergrund oder getötet zu werden, und Sie können nicht passen Sie Ihre Mitteilung.
sondern mit diesem arbeiten
Grundsätzlich wird die Nachricht gesendet, der in der argument-RemoteMessage zusammen mit Ihren Daten-Objekt als Map, dann können Sie verwalten die Meldung im onMessageReceived wie in der snippet hier
leider FB-Konsole nicht unterstützt, verwenden Sie ein Werkzeug zum senden von post-message-Anfrage an FB wie curl oder Briefträger(chrome plugin), FB-messaging-api Lesen Sie bitte das Dokument hier - firebase.google.com/docs/cloud-messaging/http-server-ref
dies ist, was ich war auf der Suche für mehr als einen Tag..... Vielen Dank es hat einwandfrei funktioniert. und es wäre besser, wenn u erklären, wie die Schlüssel vale Paare in der Daten verarbeitet werden können in onMessageReceived() zum starten einer activity mit diesen Werten.
Ihre Methode funktioniert gut, wenn die app im hintergrund läuft, aber wenn die app getötet wird, bin ich nicht empfangen von Daten
Gleiche problem Sanzhar. Wenn die app getötet wird, ich erhalte keine Nachricht.
InformationsquelleAutor Teerakiat Chitawattanarat
Ich fühle mich wie alle Antworten sind unvollständig aber alle von Ihnen haben etwas, das Sie brauchen, um eine Meldung Bearbeiten, die Daten, wenn die app im hintergrund läuft.
Befolgen Sie diese Schritte und Sie werden in der Lage, Ihre Benachrichtigungen, wenn die app im hintergrund.
1.Hinzufügen eines intent-filter wie dieser:
zu einer Aktivität, die Sie Bearbeiten möchten, die Daten der Meldung.
Senden von Benachrichtigungen mit dem folgenden format:
Hier der Schlüssel ist, fügen Sie
wo .MainActivity ist die Tätigkeit mit dem Vorsatz-filter, den Sie in Schritt 1 Hinzugefügt haben.
Get "Daten" Informationen aus der Benachrichtigung in der onCreate ".MainActivity":
Und das sollte alles sein, was Sie tun müssen. Ich hoffe, das hilft jemandem 🙂
Sie sind nicht erforderlich für die Meldung zu zeigen
Ich habe beide Daten und Benachrichtigung Blöcke, aber ich bin nicht in der Lage, Daten zu empfangen, in der Tätigkeit?
Ich verstehe einfach nicht, wie das ist nicht die akzeptierte Antwort. Ohne click_action, es will einfach nicht funktionieren. Meinen Tag gerettet
Vielen Dank für deine Unterstützung @ArunShankar. Die akzeptierte Antwort reagiert wurde 7 Monate vor mir und es ist eine gute Antwort. Ich kann nicht verstehen, warum niemand spricht über click_action und deshalb habe ich meine Antwort. Ich bin sehr glücklich, dass es ist sehr nützlich für eine Menge Leute, und das ist was zählt am Ende des Tages 🙂
InformationsquelleAutor Daniel S.
Laut docs
Edit :
Basierend auf dieser thread :
Kann nicht festgelegt werden, click_action Nutzlast mit FB-Konsole. Sie könnten versuchen, den Test mit dem curl-Befehl oder einen benutzerdefinierten http-server
Sie können nicht die app automatisch aufrufen onMessageReveiced, wenn es auf hintergrund. Stattdessen müssen Sie behandeln die Absicht erhalten und machen den handler aufrufen. Oder wahrscheinlich ist es am besten zu implementieren separate Klasse/Methode, die aufgerufen wird, die von beiden onMessageReveiced und Ihre Absicht Behandlung. Ich fügte hinzu, handler onNewIntent der Haupttätigkeit und es funktioniert gut für mich.
zu spät, um reagieren zu @Parath Patel Fragen, aber vielleicht hilft jemand anderes mit den gleichen Problemen, werfen Sie einen Blick auf meine Antwort hier stackoverflow.com/a/42279260/2734021
wo hatte diese Aktion? für meine Tätigkeit oder Firebasemessage service?
** auf mehrere notification Umleitung nicht funktioniert? zB: wenn ich drei Benachrichtigungen von fcm auf hintergrund mit "click_action" erste Benachrichtigung umgeleitet erfolgreich und dann 2-Benachrichtigung klicken Sie auf die Aktivität, die Umleitung funktioniert nicht
InformationsquelleAutor Shubhank
Laut der FB-Dokumentation in senden downstream mit FB, es gibt 2 Art der Nutzlast :
Daten
Benachrichtigung
Sind, wenn Sie im Vordergrund Sie können die Daten innerhalb FCM mit onMessageReceived(), können Sie sich Ihre Daten aus Daten Nutzlast.
Sind, wenn Sie in den hintergrund, FCM erscheint die Meldung im system-tray auf der Grundlage der Informationen aus Benachrichtigung Nutzlast. Titel, Nachricht und das Symbol verwendet, für die Benachrichtigung im system-tray aus der Benachrichtigung Nutzlast.
Diese Benachrichtigung Nutzlast verwendet werden, wenn Sie wollen automactically zeigt Benachrichtigungen auf der Taskleiste, wenn die app im hintergrund.
Um benachrichtigt zu Daten, wenn die app im hintergrund, sollten Sie click_action innen Benachrichtigung Nutzlast.
Setzen, die intent-filter auf Ihrem manifest, in Ihrer Aktivität tag. Wenn Sie auf die Benachrichtigung, öffnet sich die app und gehen Sie direkt zu der Aktivität, die Sie definieren, in click_action, in diesem Fall "OPEN_ACTIVTY_1".
Und in dieser Aktivität können Sie die Daten durch :
Ich bin mit FCM für meine android-app und verwenden Sie beide der Nutzlast.
Hier ist das Beispiel-JSON bin ich mit :
"Leg das intent-filter auf Ihrem manifest, innen Anwendung tag." Sie kann nicht intent-filter im application-tag.
Ihre JSON-dows nicht zeigen, wo die click_action Schlüssel geht.
Ich habe gerade richtig & aktualisieren Sie die Antwort: "Setzen, Vorsatz-filter, die auf dem manifest, in einem Ihrer Aktivität-tag".
aktualisiert und formatiert. Sie können überprüfen Sie es erneut
InformationsquelleAutor Hendy Evan
Da die
display-messages
die gesendet werden von der FB-Benachrichtigung UI funktioniert nur, wenn die app im Vordergrund. Fürdata-messages
, ist es erforderlich, einen POST-Aufruf an FCMSchritte
Installieren Sie Advanced Rest Client Für Google Chrome Erweiterung
Fügen Sie die folgenden überschriften
Schlüssel: Content-Type, Wert: application/json
Schlüssel: Autorisierung, Wert: key="server-Schlüssel"
Fügen Sie den Körper
Wenn Sie mit Themen :
Wenn Sie mit Registrierungs-id :
Thats it!. Jetzt hören
onMessageReceived
Rückruf wie üblich.InformationsquelleAutor Anirudh Ramanan
Erfassen Sie die Nachricht im hintergrund, die Sie benötigen, um ein
BroadcastReceiver
und fügen Sie diese zu Ihrem manifest:
Im moment doens T Arbeit, also, warum schlage ich diese Lösung. Es ist nach einer Anzeige bug auf der google-bugbase. Möchten Sie vielleicht zu prüfen, ob aus.
Könntest du bitte einen link posten, um den Fehler hier
wie bekommt man Daten von der Meldepflicht?
Dies ist eindeutig nicht funktioniert, wenn die app getötet wird. Ich habe versucht, diese Lösung auch für Stunden. aus irgendeinem Grund ist der Empfänger, der arbeitet, während die app im hintergrund ist und nicht funktioniert, wenn die app getötet wird
InformationsquelleAutor Romulano
nicht aufgerufen wird, jedes mal, wenn es aufgerufen wird, nur wenn app ist im forground
es ist eine Methode überschreiben diese Methode wird aufgerufen, jedes mal , egal welche app im Vordergrund oder im hintergrund oder getötet werden, aber diese Methode ist mit dieser FB-api version
dies ist die version u importieren von gradle
dies ist die Methode,
vorherigen FB-api dieser Methode war es nicht so in diesem Fall
fire base behandeln, selbst wenn die app im hintergrund läuft .... jetzt haben Sie u diese Methode
was auch immer u wollen ... u kannst es hier in diesem Methode .....
wenn Sie mit der vorherigen version als Standard-Aktivität wird gestartet
in diesem Fall kann u get data gleicher Weise
//do was auch immer u wollen ....
}
in der Regel ist dies die Struktur vom server bekommen wir in der Benachrichtigung
es ist bis zu u, wie u wollen, zu geben, die Daten-Taste oder u wollen mit der Meldung etwas u geben kann .......
was auch immer u wird hier mit derselben Taste u wird an diese Daten kommen .........
gibt es einige Fälle, wenn u r nicht zu senden klicken Sie auf Aktion in diesem Fall, wenn u klicken Sie auf Benachrichtigung default-Aktivität wird geöffnet , aber wenn u wollen, öffnen Sie Ihre spezifische Aktivität, wenn app ist im hintergrund-u aufrufen können, Ihre Aktivität von dieser handleIntent Methode, denn diese wird immer dann aufgerufen, wenn
in Kotlin, bekomme ich diesen Fehler:(44, 5) 'handleIntent' in 'FirebaseMessagingService' ist final und können nicht überschrieben werden
dieser hack bereits funktionierte nicht mit dem fcm-version 11.6.0
InformationsquelleAutor Avinash Jadaun
Hier gibt es mehr klare Konzepte über FB-Nachricht. Ich fand es von Ihrem support-team.
FB hat drei message-Typen:
Benachrichtigungen : Benachrichtigung funktioniert auf den hintergrund oder den Vordergrund. Wenn app ist im hintergrund-Benachrichtigungen geliefert werden, die system-tray. Wenn die app im Vordergrund ist, die Nachrichten werden behandelt, indem
onMessageReceived()
oderdidReceiveRemoteNotification
Rückrufe. Dies sind im wesentlichen die so genannten Display-Meldungen.Daten-Nachrichten: Auf Android-Plattform, Daten-Nachricht arbeiten können hintergrund-und Vordergrund. Die Daten-Nachricht wird von onMessageReceived(). Eine Plattform-spezifische note wäre hier: Auf Android, die Daten-Nutzlast kann abgerufen werden in der Absicht verwendet, um starten Sie Ihre Aktivität. Zu erarbeiten, wenn Sie
"click_action":"launch_Activity_1"
können Sie abrufen, diese Absicht durchgetIntent()
von nurActivity_1
.Nachrichten mit beiden Benachrichtigungs-und Daten-payloads: Wenn im hintergrund apps erhalten die Nutzdaten der Benachrichtigung in der notification tray, und verarbeiten nur die Daten -, payload ' wenn der Benutzer tippt auf die Benachrichtigung. Wenn Sie im Vordergrund ist, erhält Ihre app ein message-Objekt mit beiden Nutzlasten zur Verfügung. Zweitens, die
click_action
parameter wird Häufig verwendet, in notification payload und nicht im Daten -, payload'. Wenn im Daten -, payload, dieser parameter würde behandelt werden als benutzerdefinierte Schlüssel-Wert-paar, und deshalb würden Sie brauchen, zu implementieren benutzerdefinierte Logik für Sie zu arbeiten, wie beabsichtigt.Außerdem empfehle ich Ihnen die Verwendung
onMessageReceived
- Methode (siehe Daten-Nachricht) zum extrahieren der Daten-bundle. Aus deiner Logik, ich habe das bundle-Objekt und nicht das gefunden haben, erwartet Daten. Hier ist ein Verweis auf einen ähnlichen Fall, der vielleicht mehr Klarheit.Für mehr info besuchen Sie meine dieser thread
InformationsquelleAutor Md. Sajedul Karim
2017 fortgeschrieben Antwort
Hier ist eine klare Antwort aus der docs in Bezug auf diese:
InformationsquelleAutor pulp_fiction
Laut der docs: Mai 17, 2017
Also sollten Sie beide der payload notification + Daten:
Gibt es keine Notwendigkeit zu verwenden click_action.Sie sollten nur exras von der Absicht, auf LAUNCHER Aktivität
Java-code sollte auf der onCreate-Methode auf MainActivity :
Können Sie testen, sowohl von der payload notification + Daten aus FB-Benachrichtigungen-Konsole . Vergessen Sie nicht, füllen Sie benutzerdefinierte Datenfelder auf den Abschnitt "Erweiterte Optionen"
InformationsquelleAutor Mihuilk
Einfache Zusammenfassung, wie diese
wenn Ihre app ausgeführt wird;
ist Trigger.
wenn Ihre app nicht ausgeführt wird (getötet durch streichen) ;
nicht ausgelöst und geliefert direkt. Wenn Sie irgendwelche speziell Schlüssel-Wert-paar. Sie don' t arbeiten, weil der onMessageReceived() funktioniert nicht.
Ich' ve gefunden, auf diese Weise;
Im launcher Aktivität, setzen Sie dieser Logik,
in diesem if-block, suchen für Ihre Schlüssel laut FB-UI.
In diesem Beispiel meine Schlüssel und Wert wie oben; (sorry für die Sprache =))
Wenn mein code funktioniert, ich bekomme "com.rda.Hinweis".
mit dieser Codezeile, Schloss ich die Anwendung und öffnen Sie Google-Play-Markt
happy coding =)
InformationsquelleAutor Arda
Dachte ich, die Szenarien,
Wenn app ist im Vordergrund,
onMessageReceived() Methode wird aufgerufen, aus dem FirebaseService.Also die pendingIntent definiert in der service-Klasse aufgerufen werden.
Und wenn app ist im hintergrund, erste Aktivität genannt wird.
Nun, wenn Sie eine splash Aktivität, dann muss beachten Sie die splashactivity aufgerufen werden, sonst, wenn es keine splashActivity, dann, was die erste Tätigkeit ist, aufgerufen werden.
Dann müssen Sie prüfen, getIntent() der firstActivity um zu sehen, ob es irgendwelche bundle .wenn alles in Ordnung ist, sehen Sie bundle gibt es mit Werten gefüllt. Wenn der Wert in Daten tag gesendet vom server sieht so aus,
Dann in der ersten Aktivität werden Sie sehen,
es gibt einen gültigen Willenserklärungen( getIntent() ist nicht null) , gültig bündeln und innen-bundle , gibt es das ganze JSON oben erwähnt mit Daten als Schlüssel.
Für dieses Szenario, code für die Extraktion der Wert wird so Aussehen,
InformationsquelleAutor Shamsul Arefin Sajib
Dank an Euch Alle für Eure Antworten. Aber ich löste dies durch senden von Nachricht anstatt Benachrichtigung.
Server-code
Und fing die Daten in onMessageReceived
Ja Bruder, es ist die Arbeit, wenn Sie irgendwelche Frage fühlen sich frei, mich zu Fragen.. danke
Erstaunlich, Es funktioniert gut
hi @AndroidSanaullah , können Sie erklären, den ersten Teil der server-code, wo Sie tatsächlich legte es, ich stehe vor dem gleichen Problem, aber ich verstehe nicht ganz, der server-Teil, sind Sie mit Postboten?
InformationsquelleAutor Android Sanaullah
Benachrichtigung entfernen Nutzlast vollständig von Ihrem server anfordern. Senden nur Daten und behandeln es in
onMessageReceived()
sind, sonstonMessageReceived
wird nicht ausgelöst, wenn die app im hintergrund läuft oder getötet.Hier ist, was ich bin, das versenden vom server:
So erhalten Sie Ihre Daten in
onMessageReceived(RemoteMessage message)
so aus: (lassen Sie s sagen, ich habe die id)Und auf ähnliche Weise können Sie alle Daten, die Sie gesendet haben, vom server innerhalb
onMessageReceived()
.InformationsquelleAutor Zohab Ali
Der einfache Weg, um Nachrichten zu senden, auch wenn die app in hintergrund und Vordergrund, die als Folge von:-
Senden Sie eine Nachricht mithilfe von API -, Sie können ein tool namens AdvancedREST Client, es ist eine chrome-Erweiterung, und senden einer Nachricht mit den folgenden Parametern.
Rest-client-tool Link: https://chrome.google.com/webstore/detail/advanced-rest-client/hgmloofddffdnphfgcellkdfbfbjeloo
verwenden Sie diese url ein:- https://fcm.googleapis.com/fcm/send
Content-Type:application/json
Autorisierung:key=Dein-Server-Schlüssel Aus oder Authoization-Taste(siehe unten ref)
Autorisierungs-Schlüssel kann erworben werden durch den Besuch der Google-Entwickler-Konsole, und klicken Sie auf Anmeldeinformationen-Taste auf der linken Menü für Ihr Projekt. Unter den API-Schlüssel angegeben, wird der server-key wird Ihren Autorisierungs-key.
Und Sie brauchen, um tokenID der Empfänger in der "to" - Abschnitt der POST-Anforderung gesendet mit API.
InformationsquelleAutor Syed Danish Haider
Juni 2018 Antwort -
Müssen Sie sicherstellen, dass es nicht eine "Meldung" Schlüsselwort irgendwo in der Nachricht. Nur sind "Daten", und die app wird in der Lage sein zu handhaben, die Nachricht in onMessageReceived, auch wenn im hintergrund oder getötet werden.
Mit Cloud-Funktionen:
Dann in Ihre onMessageReceived(), in Ihrer Klasse, die sich com.google.FB.messaging.FirebaseMessagingService :
Es ist sicher, ich benutze es in meine apps. Allerdings, 6 Monaten seit der Veröffentlichung, ich kann mich nicht erinnern, die Quelle - ich vorstellen, es ist die FB-Dokumentation.
InformationsquelleAutor Jeff Padgett
dem Sie arbeiten möchten onMessageReceived(RemoteMessage remoteMessage) im hintergrund senden nur Daten Teil notification Teil:
"AnotherActivity": "True","" : "Geräte-id Oder Device-token"
Durch diese onMessageRecivied ist, rufen Sie hintergrund-und Vordergrund-keine Notwendigkeit zu handhaben Benachrichtigung mit Statusbereich der Taskleiste auf Ihrem Startbildschirm Aktivität.
Griff der Daten-payload in:
public void onMessageReceived(RemoteMessage remoteMessage)
wenn (remoteMessage.getData().size() > 0)
Log.d(TAG, "Message-Daten-payload:" + remoteMessage.getData());
InformationsquelleAutor user3385125
Gemäß OAUTH 2.0:
Gibt es Auth-problem, für diesen Fall beacuse FCM jetzt mit OAUTH 2
Also ich lese FB Dokumentation und gemäß der Dokumentation neuer Weg, um post-Daten-Meldung;
Header
Auth
Beispiel Körper
In der url gibt die Datenbank-Id ein, die Sie finden können es auf Ihrem FB-Konsole. (Gehen Sie Projekt-Einstellungen)
Und jetzt können unsere token (Es gilt nur 1 Stunde):
Erste in der FB-Konsole öffnen Einstellungen > Service-Konten. Klicken Sie auf Erzeugen eines Neuen Privaten Schlüssels, die sichere Speicherung der JSON-Datei, die den Schlüssel enthält. Ich war müssen diese JSON-Datei zu autorisieren von server-Anfragen manuell. Ich habe es runtergeladen.
Dann Erzeuge ich ein node.js Projekt und verwendet diese Funktion, um meine token;
Nun kann ich dieses Zeichen in meine post-Anfrage. Dann poste ich meine Daten-Nachricht, und es ist jetzt behandelt meine apps onMessageReceived Funktion.
InformationsquelleAutor Ozan
Zusätzlich zu den oben genannten Antworten,
Wenn Sie den Test-push-Benachrichtigungen über FCM-Konsole, 'Daten' - Taste und Objekt ist nicht Hinzugefügt Push-Benachrichtigung bundle. So erhalten Sie keine detaillierte push-Benachrichtigung, wenn die App im hintergrund oder getötet werden.
In diesem Fall müssen Sie entscheiden sich für Ihre back-end-admin-Konsole-test-Anwendung-hintergrund-Szenario.
Hier werden Sie Hinzugefügt haben, 'Daten' - Taste, um Ihre push-bundle. so, detaillierte push wird angezeigt, wie erwartet.
Hoffe, das hilft einigen.
InformationsquelleAutor Max Droid
Mit diesem code, erhalten Sie die Meldung im hintergrund/Vordergrund-und auch Aktion:
In-App-verwenden Sie diesen code:
InformationsquelleAutor Ashish Kumar
Ich erfahren habe das gleiche problem und kompiliert die FB Bibliothek und es verhindert das senden von Benachrichtigungen, wenn die Anwendung im hintergrund
*Bibliothek
https://github.com/erdalceylan/com-google-firebase-messaging
*
hoffe, dass hilft. Viel Glück
InformationsquelleAutor Erdal CEYLAN