More
Crea un'app Flutter con integrazione OverlayPortal e Back4app
15 min
introduzione in questo tutorial, impareremo come utilizzare overlayportal in flutter per creare sovrapposizioni dinamiche per widget come tooltip o menu inoltre, integreremo back4app per memorizzare e gestire i dati degli utenti, come preferenze o azioni intraprese durante l'interazione con la sovrapposizione alla fine di questo tutorial, sarai in grado di implementare overlayportal in un'app flutter visualizzare sovrapposizioni interattive come menu galleggianti o tooltip integrare back4app come backend per memorizzare i dati relativi alla sovrapposizione (ad es , preferenze utente o azioni) requisiti ambiente flutter assicurati di avere flutter installato segui la guida all'installazione https //flutter dev/docs/get started/install account back4app registrati su back4app https //www back4app com/ da utilizzare come backend conoscenza di base dei widget flutter familiarità con i widget flutter comuni come pulsanti, contenitori e sovrapposizioni passo 1 configurazione di back4app 1 1 crea un progetto back4app accedi al tuo account back4app https //www back4app com/ e crea un nuovo progetto chiamato overlaydemoapp crea una classe parse chiamata overlayactions con i seguenti campi username (string) il nome dell'utente actiontype (string) l'azione eseguita sull'overlay (ad es , "aperto", "chiuso", "cliccato") timestamp (datetime) il momento in cui è avvenuta l'azione 1 2 ottieni le tue credenziali back4app dalla dashboard di back4app, vai alle impostazioni del tuo progetto e recupera il tuo id applicazione e chiave client queste credenziali saranno utilizzate per inizializzare back4app nella tua app flutter passo 2 configura il progetto flutter 2 1 crea un nuovo progetto flutter apri il tuo terminale e crea un nuovo progetto flutter flutter create overlay portal app cd overlay portal app 2 2 aggiungi dipendenze apri il pubspec yaml file e aggiungi le dipendenze richieste per parse sdk e overlayportal dependencies flutter sdk flutter parse server sdk flutter ^latest version overlay portal ^0 1 0 provider ^5 0 0 esegui flutter pub get per installare le dipendenze 2 3 inizializza parse sdk in lib/main dart , inizializza il parse sdk con le tue credenziali 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(), ); } } sostituisci your back4app app id e your back4app client key con le tue credenziali back4app passo 3 implementazione dell'overlayportal in flutter 3 1 crea il widget overlayscreen in lib/overlay screen dart , crea il widget principale dove implementeremo 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'), ), ], ), ), ), ), ), ], ), ), ); } } in questa implementazione overlayportal è attivato e disattivato con la pressione di un pulsante l'interazione dell'utente (apertura, chiusura o clic) è registrata su back4app utilizzando il logaction metodo il sovrapposizione contiene un messaggio e un pulsante che attiva un'azione 3 2 creare l'interfaccia utente l'interfaccia utente contiene un pulsante che attiva la visibilità dell'overlay l'overlay stesso è posizionato utilizzando il positioned widget quando l'overlay è visibile, appare sullo schermo una casella flottante con un messaggio e un pulsante passo 4 eseguire l'app apri il terminale ed esegui l'app utilizzando clicca sul mostra overlay pulsante per attivare l'overlay quando l'overlay è visibile, clicca sul pulsante all'interno dell'overlay tutte le interazioni (apri, chiudi e clicca) saranno registrate su back4app passo 5 visualizzare le azioni registrate su back4app per verificare che le azioni dell'utente vengano registrate vai al tuo dashboard di back4app naviga alla overlayactions classe dovresti vedere i registri delle azioni (aperto, chiuso, cliccato) registrati con timestamp passo 6 personalizzazione dell'overlay puoi ulteriormente personalizzare l'overlay cambiando la posizione dell'overlay con il positioned widget aggiungendo widget più complessi, come moduli o menu, all'interno dell'overlay stilizzando l'overlay con colori, bordi e ombre diversi conclusione in questo tutorial, hai imparato come implementare overlayportal in un'app flutter per creare overlay interattivi che possono essere attivati e disattivati inoltre, abbiamo integrato back4app per registrare le interazioni degli utenti con l'overlay, fornendo un backend robusto per memorizzare i dati e migliorare la funzionalità dell'app questa configurazione può essere utilizzata per costruire applicazioni ricche di funzionalità in cui le interazioni degli utenti con gli overlay (ad es , tooltip, menu, popup) vengono memorizzate nel backend, offrendo approfondimenti sul comportamento degli utenti o facilitando il caricamento di contenuti dinamici basati su dati in tempo reale per ulteriori informazioni documentazione di flutter overlay portal https //pub dev/packages/overlay portal documentazione di back4app https //www back4app com/docs