Firebase is back at Google I/O on May 10! Register now

Beginnen Sie mit Firebase Crashlytics

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

In diesem Schnellstart wird beschrieben, wie Sie Firebase Crashlytics in Ihrer App mit dem Crashlytics Flutter-Plug-in einrichten, damit Sie umfassende Absturzberichte in der Firebase-Konsole erhalten.

Das Einrichten von Crashlytics umfasst die Verwendung eines Befehlszeilentools und Ihrer IDE. Um die Einrichtung abzuschließen, müssen Sie das Auslösen einer Testausnahme erzwingen, um Ihren ersten Absturzbericht an Firebase zu senden.

Bevor Sie beginnen

  1. Falls noch nicht geschehen, konfigurieren und initialisieren Sie Firebase in Ihrem Flutter-Projekt.

  2. Empfohlen : Um Funktionen wie absturzfreie Benutzer, Breadcrumb-Protokolle und Geschwindigkeitswarnungen zu erhalten, müssen Sie Google Analytics in Ihrem Firebase-Projekt aktivieren.

    Alle von Crashlytics unterstützten Android- und Apple-Plattformen (außer watchOS) können diese Funktionen von Google Analytics nutzen.

    Stellen Sie sicher, dass Google Analytics in Ihrem Firebase-Projekt aktiviert ist: Gehen Sie zu > Projekteinstellungen > Registerkarte Integrationen und folgen Sie dann den Anweisungen auf dem Bildschirm für Google Analytics.

Schritt 1 : Fügen Sie Crashlytics zu Ihrem Flutter-Projekt hinzu

  1. Führen Sie im Stammverzeichnis Ihres Flutter-Projekts den folgenden Befehl aus, um das Flutter-Plugin von Crashlytics zu installieren:

    flutter pub add firebase_crashlytics
    
  2. Führen Sie im Stammverzeichnis Ihres Flutter-Projekts den folgenden Befehl aus:

    flutterfire configure
    

    Das Ausführen dieses Befehls stellt sicher, dass die Firebase-Konfiguration Ihrer Flutter-App auf dem neuesten Stand ist, und fügt Ihrer App für Android das erforderliche Crashlytics-Gradle-Plugin hinzu.

  3. Wenn Sie fertig sind, erstellen Sie Ihr Flutter-Projekt neu:

    flutter run
    
  4. (Optional) Wenn Ihr Flutter-Projekt das Flag --split-debug-info (und optional das Flag --obfuscate ) verwendet, müssen Sie die Firebase CLI (v.11.9.0+) verwenden, um Android-Symbole hochzuladen.

    Führen Sie im Stammverzeichnis Ihres Flutter-Projekts den folgenden Befehl aus:

    firebase crashlytics:symbols:upload --app=APP_ID PATH/TO/symbols

    Das Verzeichnis PATH/TO /symbols ist dasselbe Verzeichnis, das Sie beim Erstellen der Anwendung an das Flag --split-debug-info übergeben.

Schritt 2 : Konfigurieren Sie Crash-Handler

Sie können automatisch alle Fehler abfangen, die innerhalb des Flutter-Frameworks ausgelöst werden, indem Sie FlutterError.onError mit FirebaseCrashlytics.instance.recordFlutterFatalError überschreiben:

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  await Firebase.initializeApp();

  // Pass all uncaught "fatal" errors from the framework to Crashlytics
  FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterFatalError;

  runApp(MyApp());
}

Um asynchrone Fehler abzufangen, die nicht vom Flutter-Framework behandelt werden, verwenden Sie PlatformDispatcher.instance.onError :

Future<void> main() async {
    WidgetsFlutterBinding.ensureInitialized();
    await Firebase.initializeApp();
    FlutterError.onError = (errorDetails) {
      FirebaseCrashlytics.instance.recordFlutterFatalError(errorDetails);
    };
    // Pass all uncaught asynchronous errors that aren't handled by the Flutter framework to Crashlytics
    PlatformDispatcher.instance.onError = (error, stack) {
      FirebaseCrashlytics.instance.recordError(error, stack, fatal: true);
      return true;
    };
    runApp(MyApp());

}

Beispiele für den Umgang mit anderen Fehlertypen finden Sie unter Anpassen von Absturzberichten .

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 das Auslösen einer Testausnahme erzwingen.

  1. Fügen Sie Ihrer App Code hinzu, mit dem Sie das Auslösen einer Testausnahme erzwingen können.

    Wenn Sie einen Fehlerhandler hinzugefügt haben FirebaseCrashlytics.instance.recordError(error, stack, fatal: true) zur Zone der obersten Ebene aufruft, können Sie Ihrer App mit dem folgenden Code eine Schaltfläche hinzufügen, die beim Drücken ausgelöst wird eine Testausnahme:

    TextButton(
        onPressed: () => throw Exception(),
        child: const Text("Throw Test Exception"),
    ),
    
  2. Erstellen Sie Ihre App und führen Sie sie aus.

  3. Erzwingen Sie das Auslösen der Testausnahme, um den ersten Bericht Ihrer App zu senden:

    1. Öffnen Sie Ihre App auf Ihrem Testgerät oder Emulator.

    2. Drücken Sie in Ihrer App die Testausnahmeschaltfläche, die Sie mit dem obigen Code hinzugefügt haben.

  4. 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 und auf Android auf nicht schwerwiegende Fehler und ANRs. Besuchen Sie das Crashlytics-Dashboard , um alle Ihre Berichte und Statistiken anzuzeigen und zu untersuchen.

Nächste Schritte