Configuration de la boîte de réception des messages pour Flutter
La boîte de réception des messages (la boîte de réception de l’application « icône en forme de cloche ») pour Flutter est livrée sous forme de package pushwoosh_inbox distinct. Installez-le en même temps que le package de base pushwoosh_flutter.
Prérequis
Anchor link to- Le SDK Pushwoosh Flutter de base est déjà intégré et envoie des notifications push.
Ajouter le package
Anchor link toAjoutez pushwoosh_inbox à votre fichier pubspec.yaml. Consultez pub.dev pour connaître la version actuelle :
dependencies: pushwoosh_inbox: '^2.3.24'Afficher la boîte de réception
Anchor link toimport 'package:pushwoosh_inbox/pushwoosh_inbox.dart';
PushwooshInbox.presentInboxUI();Cela ouvre un écran natif (un view controller sur iOS, une Activity sur Android) avec l’apparence par défaut du SDK.
Personnaliser le style
Anchor link toPassez un PWInboxStyle à presentInboxUI(). Chaque champ est facultatif et conserve sa valeur par défaut s’il n’est pas défini. Les champs d’image sont des chemins d’accès aux ressources Flutter et doivent être déclarés dans votre fichier pubspec.yaml :
| Champ | Personnalise |
|---|---|
dateFormat | Formatage de la date, par ex. "dd.MMMM.yyyy" |
defaultImage | L’icône par défaut à côté d’un message sans image |
unreadImage | La marque des messages non lus (iOS uniquement) |
listErrorImage | Affichée en cas d’échec du chargement de la liste |
listEmptyImage | Affichée lorsque la liste ne contient aucun message |
listErrorMessage | Texte d’erreur (non localisé) |
listEmptyMessage | Texte de liste vide (non localisé) |
barTitle | Le titre de l’écran de la boîte de réception |
defaultTextColor | Couleur du texte par défaut (iOS uniquement) |
accentColor | Couleur d’accentuation |
backgroundColor | Couleur d’arrière-plan |
highlightColor | Couleur de sélection |
titleColor | Couleur du titre du message |
readTitleColor | Couleur du titre pour les messages lus (Android uniquement) |
descriptionColor | Couleur de la description du message |
readDescriptionColor | Couleur de la description pour les messages lus (Android uniquement) |
dateColor | Couleur de la date du message |
readDateColor | Couleur de la date pour les messages lus (Android uniquement) |
dividerColor | Couleur du séparateur |
barBackgroundColor | La couleur d’arrière-plan de la barre de titre |
barAccentColor | La couleur du bouton de retour de la barre de titre |
barTextColor | La couleur du texte de la barre de titre |
imageTypeColor | La couleur de l’icône d’action non lue, par ex. lien profond ou URL (Android uniquement) |
readImageTypeColor | La couleur de l’icône d’action lue (Android uniquement) |
PWInboxStyle style = PWInboxStyle();style.barTitle = "Messages";style.barBackgroundColor = "#3AD29F";style.accentColor = "#6750A4";style.listEmptyMessage = "Aucun message pour le moment";style.defaultImage = "assets/images/logo.png";PushwooshInbox.presentInboxUI(style: style);Gérer les messages par programmation
Anchor link toChargez la liste des messages, le nombre de lectures et agissez sur les messages individuels sans ouvrir l’écran intégré. Ceci est utile pour une interface utilisateur de boîte de réception personnalisée ou un badge de non-lus :
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("Échec du chargement des données de la boîte de réception : $error");}
PushwooshInbox.readMessage(messageCode);PushwooshInbox.deleteMessage(messageCode);PushwooshInbox.performAction(messageCode); // exécute l'action par défaut du message, par ex. l'ouverture d'une URLloadCachedMessages() renvoie la dernière liste mise en cache localement sans appel réseau sur Android. Sur iOS, elle se comporte actuellement de la même manière que loadMessages() et appelle toujours le réseau.