Passer au contenu

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

Ajouter le package

Anchor link to

Ajoutez pushwoosh_inbox à votre fichier pubspec.yaml. Consultez pub.dev pour connaître la version actuelle :

pubspec.yaml
dependencies:
pushwoosh_inbox: '^2.3.24'

Afficher la boîte de réception

Anchor link to
import '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 to

Passez 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 :

ChampPersonnalise
dateFormatFormatage de la date, par ex. "dd.MMMM.yyyy"
defaultImageL’icône par défaut à côté d’un message sans image
unreadImageLa marque des messages non lus (iOS uniquement)
listErrorImageAffichée en cas d’échec du chargement de la liste
listEmptyImageAffichée lorsque la liste ne contient aucun message
listErrorMessageTexte d’erreur (non localisé)
listEmptyMessageTexte de liste vide (non localisé)
barTitleLe titre de l’écran de la boîte de réception
defaultTextColorCouleur du texte par défaut (iOS uniquement)
accentColorCouleur d’accentuation
backgroundColorCouleur d’arrière-plan
highlightColorCouleur de sélection
titleColorCouleur du titre du message
readTitleColorCouleur du titre pour les messages lus (Android uniquement)
descriptionColorCouleur de la description du message
readDescriptionColorCouleur de la description pour les messages lus (Android uniquement)
dateColorCouleur de la date du message
readDateColorCouleur de la date pour les messages lus (Android uniquement)
dividerColorCouleur du séparateur
barBackgroundColorLa couleur d’arrière-plan de la barre de titre
barAccentColorLa couleur du bouton de retour de la barre de titre
barTextColorLa couleur du texte de la barre de titre
imageTypeColorLa couleur de l’icône d’action non lue, par ex. lien profond ou URL (Android uniquement)
readImageTypeColorLa 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 to

Chargez 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 URL

loadCachedMessages() 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.