Pierwsze kroki z Firebase Crashlytics


Z tego krótkiego wprowadzenia dowiesz się, jak skonfigurować usługę Firebase Crashlytics w Twojej aplikacji. z pakietem SDK Firebase Crashlytics, aby uniknąć kompleksowej awarii w konsoli Firebase. Z użytkownikiem Crashlytics na Androida, otrzymasz raporty o awariach, błędach niekrytycznych oraz „Aplikacja nie odpowiada” Błędy ANR.

Skonfigurowanie Crashlytics wymaga zadań zarówno w konsoli Firebase, jak i swojego IDE (np. dodanie pliku konfiguracji Firebase oraz Crashlytics SDK). Aby dokończyć konfigurację, musisz wymusić wysłanie pierwszej awarii raport o awariach do Firebase.

Zanim zaczniesz

  1. Dodaj Firebase do swojego urządzenia z Androidem, chyba że masz to już za sobą. w projektach AI. Jeśli nie masz aplikacji na Androida, możesz ją pobrać przykładową aplikację.

  2. Zalecane: aby automatycznie pobierać logi menu nawigacyjnego aby poznać 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 ma Google Analytics możesz włączyć Google Analytics z poziomu Karta Integracje > Ustawienia projektu w konsoli Firebase.

    • Jeśli tworzysz nowy projekt Firebase, włącz funkcję Google Analytics podczas 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 do aplikacji pakiet SDK Crashlytics

. W pliku Gradle (na poziomie modułu) (zwykle <project>/<app-module>/build.gradle.kts lub <project>/<app-module>/build.gradle), dodaj zależność z biblioteką Crashlytics na Androida. Zalecamy użycie metody Firebase Android BoM aby kontrolować obsługę wersji biblioteki.

Aby skorzystać z logów menu nawigacyjnego, dodaj też do swojej aplikacji pakiet SDK Firebase dla Google Analytics. Upewnij się, że Usługa Google Analytics jest włączona w projekcie Firebase.

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:33.2.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 narzędzia Firebase Android BoM, Twoja aplikacja zawsze używa zgodnych wersji bibliotek Firebase na Androida.

(Wersja alternatywna) Dodaj zależności biblioteki Firebase bez użycia komponentu BoM

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

Pamiętaj, że jeśli używasz wielu bibliotek Firebase w aplikacji, zalecamy korzystanie z BoM do zarządzania wersjami biblioteki. Dzięki temu 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.3")
    implementation("com.google.firebase:firebase-analytics:22.1.0")
}
Szukasz modułu biblioteki korzystającego z usługi Kotlin? Zaczyna się za Październik 2023 r. (Firebase BoM 32.5.0) zarówno programiści Kotlin, jak i Java zależą od modułu biblioteki głównej (więcej informacji znajdziesz w Najczęstsze pytania na temat tej inicjatywy).

Krok 2. Dodaj do aplikacji wtyczkę Crashlytics do Gradle

  1. w pliku Gradle na poziomie głównym (na poziomie projektu); (<project>/build.gradle.kts lub <project>/build.gradle), dodaj Wtyczka Crashlytics 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.2" 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.2' apply false
    }
    
  2. w pliku Gradle modułu (na poziomie aplikacji); (zwykle <project>/<app-module>/build.gradle.kts lub <project>/<app-module>/build.gradle), dodaj wtyczkę do 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 dokończyć konfigurację

Aby dokończyć konfigurację Crashlytics i zobaczyć początkowe dane w Panel Crashlytics konsoli Firebase, musisz wymusić test .

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

    Aby dodać przycisk, możesz użyć tego kodu w MainActivity aplikacji do aplikacji, która po naciśnięciu powoduje awarię. Przycisk jest oznaczony etykietą „Test Crash” (Awaria testowa).

    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 Awaria”. dodany za pomocą kodu powyżej.

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

  4. Otwórz panel Crashlytics w Firebase, aby wyświetlić awarię testową.

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


To wszystko. Crashlytics monitoruje teraz Twoją aplikację pod kątem awarii (niekrytycznych) błędy i błędy ANR. Otwórz panel Crashlytics, aby wyświetlić i przeanalizować informacje wszystkie raporty i statystyki.

Dalsze kroki

  • Zintegruj z usługą Google Play, aby możesz filtrować raporty o awariach aplikacji na Androida według ścieżki Google Play bezpośrednio w Panel Crashlytics. Dzięki temu możesz lepiej skupić się na konkretnych kompilacjach w panelu.
  • W Android Studio wyświetl i przefiltruj dane z Crashlytics.
    • Użyj okna Statystyki jakości aplikacji (AQI) w Android Studio, aby wyświetlić Crashlytics oprócz kodu, nie musisz już przełączać się między Crashlytics. i IDE, aby rozpocząć debugowanie najważniejszych problemów.
    • Ucz się jak używać okna AQI w dokumentacji Android Studio.
    • Chętnie poznamy Twoją opinię. Prześlij nam swoją opinię o przedziale AQI do przesyłając raport o błędzie.