Inizia con Firebase Crashlytics

Questa guida introduttiva descrive come configurare Firebase Crashlytics nella tua app con Firebase Crashlytics SDK in modo da poter ottenere rapporti completi sugli arresti anomali nella console Firebase.Con Crashlytics per Android, ottieni rapporti per arresti anomali, errori non irreversibili ed errori "Applicazione che non risponde" (ANR).

La configurazione di Crashlytics richiede attività sia nella console Firebase che nell'IDE (come l'aggiunta di un file di configurazione di Firebase e di Crashlytics SDK). Per completare la configurazione, dovrai forzare un arresto anomalo del test per inviare il tuo primo rapporto di 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 Android, puoi scaricare un'app di esempio .

  2. Consigliato : per ottenere funzionalità come utenti senza arresti anomali, registri breadcrumb e avvisi di 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 Firebase Crashlytics SDK alla tua app

Utilizzando Firebase Android BoM , dichiara la dipendenza per la libreria Crashlytics Android nel file Gradle del tuo modulo (a livello di app (solitamente app/build.gradle ).

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.

Java

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

    // Declare 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 la BoM Android di Firebase, la tua app utilizzerà sempre versioni compatibili delle librerie Android di Firebase.

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

Se scegli di non utilizzare la distinta base di Firebase, devi specificare ciascuna 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 delle librerie, il che garantisce che tutte le versioni siano compatibili.

dependencies {
    // Declare 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.2.12'
    implementation 'com.google.firebase:firebase-analytics:21.1.0'
}

Kotlin+KTX

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

    // Declare 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 la BoM Android di Firebase, la tua app utilizzerà sempre versioni compatibili delle librerie Android di Firebase.

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

Se scegli di non utilizzare la distinta base di Firebase, devi specificare ciascuna 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 delle librerie, il che garantisce che tutte le versioni siano compatibili.

dependencies {
    // Declare 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.2.12'
    implementation 'com.google.firebase:firebase-analytics-ktx:21.1.0'
}

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

  1. Nel file build.gradle a livello di progetto, aggiungi il plug-in Crashlytics Gradle come dipendenza buildscript.

    buildscript {
        repositories {
            // Check that you have Google's Maven repository (if not, add it).
            google()
        }
    
        dependencies {
            // ...
    
            // Check that you have the Google services Gradle plugin v4.3.2 or later
            // (if not, add it).
            classpath 'com.google.gms:google-services:4.3.13'
    
            // Add the Crashlytics Gradle plugin
            classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.1'
        }
    }
    
    allprojects {
        repositories {
            // Check that you have Google's Maven repository (if not, add it).
            google()
        }
    }
  2. Nel file build.gradle a livello di app, applica il plug-in Crashlytics Gradle:

    apply plugin: 'com.android.application'
    apply plugin: 'com.google.gms.google-services' // Google services Gradle plugin
    
    // Apply the Crashlytics Gradle plugin
    apply plugin: 'com.google.firebase.crashlytics'
    

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 un arresto anomalo del test.

  1. Aggiungi codice alla tua app che puoi usare 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".

    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));
    

    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))
    
  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 tuo dispositivo di prova o emulatore.

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

    3. Dopo che l'app si è arrestata in modo anomalo, riavviala in modo che l'app possa inviare il rapporto di arresto anomalo a Firebase.

  4. 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 rilevare arresti anomali, errori non irreversibili e ANR. Visita la dashboard di Crashlytics per visualizzare e analizzare tutti i rapporti e le statistiche.

Prossimi passi

  • 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 direttamente insieme al codice con la finestra App Quality Insights in Android Studio. Utilizzando questo strumento, non è necessario passare avanti e indietro tra il dashboard di Crashlytics e l'IDE per iniziare a risolvere i problemi principali.