Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Zacznij korzystać z Firebase Crashlytics

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

W tym krótkim wprowadzeniu opisano, jak skonfigurować Firebase Crashlytics w swojej aplikacji za pomocą pakietu Firebase Crashlytics SDK, aby uzyskać szczegółowe raporty o awariach w konsoli Firebase.Dzięki Crashlytics dla systemu Android otrzymujesz raporty o awariach, błędach niekrytycznych i błędach „Aplikacja nie odpowiada” (ANR).

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

Zanim zaczniesz

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

  2. Zalecane : aby korzystać z funkcji, takich jak użytkownicy bez awarii, dzienniki nawigacyjne i alerty dotyczące szybkości, musisz włączyć Google Analytics w swoim projekcie Firebase.

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

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

Krok 1 : Dodaj Crashlytics SDK do swojej aplikacji

W pliku Gradle modułu (na poziomie aplikacji) (zwykle <project>/<app-module>/build.gradle ) dodaj zależność dla biblioteki Crashlytics dla systemu Android. Zalecamy używanie Firebase Android BoM do kontrolowania wersji bibliotek.

Aby zapewnić optymalne działanie Crashlytics, zalecamy włączenie Google Analytics w projekcie Firebase i dodanie pakietu SDK Firebase dla Google Analytics do swojej aplikacji.

Java

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

Korzystając z Firebase Android BoM , Twoja aplikacja będzie zawsze używać zgodnych wersji bibliotek Firebase na Androida.

(Alternatywnie) Dodaj zależności biblioteki Firebase bez korzystania z BoM

Jeśli zdecydujesz się nie korzystać z BoM Firebase, musisz określić każdą wersję biblioteki Firebase w jej wierszu zależności.

Pamiętaj, że jeśli korzystasz z wielu bibliotek Firebase w swojej aplikacji, 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:18.2.13'
    implementation 'com.google.firebase:firebase-analytics:21.1.1'
}

Kotlin+KTX

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:30.5.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-ktx'
    implementation 'com.google.firebase:firebase-analytics-ktx'
}

Korzystając z Firebase Android BoM , Twoja aplikacja będzie zawsze używać zgodnych wersji bibliotek Firebase na Androida.

(Alternatywnie) Dodaj zależności biblioteki Firebase bez korzystania z BoM

Jeśli zdecydujesz się nie korzystać z BoM Firebase, musisz określić każdą wersję biblioteki Firebase w jej wierszu zależności.

Pamiętaj, że jeśli korzystasz z wielu bibliotek Firebase w swojej aplikacji, 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-ktx:18.2.13'
    implementation 'com.google.firebase:firebase-analytics-ktx:21.1.1'
}

Krok 2 : Dodaj wtyczkę Crashlytics Gradle do swojej aplikacji

  1. W pliku Gradle na poziomie głównym (na poziomie projektu) ( <project>/build.gradle ) dodaj wtyczkę Crashlytics Gradle jako zależność 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.14'
    
            // Add the dependency for the Crashlytics Gradle plugin
            classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.2'
        }
    }
  2. W pliku Gradle modułu (na poziomie aplikacji) (zwykle <project>/<app-module>/build.gradle ) dodaj wtyczkę 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'
        ...
    }

Krok 3 : Wymuś awarię testową, aby zakończyć konfigurację

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

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

    Możesz użyć następującego kodu w MainActivity aplikacji, aby dodać do aplikacji przycisk, który po naciśnięciu powoduje awarię. Przycisk jest oznaczony jako „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. Zbuduj i uruchom swoją aplikację.

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

    1. Otwórz aplikację z urządzenia testowego lub emulatora.

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

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

  4. Przejdź do panelu Crashlytics w konsoli Firebase, aby zobaczyć awarię testu.

    Jeśli po odświeżeniu konsoli nadal nie widzisz awarii testowej po pięciu minutach, włącz rejestrowanie debugowania , aby sprawdzić, czy aplikacja wysyła raporty o awariach.


I to wszystko! Crashlytics monitoruje teraz Twoją aplikację pod kątem awarii, błędów niekrytycznych i błędów ANR. Odwiedź panel Crashlytics , aby wyświetlić i zbadać wszystkie swoje raporty i statystyki.

Następne kroki

  • Zintegruj się z Google Play , aby móc filtrować raporty o awariach aplikacji na Androida według ścieżki Google Play bezpośrednio w panelu Crashlytics. Dzięki temu możesz lepiej skoncentrować swój pulpit nawigacyjny na konkretnych kompilacjach.
  • Wyświetlaj ślady stosu i statystyki awarii bezpośrednio obok kodu w oknie App Quality Insights w Android Studio. Korzystając z tego narzędzia, nie musisz przeskakiwać tam iz powrotem między pulpitem nawigacyjnym Crashlytics a środowiskiem IDE, aby zacząć rozwiązywać najważniejsze problemy.