Firebase is back at Google I/O on May 10! Register now

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 l'SDK di Firebase Crashlytics in modo da poter ottenere rapporti sugli arresti anomali completi nella console di Firebase.Con Crashlytics per Android, ottieni report per arresti anomali, errori non irreversibili ed errori "L'applicazione non risponde" (ANR).

La configurazione di Crashlytics richiede attività sia nella console di Firebase che nel tuo IDE (come l'aggiunta di un file di configurazione di Firebase e l'SDK di Crashlytics). Per completare la configurazione, dovrai forzare un arresto anomalo di prova per inviare il tuo primo rapporto sull'arresto anomalo a Firebase.

Prima di iniziare

  1. Se non l'hai già fatto, aggiungi Firebase al tuo progetto Android. Se non disponi di un'app per Android, puoi scaricare un'app di esempio .

  2. Consigliato : per ottenere funzionalità come utenti senza arresti anomali, registri breadcrumb e avvisi sulla velocità, devi abilitare Google Analytics nel tuo progetto Firebase.

    • Se il tuo progetto Firebase esistente non ha Google Analytics abilitato, puoi abilitare Google Analytics dalla scheda Integrazioni delle tue > Impostazioni progetto nella console Firebase.

    • Se stai creando un nuovo progetto Firebase, abilita Google Analytics durante il flusso di lavoro di creazione del progetto.

Passaggio 1 : aggiungi l'SDK di Crashlytics alla tua app

Nel file Gradle del tuo modulo (a livello di app) (di solito <project>/<app-module>/build.gradle ), aggiungi la dipendenza per la libreria Crashlytics Android. Ti consigliamo di utilizzare la distinta base Android di Firebase per controllare il controllo delle versioni della libreria.

Per un'esperienza ottimale con Crashlytics, ti consigliamo di abilitare Google Analytics nel tuo progetto Firebase e di aggiungere l'SDK Firebase per Google Analytics alla tua app.

Kotlin+KTX

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:31.2.3')

    // Add the dependencies for the Crashlytics and Analytics libraries
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-crashlytics-ktx'
    implementation 'com.google.firebase:firebase-analytics-ktx'
}

Utilizzando Firebase Android BoM , la tua app utilizzerà sempre versioni compatibili delle librerie Firebase Android.

(Alternativa) Aggiungi le dipendenze della libreria Firebase senza utilizzare la distinta base

Se scegli di non utilizzare Firebase BoM, devi specificare ogni versione della libreria Firebase nella relativa riga di dipendenza.

Tieni presente che se utilizzi più librerie Firebase nella tua app, ti consigliamo vivamente di utilizzare la distinta base per gestire le versioni della libreria, che garantisce che tutte le versioni siano compatibili.

dependencies {
    // Add the dependencies for the Crashlytics and Analytics libraries
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-crashlytics-ktx:18.3.5'
    implementation 'com.google.firebase:firebase-analytics-ktx:21.2.0'
}

Java

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:31.2.3')

    // Add the dependencies for the Crashlytics and Analytics libraries
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-crashlytics'
    implementation 'com.google.firebase:firebase-analytics'
}

Utilizzando Firebase Android BoM , la tua app utilizzerà sempre versioni compatibili delle librerie Firebase Android.

(Alternativa) Aggiungi le dipendenze della libreria Firebase senza utilizzare la distinta base

Se scegli di non utilizzare Firebase BoM, devi specificare ogni versione della libreria Firebase nella relativa riga di dipendenza.

Tieni presente che se utilizzi più librerie Firebase nella tua app, ti consigliamo vivamente di utilizzare la distinta base per gestire le versioni della libreria, che garantisce che tutte le versioni siano compatibili.

dependencies {
    // Add the dependencies for the Crashlytics and Analytics libraries
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-crashlytics:18.3.5'
    implementation 'com.google.firebase:firebase-analytics:21.2.0'
}

Passaggio 2 : aggiungi il plug-in Crashlytics Gradle alla tua app

  1. Nel tuo file Gradle a livello di root (a livello di progetto) ( <project>/build.gradle ), aggiungi il plug-in Crashlytics Gradle come dipendenza buildscript:

    buildscript {
        repositories {
          // Make sure that you have the following two repositories
          google()  // Google's Maven repository
          mavenCentral()  // Maven Central repository
        }
    
        dependencies {
            ...
            classpath 'com.android.tools.build:gradle:7.2.0'
    
            // Make sure that you have the Google services Gradle plugin dependency
            classpath 'com.google.gms:google-services:4.3.15'
    
            // Add the dependency for the Crashlytics Gradle plugin
            classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.4'
        }
    }
  2. Nel file Gradle del tuo modulo (a livello di app) (di solito <project>/<app-module>/build.gradle ), aggiungi il plug-in Crashlytics Gradle:

    plugins {
        id 'com.android.application'
    
        // Make sure that you have the Google services Gradle plugin
        id 'com.google.gms.google-services'
    
        // Add the Crashlytics Gradle plugin
        id 'com.google.firebase.crashlytics'
        ...
    }

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 un arresto anomalo di prova.

  1. Aggiungi codice alla tua app che puoi utilizzare per forzare un arresto anomalo del test.

    Puoi usare il codice seguente in MainActivity della tua app per aggiungere un pulsante alla tua app che, se premuto, provoca un arresto anomalo. Il pulsante è etichettato "Test Crash".

    Kotlin+KTX

    val crashButton = Button(this)
    crashButton.text = "Test Crash"
    crashButton.setOnClickListener {
       throw RuntimeException("Test Crash") // Force a crash
    }
    
    addContentView(crashButton, ViewGroup.LayoutParams(
           ViewGroup.LayoutParams.MATCH_PARENT,
           ViewGroup.LayoutParams.WRAP_CONTENT))
    

    Java

    Button crashButton = new Button(this);
    crashButton.setText("Test Crash");
    crashButton.setOnClickListener(new View.OnClickListener() {
       public void onClick(View view) {
           throw new RuntimeException("Test Crash"); // Force a crash
       }
    });
    
    addContentView(crashButton, new ViewGroup.LayoutParams(
           ViewGroup.LayoutParams.MATCH_PARENT,
           ViewGroup.LayoutParams.WRAP_CONTENT));
    
  2. Crea ed esegui la tua app.

  3. Forza l'arresto anomalo del test per inviare il primo rapporto sull'arresto anomalo della tua app:

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

    2. Nella tua app, premi il pulsante "Test Crash" che hai aggiunto utilizzando il codice sopra.

    3. Dopo l'arresto anomalo dell'app, riavviala in modo che l'app possa inviare il rapporto sull'arresto anomalo a Firebase.

  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, errori non irreversibili e ANR. Visita la dashboard di Crashlytics per visualizzare ed esaminare tutti i tuoi rapporti e le tue statistiche.

Prossimi passi

  • Integra con Google Play in modo da poter filtrare i rapporti sugli arresti anomali della tua app Android in base alla traccia di Google Play direttamente nella dashboard di Crashlytics. Ciò ti consente di focalizzare meglio la tua dashboard su build specifiche.
  • In Android Studio, visualizza e filtra i dati di Crashlytics.