Einrichten des Nachrichten-Posteingangs für Flutter
Der Nachrichten-Posteingang (der „Glockensymbol“-App-Posteingang) für Flutter wird als separates pushwoosh_inbox-Paket geliefert. Installieren Sie es neben dem Basis-Paket pushwoosh_flutter.
Voraussetzungen
Anchor link to- Das Basis-Pushwoosh-Flutter-SDK ist bereits integriert und sendet Push-Benachrichtigungen.
Paket hinzufügen
Anchor link toFügen Sie pushwoosh_inbox zu Ihrer pubspec.yaml hinzu. Überprüfen Sie die aktuelle Version auf pub.dev:
dependencies: pushwoosh_inbox: '^2.3.24'Posteingang anzeigen
Anchor link toimport 'package:pushwoosh_inbox/pushwoosh_inbox.dart';
PushwooshInbox.presentInboxUI();Dies öffnet einen nativen Bildschirm (einen View Controller auf iOS, eine Activity auf Android) mit dem Standardaussehen des SDKs.
Stil anpassen
Anchor link toÜbergeben Sie ein PWInboxStyle an presentInboxUI(). Jedes Feld ist optional und behält seinen Standardwert bei, wenn es nicht gesetzt wird. Bildfelder sind Flutter-Asset-Pfade und müssen in Ihrer pubspec.yaml deklariert werden:
| Feld | Passt an |
|---|---|
dateFormat | Datumsformatierung, z. B. "dd.MMMM.yyyy" |
defaultImage | Das Standardsymbol neben einer Nachricht ohne Bild |
unreadImage | Die Markierung für ungelesene Nachrichten (nur iOS) |
listErrorImage | Wird angezeigt, wenn das Laden der Liste fehlschlägt |
listEmptyImage | Wird angezeigt, wenn die Liste keine Nachrichten enthält |
listErrorMessage | Fehlertext (nicht lokalisiert) |
listEmptyMessage | Text für leere Liste (nicht lokalisiert) |
barTitle | Der Titel des Posteingang-Bildschirms |
defaultTextColor | Standardtextfarbe (nur iOS) |
accentColor | Akzentfarbe |
backgroundColor | Hintergrundfarbe |
highlightColor | Auswahlfarbe |
titleColor | Farbe des Nachrichtentitels |
readTitleColor | Titelfarbe für gelesene Nachrichten (nur Android) |
descriptionColor | Farbe der Nachrichtenbeschreibung |
readDescriptionColor | Beschreibungsfarbe für gelesene Nachrichten (nur Android) |
dateColor | Farbe des Nachrichtendatums |
readDateColor | Datumsfarbe für gelesene Nachrichten (nur Android) |
dividerColor | Trennlinienfarbe |
barBackgroundColor | Die Hintergrundfarbe der Titelleiste |
barAccentColor | Die Farbe des Zurück-Buttons der Titelleiste |
barTextColor | Die Textfarbe der Titelleiste |
imageTypeColor | Die Farbe des Aktionssymbols für ungelesene Nachrichten, z. B. Deep Link oder URL (nur Android) |
readImageTypeColor | Die Farbe des Aktionssymbols für gelesene Nachrichten (nur Android) |
PWInboxStyle style = PWInboxStyle();style.barTitle = "Nachrichten";style.barBackgroundColor = "#3AD29F";style.accentColor = "#6750A4";style.listEmptyMessage = "Noch keine Nachrichten";style.defaultImage = "assets/images/logo.png";PushwooshInbox.presentInboxUI(style: style);Nachrichten programmatisch verwalten
Anchor link toLaden Sie die Nachrichtenliste, die Anzahl der gelesenen Nachrichten und führen Sie Aktionen für einzelne Nachrichten aus, ohne den integrierten Bildschirm zu öffnen. Dies ist nützlich für eine benutzerdefinierte Posteingangsoberfläche oder ein Abzeichen für ungelesene Nachrichten:
try { List<InboxMessage> messages = await PushwooshInbox.loadMessages(); for (final message in messages) { print("${message.title}: ${message.message}"); }
int? unread = await PushwooshInbox.unreadMessagesCount(); int? total = await PushwooshInbox.messagesCount(); int? notActedOn = await PushwooshInbox.messagesWithNoActionPerformedCount();} catch (error) { print("Fehler beim Laden der Posteingangsdaten: $error");}
PushwooshInbox.readMessage(messageCode);PushwooshInbox.deleteMessage(messageCode);PushwooshInbox.performAction(messageCode); // führt die Standardaktion der Nachricht aus, z. B. das Öffnen einer URLloadCachedMessages() gibt die letzte lokal zwischengespeicherte Liste ohne einen Netzwerkaufruf auf Android zurück. Auf iOS verhält es sich derzeit genauso wie loadMessages() und ruft immer noch das Netzwerk auf.