More
Erstellen einer Flutter-App mit OverlayPortal und Back4app-Integration
15 min
einführung in diesem tutorial werden wir lernen, wie man overlayportal in flutter verwendet, um dynamische overlays für widgets wie tooltips oder menüs zu erstellen darüber hinaus integrieren wir back4app zur speicherung und verwaltung von benutzerdaten, wie z b präferenzen oder aktionen, die beim interagieren mit dem overlay durchgeführt werden am ende dieses tutorials werden sie in der lage sein implementieren sie overlayportal in einer flutter app interaktive overlays wie schwebende menüs oder tooltips anzeigen integrieren sie back4app als backend zur speicherung von overlaybezogenen daten (z b benutzereinstellungen oder aktionen) voraussetzungen flutter umgebung stellen sie sicher, dass sie flutter installiert haben folgen sie der installationsanleitung https //flutter dev/docs/get started/install back4app konto melden sie sich bei back4app https //www back4app com/ an, um es als ihr backend zu verwenden grundkenntnisse von flutter widgets vertrautheit mit gängigen flutter widgets wie schaltflächen, containern und overlays schritt 1 back4app einrichten 1 1 erstellen sie ein back4app projekt melden sie sich bei ihrem back4app konto https //www back4app com/ an und erstellen sie ein neues projekt mit dem namen overlaydemoapp erstellen sie eine parse klasse mit dem namen overlayactions mit den folgenden feldern benutzername (string) der name des benutzers aktionstyp (string) die aktion, die auf dem overlay durchgeführt wurde (z b "geöffnet", "geschlossen", "geklickt") zeitstempel (datetime) der zeitpunkt, an dem die aktion stattfand 1 2 holen sie sich ihre back4app anmeldeinformationen navigieren sie im back4app dashboard zu den einstellungen ihres projekts und rufen sie ihre anwendungs id und client schlüssel diese anmeldeinformationen werden verwendet, um back4app in ihrer flutter app zu initialisieren schritt 2 flutter projekt einrichten 2 1 erstellen sie ein neues flutter projekt öffnen sie ihr terminal und erstellen sie ein neues flutter projekt flutter create overlay portal app cd overlay portal app 2 2 abhängigkeiten hinzufügen öffnen sie die pubspec yaml datei und fügen sie die erforderlichen abhängigkeiten für parse sdk und overlayportal dependencies flutter sdk flutter parse server sdk flutter ^latest version overlay portal ^0 1 0 provider ^5 0 0 führen sie flutter pub get aus, um die abhängigkeiten zu installieren 2 3 parse sdk initialisieren in lib/main dart , initialisieren sie das parse sdk mit ihren back4app anmeldeinformationen 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(), ); } } ersetzen sie your back4app app id und your back4app client key durch ihre back4app anmeldeinformationen schritt 3 implementierung des overlayportals in flutter 3 1 erstellen sie das overlayscreen widget in lib/overlay screen dart , erstellen sie das haupt widget, in dem wir das 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'), ), ], ), ), ), ), ), ], ), ), ); } } in dieser implementierung overlayportal wird mit einem knopfdruck ein und ausgeschaltet die interaktion des benutzers (öffnen, schließen oder klicken) wird an back4app unter verwendung der logaction methode protokolliert das overlay enthält eine nachricht und einen button, der eine aktion auslöst 3 2 erstellen der benutzeroberfläche die benutzeroberfläche enthält eine schaltfläche, die die sichtbarkeit des overlays umschaltet das overlay selbst wird mit dem positioniert widget positioniert wenn das overlay sichtbar ist, erscheint ein schwebendes feld mit einer nachricht und einer schaltfläche auf dem bildschirm schritt 4 die app ausführen öffnen sie das terminal und führen sie die app mit folgendem befehl aus klicken sie auf die overlay anzeigen schaltfläche, um das overlay umzuschalten wenn das overlay sichtbar ist, klicken sie auf die schaltfläche im overlay alle interaktionen (öffnen, schließen und klicken) werden in back4app protokolliert schritt 5 protokollierte aktionen in back4app anzeigen um zu überprüfen, ob die aktionen des benutzers protokolliert werden gehe zu deinem back4app dashboard navigiere zur overlayactions klasse du solltest aufzeichnungen der aktionen (geöffnet, geschlossen, geklickt) mit zeitstempeln sehen schritt 6 anpassen des overlays du kannst das overlay weiter anpassen, indem du die position des overlays mit dem positioned widget änderst komplexere widgets, wie formulare oder menüs, innerhalb des overlays hinzufügst das overlay mit verschiedenen farben, rahmen und schatten stylst fazit in diesem tutorial hast du gelernt, wie man overlayportal in einer flutter app implementiert, um interaktive overlays zu erstellen, die ein und ausgeschaltet werden können darüber hinaus haben wir back4app integriert, um benutzerinteraktionen mit dem overlay zu protokollieren, was eine robuste backend lösung zur speicherung von daten und zur verbesserung der funktionalität der app bietet dieses setup kann verwendet werden, um funktionsreiche anwendungen zu erstellen, in denen benutzerinteraktionen mit overlays (z b tooltips, menüs, popups) im backend gespeichert werden, um einblicke in das benutzerverhalten zu bieten oder das dynamische laden von inhalten basierend auf echtzeitdaten zu erleichtern für weitere informationen flutter overlay portal dokumentation https //pub dev/packages/overlay portal back4app dokumentation https //www back4app com/docs