Ich habe eine Anwendung mit Flattern erstellt, die wie eine Erinnerung funktioniert.
Wie kann ich dem Benutzer Benachrichtigungen anzeigen, obwohl die App geschlossen ist?
Für Erinnerungen würde ich Flutter Local Notifications Plugin empfehlen. Es hat eine leistungsfähige Planungs-API. Aus der Dokumentation der lokalen Benachrichtigung:
Planen, wann Benachrichtigungen angezeigt werden sollen - Zeigen Sie regelmäßig ein .__ an. Benachrichtigung (intervallbasiert) - Planen Sie die Anzeige einer Benachrichtigung täglich zu einer bestimmten Zeit - Legen Sie fest, dass eine Benachrichtigung wöchentlich angezeigt wird an einem bestimmten Tag und zu einer bestimmten Uhrzeit - Fähigkeit zu handhaben, wenn ein Benutzer auf eine Benachrichtigung geklickt hat, wenn sich die App im Vordergrund, Hintergrund oder befindet
Für die Push-Benachrichtigung können Sie Firebase Cloud Messaging Oder ein Signal -Plugin verwenden oder Sie können die Implementierung über Plattform-Kanäle
Bearbeiten: Sie können Benachrichtigungen auch unter bestimmten Bedingungen auslösen, auch wenn die App beendet wird. Dies kann durch Ausführen von Dart-Code im Hintergrund erreicht werden. Zitat aus der offiziellen FAQ:
Kann ich Dart-Code im Hintergrund einer Flutter-App ausführen? Ja, du kannst Führen Sie Dart-Code in einem Hintergrundprozess auf iOS und Android aus. Zum Weitere Informationen finden Sie im Medium-Artikel Dart im Hintergrund mit Flutter-Plugins und Geofencing ausführen.
Sie können geplante Benachrichtigungen beim Flattern verwenden.
var scheduledNotificationDateTime =
new DateTime.now().add(new Duration(seconds: 5));
var androidPlatformChannelSpecifics =
new AndroidNotificationDetails('your other channel id',
'your other channel name', 'your other channel description');
var iOSPlatformChannelSpecifics =
new IOSNotificationDetails();
NotificationDetails platformChannelSpecifics = new
NotificationDetails(
androidPlatformChannelSpecifics, iOSPlatformChannelSpecifics);
await flutterLocalNotificationsPlugin.schedule(
0,
'scheduled title',
'scheduled body',
scheduledNotificationDateTime,
platformChannelSpecifics);
Ich habe mich auch mit diesem Problem konfrontiert. Das sind meine Erkenntnisse
In meinem Fall: Ich kann Benachrichtigungen im App-Resume- oder App-Hintergrundstatus erhalten, aber im App-Close-Status erhalte ich keine Benachrichtigung.
In diesem Fall war unsere Benachrichtigungsstelle:
{notification: {body: null, title: null}, data: {body: hello, title: world}}
Um eine Benachrichtigung im Status App-Closed zu erhalten, haben wir die Benachrichtigung geändert
{notification: {body: abc, title: abc}, data: {url: string, body: string, title: string}}