More
Construire une application Flutter avec OverlayPortal et intégration de Back4app
15 min
introduction 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) prérequis environnement flutter assurez vous d'avoir flutter installé suivez le guide d'installation https //flutter dev/docs/get started/install compte back4app inscrivez vous sur back4app https //www back4app com/ pour l'utiliser comme votre backend connaissances de base des widgets flutter familiarité avec les widgets flutter courants comme les boutons, les conteneurs et les superpositions étape 1 configuration de back4app 1 1 créer un projet back4app connectez vous à votre compte back4app https //www back4app com/ et créez un nouveau projet nommé overlaydemoapp 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 1 2 obtenez vos identifiants back4app 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 étape 2 configurer le projet flutter 2 1 créer un nouveau projet flutter ouvrez votre terminal et créez un nouveau projet flutter flutter create overlay portal app cd overlay portal app 2 2 ajouter des dépendances ouvrez le pubspec yaml fichier et ajoutez les dépendances requises pour parse sdk et overlayportal dependencies flutter sdk flutter parse server sdk flutter ^latest version overlay portal ^0 1 0 provider ^5 0 0 exécutez flutter pub get pour installer les dépendances 2 3 initialiser parse sdk dans lib/main dart , initialisez le parse sdk avec vos identifiants back4app import 'package\ flutter/material dart'; import 'package\ parse server sdk flutter/parse server sdk flutter dart'; void main() async { widgetsflutterbinding ensureinitialized(); const keyapplicationid = 'your back4app app id'; const keyclientkey = 'your back4app client key'; const keyparseserverurl = 'https //parseapi back4app com'; await parse() initialize( keyapplicationid, keyparseserverurl, clientkey keyclientkey, autosendsessionid true, ); runapp(myapp()); } class myapp extends statelesswidget { @override widget build(buildcontext context) { return materialapp( title 'overlay portal demo', theme themedata(primaryswatch colors blue), home overlayscreen(), ); } } remplacez votre back4app app id et votre back4app client key par vos identifiants back4app étape 3 mise en œuvre de l'overlayportal dans flutter 3 1 créer le widget overlayscreen dans lib/overlay screen dart , créez le widget principal où nous allons mettre en œuvre l' overlayportal import 'package\ flutter/material dart'; import 'package\ overlay portal/overlay portal dart'; import 'package\ parse server sdk flutter/parse server sdk flutter dart'; class overlayscreen extends statefulwidget { @override overlayscreenstate createstate() => overlayscreenstate(); } class overlayscreenstate extends state\<overlayscreen> { final overlayportalcontroller controller = overlayportalcontroller(); bool isoverlayvisible = false; future\<void> logaction(string actiontype) async { // log action to back4app final actionobject = parseobject('overlayactions') set('username', 'player1') // example user set('actiontype', actiontype) set('timestamp', datetime now()); await actionobject save(); } void toggleoverlay() { setstate(() { isoverlayvisible = ! isoverlayvisible; if ( isoverlayvisible) { logaction('opened'); } else { logaction('closed'); } }); controller toggle(); } @override widget build(buildcontext context) { return scaffold( appbar appbar( title text('overlay portal example'), ), body center( child column( mainaxisalignment mainaxisalignment center, children \[ elevatedbutton( onpressed toggleoverlay, child text( isoverlayvisible ? 'hide overlay' 'show overlay'), ), overlayportal( controller controller, overlaychildbuilder (context) => positioned( top 150, left 50, child material( elevation 5 0, borderradius borderradius circular(8), child container( padding edgeinsets all(16 0), color colors blueaccent, child column( mainaxissize mainaxissize min, children \[ text( 'this is an overlay!', style textstyle(color colors white), ), sizedbox(height 10), elevatedbutton( onpressed () { logaction('clicked'); scaffoldmessenger of(context) showsnackbar(snackbar( content text('overlay button clicked!'), )); }, child text('click me'), ), ], ), ), ), ), ), ], ), ), ); } } 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 3 2 créer l'interface utilisateur 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 étape 4 exécution de l'application 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 étape 5 voir les actions 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 étape 6 personnaliser l'overlay 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 conclusion 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 documentation de flutter overlay portal https //pub dev/packages/overlay portal documentation de back4app https //www back4app com/docs