Questa guida introduttiva descrive come configurare Firebase Crashlytics nella tua app con il plug-in Crashlytics Flutter in modo da poter ottenere rapporti completi sugli arresti anomali nella console Firebase.
La configurazione di Crashlytics implica l'utilizzo sia di uno strumento da riga di comando che dell'IDE. Per completare la configurazione, dovrai forzare la generazione di un'eccezione di test per inviare il tuo primo rapporto di arresto anomalo a Firebase.
Prima di iniziare
Se non lo hai già fatto, configura e inizializza Firebase nel tuo progetto Flutter.
Consigliato : per ottenere funzionalità come utenti senza arresti anomali, registri breadcrumb e avvisi di velocità, devi abilitare Google Analytics nel tuo progetto Firebase.
Tutte le piattaforme Android e Apple supportate da Crashlytics (tranne watchOS) possono sfruttare queste funzionalità di Google Analytics.
Assicurati che Google Analytics sia abilitato nel tuo progetto Firebase: vai in
> Impostazioni progetto > scheda Integrazioni , quindi segui le istruzioni sullo schermo per Google Analytics.
Passaggio 1 : aggiungi Crashlytics al tuo progetto Flutter
Dalla radice del tuo progetto Flutter, esegui il comando seguente per installare il plug-in Crashlytics Flutter:
flutter pub add firebase_crashlytics
Dalla directory principale del tuo progetto Flutter, esegui il comando seguente:
flutterfire configure
L'esecuzione di questo comando garantisce che la configurazione Firebase dell'app Flutter sia aggiornata e, per Android, aggiunge il plug-in Crashlytics Gradle richiesto all'app.
Una volta completato, ricostruisci il tuo progetto Flutter:
flutter run
Passaggio 2 : configurare i gestori di arresti anomali
Puoi rilevare automaticamente tutti gli errori generati all'interno del framework Flutter eseguendo l'override di FlutterError.onError
con FirebaseCrashlytics.instance.recordFlutterFatalError
:
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
// Pass all uncaught errors from the framework to Crashlytics.
FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterFatalError;
runApp(MyApp());
}
Se stai utilizzando zone, la strumentazione del gestore degli errori della zona rileverà gli errori che non vengono rilevati dal framework Flutter (ad esempio, nel gestore onPressed
di un pulsante):
void main() async {
runZonedGuarded<Future<void>>(() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
FlutterError.onError =
FirebaseCrashlytics.instance.recordFlutterFatalError;
runApp(MyApp());
}, (error, stack) =>
FirebaseCrashlytics.instance.recordError(error, stack, fatal: true));
}
Per esempi su come gestire altri tipi di errori, consulta Personalizzazione dei rapporti sugli arresti anomali .
Passaggio 3 : forza un arresto anomalo del test per completare l'installazione
Per completare la configurazione di Crashlytics e visualizzare i dati iniziali nel dashboard di Crashlytics della console Firebase, devi forzare la generazione di un'eccezione di test.
Aggiungi codice alla tua app che puoi usare per forzare la generazione di un'eccezione di test.
Se hai aggiunto un gestore di errori che chiama
FirebaseCrashlytics.instance.recordError(error, stack, fatal: true)
allaZone
di primo livello, puoi usare il codice seguente per aggiungere un pulsante alla tua app che, se premuto, genera un'eccezione di prova:TextButton( onPressed: () => throw Exception(), child: const Text("Throw Test Exception"), ),
Crea ed esegui la tua app.
Forza la generazione dell'eccezione di test per inviare il primo rapporto della tua app:
Apri la tua app dal tuo dispositivo di prova o emulatore.
Nella tua app, premi il pulsante di eccezione del test che hai aggiunto utilizzando il codice sopra.
Vai alla dashboard di Crashlytics della console Firebase per vedere l'arresto anomalo del test.
Se hai aggiornato la console e dopo cinque minuti non vedi ancora l'arresto anomalo del test, abilita la registrazione del debug per vedere se la tua app sta inviando rapporti sugli arresti anomali.
E questo è tutto! Crashlytics sta ora monitorando la tua app per arresti anomali e, su Android, errori non irreversibili e ANR. Visita la dashboard di Crashlytics per visualizzare e analizzare tutti i rapporti e le statistiche.
Prossimi passi
Personalizza la configurazione del rapporto sugli arresti anomali aggiungendo rapporti di attivazione, registri, chiavi e monitoraggio di ulteriori errori non irreversibili.
Integra con Google Play in modo da poter filtrare i rapporti sugli arresti anomali della tua app Android in base al monitoraggio di Google Play direttamente nella dashboard di Crashlytics. Ciò ti consente di concentrare meglio la tua dashboard su build specifiche.
Visualizza le tracce dello stack e le statistiche sugli arresti anomali insieme al codice con la finestra App Quality Insights in Android Studio (disponibile a partire da Electric Eel 2022.1.1).