Pierwsze kroki z Crashlytics na Androida

Wybierz platformę: iOS+ Android Android NDK Flutter Unity


Z tego przewodnika dowiesz się, jak rozpocząć korzystanie z Firebase Crashlytics w aplikacji na Androida.

Po skonfigurowaniu pakietu SDK Firebase Crashlytics w aplikacji możesz otrzymywać obszerne raporty o awariach w konsoli Firebase. Dzięki Crashlytics na Androida otrzymujesz raporty o awariach, błędach niekrytycznych i "Aplikacja nie odpowiada" (ANR) błędach.

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

Zanim zaczniesz

  1. Jeśli jeszcze tego nie zrobisz, dodaj Firebase do projektu na Androida. Jeśli nie masz aplikacji na Androida, możesz pobrać przykładową aplikację.

  2. Zalecane: aby automatycznie otrzymywać dzienniki ścieżek które pomogą Ci zrozumieć działania użytkowników prowadzące do awarii, błędu niekrytycznego lub zdarzenia ANR, musisz włączyć Google Analytics w projekcie w Firebase.

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

    • Jeśli używasz dotychczasowego projektu w Firebase bez włączonej usługi Google Analytics możesz ją włączyć na stronie Ustawienia > Integracje konsoli Firebase.

  3. Upewnij się, że Twoja aplikacja ma te minimalne wymagane wersje:

    • Gradle 8.0
    • Wtyczka Androida do obsługi Gradle 8.1.0
    • Wtyczka Gradle Usług Google 4.4.1

Krok 1. Dodaj do aplikacji pakiet SDK Crashlytics

W pliku Gradle na poziomie modułu (aplikacji) (zwykle <project>/<app-module>/build.gradle.kts lub <project>/<app-module>/build.gradle) dodaj zależność z biblioteką Crashlytics na Androida. Do kontrolowania obsługi wersji biblioteki zalecamy używanie Firebase Android BoM.

Aby korzystać z dzienników ścieżek, dodaj też do aplikacji [pakiet] SDK Firebase dla Google Analytics. Upewnij się, że usługa Google Analytics jest włączona w projekcie w Firebase.

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:34.12.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")
}

Gdy korzystamy z Firebase Android BoM, aplikacja zawsze używa zgodnych wersji bibliotek Firebase na Androida.

(Alternatywnie)  Dodaj zależności z bibliotek Firebase bez używania BoM

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

Pamiętaj, że jeśli w aplikacji używasz kilku bibliotek Firebase, zdecydowanie zalecamy używanie BoM do zarządzania wersjami bibliotek, co zapewnia zgodność wszystkich wersji.

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:20.0.5")
    implementation("com.google.firebase:firebase-analytics:23.2.0")
}

Krok 2. Dodaj do aplikacji wtyczkę Gradle Crashlytics

  1. W pliku Gradle na poziomie głównym (na poziomie projektu) (<project>/build.gradle.kts lub <project>/build.gradle) dodaj wtyczkę Gradle Crashlytics 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.4" apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id("com.google.firebase.crashlytics") version "3.0.7" 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.4' apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id 'com.google.firebase.crashlytics' version '3.0.7' apply false
    }
    Crashlytics
  2. W pliku Gradle na poziomie modułu (aplikacji) (zwykle <project>/<app-module>/build.gradle.kts lub <project>/<app-module>/build.gradle) dodaj wtyczkę Gradle Crashlytics:

    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 zakończyć konfigurację

Aby zakończyć konfigurowanie Crashlytics i wyświetlić wstępne dane na panelu Crashlytics w konsoli Firebase, musisz wymusić awarię testową.

  1. Dodaj do aplikacji kod, którego możesz użyć do wymuszenia awarii testowej.

    Aby dodać do aplikacji przycisk, który po naciśnięciu spowoduje awarię, możesz użyć tego kodu w pliku MainActivity aplikacji. Przycisk ma etykietę „Test Crash”.

    Kotlin

    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. Skompiluj i uruchom aplikację.

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

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

    2. W aplikacji naciśnij przycisk „Test Crash”, który został dodany za pomocą powyższego kodu.

    3. Gdy aplikacja ulegnie awarii, uruchom ją ponownie, aby mogła wysłać raport o awariach do Firebase.

  4. W konsoli Firebase otwórz panel DevOps i zaangażowanie > Crashlytics, aby sprawdzić raport o awariach testowych .

    Jeśli po odświeżeniu konsoli nadal nie widzisz awarii testowej po 5 minutach, włącz logowanie debugowania aby 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 wyświetlić i zbadać wszystkie raporty i statystyki.

Dalsze kroki

  • Dostosuj konfigurację raportu o awariach dodając raportowanie za zgodą użytkownika, logi, klucze i śledzenie błędów niekrytycznych.

  • Zintegruj się z Google Play, aby móc filtrować raporty o awariach aplikacji na Androida według ścieżki Google Play bezpośrednio na Crashlytics panelu. Pozwoli Ci to lepiej skupić się na konkretnych kompilacjach.

  • Wyświetlaj i filtruj dane Crashlytics w Android Studio.

  • Eksportuj dane do BigQuery lub Cloud Logging aby korzystać z zaawansowanych analiz i funkcji, takich jak wysyłanie zapytań o dane, tworzenie niestandardowych paneli i konfigurowanie niestandardowych alertów.