In diesem Schnellstart wird beschrieben, wie Sie Firebase Crashlytics in Ihrer App mit dem Firebase Crashlytics SDK einrichten, damit Sie umfassende Absturzberichte in der Firebase-Konsole erhalten.Mit Crashlytics für Android erhalten Sie Berichte über Abstürze, nicht schwerwiegende Fehler und „Application Not Responding“ (ANR)-Fehler.
Das Einrichten von Crashlytics erfordert Aufgaben sowohl in der Firebase-Konsole als auch in Ihrer IDE (z. B. das Hinzufügen einer Firebase-Konfigurationsdatei und des Crashlytics-SDK). Um die Einrichtung abzuschließen, müssen Sie einen Testabsturz erzwingen, um Ihren ersten Absturzbericht an Firebase zu senden.
Bevor Sie beginnen
Fügen Sie Ihrem Android-Projekt Firebase hinzu , falls Sie dies noch nicht getan haben. Wenn Sie keine Android-App haben, können Sie eine Beispiel-App herunterladen.
Empfohlen : Um Funktionen wie absturzfreie Benutzer, Breadcrumb-Protokolle und Geschwindigkeitswarnungen zu erhalten, müssen Sie Google Analytics in Ihrem Firebase-Projekt aktivieren.
Wenn für Ihr vorhandenes Firebase-Projekt Google Analytics nicht aktiviert ist, können Sie Google Analytics über die Registerkarte „ Integrationen “ Ihrer > Projekteinstellungen in der Firebase-Konsole aktivieren.
Wenn Sie ein neues Firebase-Projekt erstellen, aktivieren Sie Google Analytics während des Workflows zur Projekterstellung.
Schritt 1 : Fügen Sie Ihrer App das Firebase Crashlytics SDK hinzu
Deklarieren Sie mithilfe der Android-BoM von Firebase die Abhängigkeit für die Crashlytics-Android-Bibliothek in der Gradle-Datei Ihres Moduls (auf App-Ebene) (normalerweiseapp/build.gradle
).Für ein optimales Erlebnis mit Crashlytics empfehlen wir , Google Analytics in Ihrem Firebase-Projekt zu aktivieren und Ihrer App das Firebase SDK für Google Analytics hinzuzufügen.
Java
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:30.1.0') // 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' }
Durch die Verwendung der Firebase Android BoM verwendet Ihre App immer kompatible Versionen der Firebase Android-Bibliotheken.
(Alternative) Deklarieren Sie Abhängigkeiten der Firebase-Bibliothek, ohne die Stückliste zu verwenden
Wenn Sie die Firebase-Stückliste nicht verwenden möchten, müssen Sie jede Firebase-Bibliotheksversion in ihrer Abhängigkeitszeile angeben.
Beachten Sie, dass wir bei Verwendung mehrerer Firebase-Bibliotheken in Ihrer App dringend empfehlen, die BoM zum Verwalten von Bibliotheksversionen zu verwenden, um sicherzustellen, dass alle Versionen kompatibel sind.
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.11' implementation 'com.google.firebase:firebase-analytics:21.0.0' }
Kotlin+KTX
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:30.1.0') // 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' }
Durch die Verwendung der Firebase Android BoM verwendet Ihre App immer kompatible Versionen der Firebase Android-Bibliotheken.
(Alternative) Deklarieren Sie Abhängigkeiten der Firebase-Bibliothek, ohne die Stückliste zu verwenden
Wenn Sie die Firebase-Stückliste nicht verwenden möchten, müssen Sie jede Firebase-Bibliotheksversion in ihrer Abhängigkeitszeile angeben.
Beachten Sie, dass wir bei Verwendung mehrerer Firebase-Bibliotheken in Ihrer App dringend empfehlen, die BoM zum Verwalten von Bibliotheksversionen zu verwenden, um sicherzustellen, dass alle Versionen kompatibel sind.
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.11' implementation 'com.google.firebase:firebase-analytics-ktx:21.0.0' }
Schritt 2 : Fügen Sie Ihrer App das Firebase Crashlytics-Plugin hinzu
Fügen Sie in Ihrer
build.gradle
-Datei auf Projektebene das Crashlytics-Gradle-Plug-in als Buildscript-Abhängigkeit hinzu.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() } }
Wenden Sie in Ihrer
build.gradle
-Datei auf App-Ebene das Crashlytics-Gradle-Plugin an: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'
Schritt 3 : Erzwingen Sie einen Testabsturz, um die Einrichtung abzuschließen
Um die Einrichtung von Crashlytics abzuschließen und erste Daten im Crashlytics-Dashboard der Firebase-Konsole anzuzeigen, müssen Sie einen Testabsturz erzwingen.
Fügen Sie Ihrer App Code hinzu, mit dem Sie einen Testabsturz erzwingen können.
Sie können den folgenden Code in der
MainActivity
Ihrer App verwenden, um Ihrer App eine Schaltfläche hinzuzufügen, die beim Drücken einen Absturz verursacht. Die Schaltfläche ist mit "Test Crash" beschriftet.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))
Erstellen Sie Ihre App und führen Sie sie aus.
Erzwingen Sie den Testabsturz, um den ersten Absturzbericht Ihrer App zu senden:
Öffnen Sie Ihre App auf Ihrem Testgerät oder Emulator.
Klicken Sie in Ihrer App auf die Schaltfläche „Test Crash“, die Sie mit dem obigen Code hinzugefügt haben.
Nachdem Ihre App abgestürzt ist, starten Sie sie neu, damit Ihre App den Absturzbericht an Firebase senden kann.
Rufen Sie das Crashlytics-Dashboard der Firebase-Konsole auf, um Ihren Testabsturz anzuzeigen.
Wenn Sie die Konsole aktualisiert haben und den Testabsturz nach fünf Minuten immer noch nicht sehen, aktivieren Sie die Debug-Protokollierung , um zu sehen, ob Ihre App Absturzberichte sendet.
Und das ist es! Crashlytics überwacht Ihre App jetzt auf Abstürze, nicht schwerwiegende Fehler und ANRs. Besuchen Sie das Crashlytics-Dashboard , um alle Ihre Berichte und Statistiken anzuzeigen und zu untersuchen.
Nächste Schritte
- Passen Sie die Einrichtung Ihres Absturzberichts an, indem Sie Opt-in-Berichte, Protokolle, Schlüssel und die Verfolgung nicht schwerwiegender Fehler hinzufügen.
- Integrieren Sie Google Play , damit Sie die Absturzberichte Ihrer Android-App direkt im Crashlytics-Dashboard nach Google Play-Track filtern können. Auf diese Weise können Sie Ihr Dashboard besser auf bestimmte Builds konzentrieren.
- Zeigen Sie Stacktraces und Absturzstatistiken direkt neben Ihrem Code mit dem Fenster App Quality Insights in Android Studio an. Mit diesem Tool müssen Sie nicht zwischen dem Crashlytics-Dashboard und der IDE hin und her springen, um mit der Lösung der wichtigsten Probleme zu beginnen.
- Erhalten Sie Zugriff auf diese Funktion in der neuesten Canary-Version von Android Studio - Electric Eel | 2022.1.1 .
- Weitere Informationen zur Verwendung dieser Funktion finden Sie in der Dokumentation zu neuen Funktionen für Android Studio.
- Da dies eine Canary-Funktion ist, würden wir gerne von Ihnen hören! Wenn Sie Feedback haben oder auf Probleme stoßen, reichen Sie bitte einen Fehlerbericht ein .