Utilizzo di Firebase Analytics in Flutter

Blog

Consigli pratici per l'utilizzo di Firebase Analytics nello sviluppo di Flutter



Impostare

Iniziare a utilizzare Firebase Analytics per Flutter è piuttosto semplice ed è ben descritto nel documentazione , quindi non ripeterò tutto qui. Una volta impostato il progetto, il codice per tenere traccia delle visualizzazioni di pagina è semplice come:

FirebaseAnalytics analytics = FirebaseAnalytics(); MaterialApp( home: MyAppHome(), navigatorObservers: [ FirebaseAnalyticsObserver(analytics: analytics), ], );

Problema

Semplice vero, quindi qual è il problema? Bene, il problema è che se navighi usando qualcosa di simile a questi approcci, in realtà non vedrai alcun |_+_| eventi nella tua dashboard:



screen_view

Allora perché? Qual è il problema? In breve, il problema è che questi non lo sono di nome itinerari. Il motivo per cui questo è un problema lo puoi vedere guardando l'implementazione di |_+_|:

python gui framework 2020
Navigator.push( context, MaterialPageRoute(builder: (context) => MyPage()), ); } Navigator.of(context).push( MaterialPageRoute(builder: (context) => MyPage()), ); }

|_+_| chiama |_+_| per ogni navigazione e utilizza il |_+_| per determinare il nome dello schermo. Se si risolve in |_+_|, nessun evento viene registrato. Il |_+_| usa solo |_+_| proprietà del |_+_| fornito. E questo è il problema; negli esempi di navigazione che ho fornito sopra non ci sono |_+_|, quindi |_+_| finisce come |_+_| e niente viene registrato.



Soluzione

Per fortuna, la soluzione è piuttosto semplice. Usa percorsi con nome durante la navigazione o fornisci un |_+_| esempio con la tua navigazione come:

FirebaseAnalyticsObserver

Suggerimento extra

Se vuoi vedere gli eventi in Firebase Console in modo rapido e affidabile durante il debug, usa DebugView .

Android

Per abilitare la modalità di debug di Analytics su un dispositivo Android, esegui la seguente riga di comando:

String defaultNameExtractor(RouteSettings settings) => settings.name; class FirebaseAnalyticsObserver extends RouteObserver { FirebaseAnalyticsObserver({ @required this.analytics, this.nameExtractor = defaultNameExtractor, Function(PlatformException error) onError, }) : _onError = onError; void _sendScreenView(PageRoute route) { final String screenName = nameExtractor(route.settings); if (screenName != null) { analytics.setCurrentScreen(screenName: screenName).catchError( (Object error) { if (_onError == null) { debugPrint('$FirebaseAnalyticsObserver: $error'); } else { _onError(error); } }, test: (Object error) => error is PlatformException, ); } }

Questo comportamento persiste finché non disabiliti esplicitamente la modalità di debug eseguendo la seguente riga di comando:

FirebaseAnalyticsObserver

ios

Per abilitare la modalità di debug di Analytics sul dispositivo di sviluppo, specifica il seguente argomento della riga di comando in Xcode:

se elimini un tweet, la persona può ancora vederlo?

_sendScreenView

Questo comportamento persiste finché non si disabilita esplicitamente la modalità di debug specificando il seguente argomento della riga di comando:

defaultNameExtractor

Nota: Prima di utilizzare DebugView, assicurati che l'ora del tuo dispositivo sia precisa. Un orologio del dispositivo inclinato si tradurrà in eventi ritardati o mancanti nei rapporti di Analytics.
Per ulteriori informazioni sull'utilizzo di Firebase, consulta la documentazione su flutter.dev .

#firebase #flutter #app-mobile

medium.com

Utilizzo di Firebase Analytics in Flutter

Consigli pratici per l'utilizzo di Firebase Analytics nello sviluppo di Flutter

capitalizzazione di mercato delle monete dbc