Construire une application Flutter avec OverlayPortal et intégration de Back4app
Dans ce tutoriel, nous allons apprendre à utiliser OverlayPortal dans Flutter pour créer des superpositions dynamiques pour des widgets comme des info-bulles ou des menus. De plus, nous allons intégrer Back4app pour stocker et gérer les données utilisateur, telles que les préférences ou les actions effectuées lors de l'interaction avec la superposition.
À la fin de ce tutoriel, vous serez en mesure de:
- Implémenter OverlayPortal dans une application Flutter.
- Afficher des superpositions interactives comme des menus flottants ou des info-bulles.
- Intégrer Back4app comme backend pour stocker les données liées à la superposition (par exemple, les préférences utilisateur ou les actions).
- Connaissances de base des widgets Flutter: Familiarité avec les widgets Flutter courants comme les boutons, les conteneurs et les superpositions.
- Créez une classe Parse appelée OverlayActions avec les champs suivants :
- nom d'utilisateur (String) : Le nom de l'utilisateur.
- type d'action (String) : L'action effectuée sur l'overlay (par exemple, "Ouvert", "Fermé", "Cliqué").
- horodatage (DateTime) : Le moment où l'action a eu lieu.
Depuis le tableau de bord Back4app, accédez aux paramètres de votre projet et récupérez votre ID d'application et votre clé client. Ces identifiants seront utilisés pour initialiser Back4app dans votre application Flutter.
Ouvrez votre terminal et créez un nouveau projet Flutter :
Ouvrez le pubspec.yaml fichier et ajoutez les dépendances requises pour Parse SDK et OverlayPortal:
Exécutez flutter pub get pour installer les dépendances.
Dans lib/main.dart, initialisez le Parse SDK avec vos identifiants Back4app :
Remplacez VOTRE_BACK4APP_APP_ID et VOTRE_BACK4APP_CLIENT_KEY par vos identifiants Back4app.
Dans lib/overlay_screen.dart, créez le widget principal où nous allons mettre en œuvre l'OverlayPortal:
Dans cette implémentation :
- OverlayPortal est activé et désactivé par une pression sur un bouton.
- L'interaction de l'utilisateur (ouverture, fermeture ou clic) est enregistrée dans Back4app en utilisant la méthode _logAction.
- Le superposition contient un message et un bouton qui déclenche une action.
L'interface utilisateur contient un bouton qui bascule la visibilité de la superposition. La superposition elle-même est positionnée à l'aide du Positionné widget. Lorsque la superposition est visible, une boîte flottante avec un message et un bouton apparaît à l'écran.
- Ouvrez le terminal et exécutez l'application en utilisant :
- Cliquez sur le Afficher la superposition bouton pour basculer la superposition. Lorsque la superposition est visible, cliquez sur le bouton à l'intérieur de la superposition. Toutes les interactions (ouvrir, fermer et cliquer) seront enregistrées sur Back4app.
Pour vérifier que les actions de l'utilisateur sont enregistrées :
- Allez sur votre tableau de bord Back4app.
- Naviguez vers la OverlayActions classe.
- Vous devriez voir des enregistrements des actions (ouvertes, fermées, cliquées) enregistrées avec des horodatages.
Vous pouvez personnaliser davantage l'overlay en :
- Changeant la position de l'overlay avec le Positioned widget.
- Ajoutant des widgets plus complexes, tels que des formulaires ou des menus, dans l'overlay.
- Stylisant l'overlay avec différentes couleurs, bordures et ombres.
Dans ce tutoriel, vous avez appris à implémenter OverlayPortal dans une application Flutter pour créer des overlays interactifs qui peuvent être activés et désactivés. De plus, nous avons intégré Back4app pour enregistrer les interactions des utilisateurs avec l'overlay, fournissant un backend robuste pour stocker des données et améliorer la fonctionnalité de l'application.
Cette configuration peut être utilisée pour construire des applications riches en fonctionnalités où les interactions des utilisateurs avec les overlays (par exemple, infobulles, menus, popups) sont stockées dans le backend, offrant des aperçus sur le comportement des utilisateurs ou facilitant le chargement dynamique de contenu basé sur des données en temps réel.
Pour plus d'informations :