Wie lautet die aktuelle Problemumgehung, um benutzerdefinierte Daten zu erhalten, wenn der Benutzer beim Beenden der App auf eine Benachrichtigung klickt?
Anscheinend ist es unter Android nicht möglich , eine Datennachricht im onLaunch zu empfangen (was der ideale Weg ist). Unter IOS hatte ich es noch nicht versucht, da ich zuerst mit diesem Problem konfrontiert bin.
Irgendeine Ahnung?
Zusätzliche Informationen: Die Benachrichtigung, die ich über a sende, hat folgende firebase cloud function
Form:
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"notification":{
"title":"Portugal vs. Denmark",
"body":"great match!"
},
"data" : {
"Nick" : "Mario",
"Room" : "PortugalVSDenmark"
}
}
}
https://firebase.google.com/docs/cloud-messaging/concept-options
Auf dem kann onResume
ich eine Aktion ausführen, aber das onLaunch
scheint nicht aufgerufen zu werden.
flutter
firebase-cloud-messaging
Stefano Saitta
quelle
quelle
Antworten:
Dies ist das Format, das Ihre Nutzdaten mit den enthaltenen Daten annehmen sollten. Es funktioniert so, wie ich es in meinem Projekt zum Laufen gebracht habe. Um alles richtig zum Laufen zu bringen, gibt es hier eine Antwort , die für die allgemeine Projekteinrichtung hilfreich sein kann:
quelle
android
Schlüssel tun?Ich denke, Sie erhalten bereits Daten auf Launch, müssen nur ein wenig warten. Ich habe es geschrieben, weil ich auf dasselbe gestoßen bin.
Kannst du das versuchen,
Auch in meiner Situation habe ich es so benutzt und gelöst.
quelle
Es kann etwas schwierig sein, festzustellen, ob Ihre Aktivität im Vordergrund steht (und anders zu reagieren). Am liebsten registriere
BroadcastReceiver
ich einen Einheimischen in der Aktivität und mache dann einensendBroadcast
vom Dienst. Mit dieser Methode erhalten Sie true , wenn Ihr Receiver ausgeführt wird (dh Ihre App steht im Vordergrund, andernfalls false .Sie können ein Beispiel für diesen sehen (unter Verwendung von GCM, aber die Logik ist das gleiche für FCM) Quelle
Auch dies ist ein großartiges Beispiel für MyFirebaseMessagingService
quelle
In Ihrem Provider können Sie die folgende zusätzliche Konfiguration vornehmen. Wenn dies in Ihrem Debug korrekt durchgeführt wurde, sollten Sie ein Token visualisieren:
Mit diesem Paket: https://pub.dev/packages/firebase_messaging in Ihrem Projekt und in Ihrer Firebase unter Cloud Messaging -> Optionen -> Persönliche Daten -> Schlüssel (click_action) -> Wert (FLUTTER_NOTIFICATION_CLICK), den Sie hinzufügen müssen FLUTTER_NOTIFICATION_CLICK.
Damit können Sie bereits Ihre Firebase-Push-Benachrichtigungen ausprobieren.
quelle
onLaunch
wenn Sie eine Benachrichtigung mitdata
darin senden