Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Inizia con Firebase Crashlytics

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Questa guida rapida descrive come configurare Firebase Crashlytics nella tua app con il plug-in Crashlytics Flutter in modo da poter ottenere rapporti sugli arresti anomali completi nella console Firebase.

L'impostazione di Crashlytics comporta l'utilizzo sia di uno strumento da riga di comando che del tuo IDE. Per completare la configurazione, dovrai forzare la generazione di un'eccezione di test per inviare il tuo primo rapporto sull'arresto anomalo a Firebase.

Prima di iniziare

  1. Se non lo hai già fatto, configura e inizializza Firebase nel tuo progetto Flutter.

  2. Consigliato : per ottenere funzionalità come utenti senza arresti anomali, registri breadcrumb e avvisi sulla 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 su > Impostazioni progetto > scheda Integrazioni , quindi segui le istruzioni sullo schermo per Google Analytics.

Passaggio 1 : aggiungi Crashlytics al tuo progetto Flutter

  1. Dalla radice del tuo progetto Flutter, esegui il comando seguente per installare il plug-in Crashlytics Flutter:

    flutter pub add firebase_crashlytics
    
  2. Dalla directory principale del tuo progetto Flutter, esegui il seguente comando:

    flutterfire configure
    

    L'esecuzione di questo comando assicura che la configurazione Firebase dell'app Flutter sia aggiornata e, per Android, aggiunge il plug-in Crashlytics Gradle richiesto all'app.

  3. Una volta completato, ricostruisci il tuo progetto Flutter:

    flutter run
    
  4. (Facoltativo) Se il tuo progetto Flutter utilizza il --split-debug-info (e, facoltativamente, il flag --obfuscate ), devi utilizzare l'interfaccia a riga di comando di Firebase (v.11.9.0+) per caricare i simboli Android.

    Dalla directory principale del tuo progetto Flutter, esegui il seguente comando:

    firebase crashlytics:symbols:upload --app=APP_ID PATH/TO/symbols

    La directory PATH/TO /symbols è la stessa directory che passi al --split-debug-info durante la creazione dell'applicazione.

Passaggio 2 : configurare i gestori degli 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 "fatal" errors from the framework to Crashlytics
  FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterFatalError;

  runApp(MyApp());
}

Per rilevare errori asincroni che non sono gestiti dal framework Flutter, utilizza PlatformDispatcher.instance.onError :

Future<void> main() async {
    WidgetsFlutterBinding.ensureInitialized();
    await Firebase.initializeApp();
    FlutterError.onError = (errorDetails) {
      FirebaseCrashlytics.instance.recordFlutterFatalError(errorDetails);
    };
    // Pass all uncaught asynchronous errors that aren't handled by the Flutter framework to Crashlytics
    PlatformDispatcher.instance.onError = (error, stack) {
      FirebaseCrashlytics.instance.recordError(error, stack, fatal: true);
      return true;
    };
    runApp(MyApp());

}

Per esempi su come gestire altri tipi di errori, consulta Personalizzare i rapporti sugli arresti anomali .

Passaggio 3 : forza un arresto anomalo di prova per completare la configurazione

Per completare la configurazione di Crashlytics e visualizzare i dati iniziali nella dashboard di Crashlytics della console Firebase, devi forzare la generazione di un'eccezione di test.

  1. Aggiungi codice alla tua app che puoi utilizzare 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) al livello superiore Zone , puoi utilizzare 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"),
    ),
    
  2. Crea ed esegui la tua app.

  3. Forza la generazione dell'eccezione di test per inviare il primo report della tua app:

    1. Apri la tua app dal dispositivo o dall'emulatore di prova.

    2. Nella tua app, premi il pulsante di eccezione del test che hai aggiunto utilizzando il codice sopra.

  4. Vai alla dashboard di Crashlytics della console Firebase per vedere il crash di prova.

    Se hai aggiornato la console e ancora non visualizzi l'arresto anomalo del test dopo cinque minuti, abilita la registrazione di debug per vedere se la tua app sta inviando rapporti sull'arresto anomalo.


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 ed esaminare tutti i tuoi rapporti e le tue statistiche.

Prossimi passi