Pierwsze kroki z Firebase Crashlytics

Z tego krótkiego wprowadzenia dowiesz się, jak skonfigurować Firebase Crashlytics w swojej aplikacji z pakietem SDK Firebase Crashlytics, co pozwoli Ci generować kompleksowe raporty o awariach w konsoli Firebase. W Crashlytics na Androida otrzymujesz raporty o awariach, błędach niekrytycznych i błędach typu „Aplikacja nie odpowiada” (ANR).

Konfiguracja Crashlytics wymaga wykonania zadań zarówno w konsoli Firebase, jak i w IDE (np. dodanie pliku konfiguracji Firebase i pakietu SDK Crashlytics). Aby zakończyć konfigurację, musisz wymusić awarię testową, aby wysłać do Firebase pierwszy raport o awarii.

Zanim zaczniesz

  1. Dodaj Firebase do swojego projektu na Androida, jeśli jeszcze nie zostało to zrobione. Jeśli nie masz aplikacji na Androida, możesz pobrać przykładową aplikację.

  2. Zalecane: aby automatycznie otrzymywać logi menu nawigacyjnego pozwalające analizować działania użytkowników, które prowadzą do awarii, zdarzeń niekrytycznych lub błędów ANR, musisz włączyć Google Analytics w projekcie Firebase.

    • Jeśli w istniejącym projekcie Firebase nie masz włączonej usługi Google Analytics, możesz ją włączyć na karcie Integracje w sekcji > Ustawienia projektu w konsoli Firebase.

    • Jeśli tworzysz nowy projekt Firebase, włącz Google Analytics w trakcie procesu tworzenia projektu.

  3. Upewnij się, że aplikacja ma tę minimalną wersję:

    • Gradle 8.0
    • Wtyczka Androida do obsługi Gradle w wersji 8.1.0
    • Wtyczka do Gradle usług Google w wersji 4.4.1

Krok 1. Dodaj pakiet SDK Crashlytics do swojej aplikacji

<project>/<app-module>/build.gradle.kts<project>/<app-module>/build.gradle Do kontrolowania obsługi wersji biblioteki zalecamy używanie funkcji Firebase Android BoM.

Aby korzystać z logów menu nawigacyjnego, dodaj też do swojej aplikacji pakiet SDK Firebase dla Google Analytics. Sprawdź, czy w projekcie Firebase jest włączona usługa Google Analytics.

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

    // 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")
}

Dzięki użyciu BoM Firebase Android BoM Twoja aplikacja zawsze używa zgodnych wersji bibliotek Firebase na Androida.

(Alternatywnie) Dodawanie zależności bibliotek Firebase bez korzystania z BM

Jeśli nie chcesz używać Firebase BoM, musisz określić każdą wersję biblioteki Firebase w wierszu zależności.

Pamiętaj, że jeśli w swojej aplikacji używasz wielu bibliotek Firebase, zdecydowanie zalecamy korzystanie z BoM do zarządzania wersjami bibliotek. Dzięki temu będziesz mieć pewność, że wszystkie wersje są zgodne.

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:19.0.1")
    implementation("com.google.firebase:firebase-analytics:22.0.1")
}
Szukasz modułu biblioteki korzystającego z usługi Kotlin? Od października 2023 r. (Firebase BoM 32.5.0) zarówno deweloperzy aplikacji Kotlin, jak i języki Java mogą korzystać z modułu biblioteki głównej (więcej informacji znajdziesz w odpowiedziach na najczęstsze pytania o tę inicjatywę).

Krok 2. Dodaj do aplikacji wtyczkę Crashlytics Gradle

  1. W pliku Gradle na poziomie głównym (na poziomie projektu) (<project>/build.gradle.kts lub <project>/build.gradle) dodaj wtyczkę Crashytics Gradle do bloku plugins:

    Kotlin

    plugins {
        // Make sure that you have the AGP plugin 8.1+ dependency
        id("com.android.application") version "8.1.4" apply false
        // ...
    
        // Make sure that you have the Google services Gradle plugin 4.4.1+ dependency
        id("com.google.gms.google-services") version "4.4.2" apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id("com.google.firebase.crashlytics") version "3.0.1" apply false
    }
    

    Groovy

    plugins {
        // Make sure that you have the AGP plugin 8.1+ dependency
        id 'com.android.application' version '8.1.4' apply false
        // ...
    
        // Make sure that you have the Google services Gradle plugin 4.4.1+ dependency
        id 'com.google.gms.google-services' version '4.4.2' apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id 'com.google.firebase.crashlytics' version '3.0.1' apply false
    }
    
  2. Do pliku Gradle modułu (na poziomie aplikacji) (zwykle <project>/<app-module>/build.gradle.kts lub <project>/<app-module>/build.gradle) dodaj wtyczkę Crashlytics Gradle:

    Kotlin

    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")
    }

    Groovy

    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'
    }

Krok 3. Wymuś awarię testową, aby dokończyć konfigurację

Aby zakończyć konfigurowanie Crashlytics i zobaczyć początkowe dane w panelu Crashlytics w konsoli Firebase, musisz wymusić awarię testową.

  1. Dodaj do aplikacji kod, który pozwala wymusić awarię testową.

    Aby dodać do aplikacji przycisk, który po naciśnięciu powoduje awarię, możesz użyć podanego niżej kodu w MainActivity aplikacji. Jest on oznaczony etykietą „Testuj awarię”.

    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. Utworzyć i uruchomić aplikację.

  3. Wymuś awarię testową, aby wysłać pierwszy raport o awarii aplikacji:

    1. Otwórz aplikację na urządzeniu testowym lub w emulatorze.

    2. W aplikacji naciśnij przycisk „Test Crash” dodany za pomocą powyższego kodu.

    3. Po awarii aplikacji uruchom ją ponownie, aby mogła przesłać raport o awarii do Firebase.

  4. Aby zobaczyć awarię testową, otwórz panel Crashlytics w konsoli Firebase.

    Jeśli po odświeżeniu konsoli nadal nie widzisz awarii testowej, włącz logowanie debugowania, by sprawdzić, czy aplikacja wysyła raporty o awariach.


To wszystko. Crashlytics monitoruje teraz Twoją aplikację pod kątem awarii, błędów niekrytycznych i błędów ANR. Otwórz panel Crashlytics, aby przeglądać i analizować wszystkie raporty oraz statystyki.

Dalsze kroki

  • Integracja z Google Play pozwala filtrować raporty o awariach aplikacji na Androida według ścieżki Google Play bezpośrednio w panelu Crashlytics. Dzięki temu możesz lepiej skupić się na konkretnych kompilacjach w panelu.
  • W Android Studio możesz przeglądać i filtrować dane z Crashlytics.