| Plattform auswählen: | iOS+ Android Flutter Unity |
Sie können auf ein Problem klicken, um einen detaillierten Ereignisbericht im Dashboard DevOps & Engagement > Crashlytics der Firebase-Konsole aufzurufen. Sie können diese Berichte anpassen, um besser zu verstehen, was in Ihrer App passiert und welche Umstände zu den an Crashlytics gemeldeten Ereignissen geführt haben.
Abgefangene Ausnahmen und nicht abgefangene Ausnahmen an Crashlytics melden.
GWP-ASan-Berichte einbeziehen, um Probleme mit Speicherschäden zu beheben.
Instrumentieren Sie Ihre App, um benutzerdefinierte Schlüssel, benutzerdefinierte Logeinträge und Nutzer-IDs zu protokollieren.
Wenn Ihre App das Firebase SDK für Google Analytics verwendet, werden automatisch Navigationspfad-Logs erstellt. Diese Logs geben Ihnen Einblick in die Nutzeraktionen, die zu einem von Crashlytics erfassten Ereignis in Ihrer App geführt haben.
Deaktivieren Sie die automatische Absturzberichterstellung und aktivieren Sie die Berichterstellung per Opt-in für Ihre Nutzer. Beachten Sie, dass Crashlytics standardmäßig automatisch Absturzberichte für alle Nutzer Ihrer App erfasst.
Ausnahmen melden
Abgefangene Ausnahmen melden
Wenn Sie Ausnahmen haben, die erwartet werden, können Sie sie vom Crashlytics SDK als nicht schwerwiegende Ereignisse melden lassen. Diese Ereignisse werden auf dem Gerät protokolliert und dann zusammen mit dem nächsten Bericht zu schwerwiegenden Ereignissen oder beim Neustart des Spiels durch den Endnutzer gesendet.
Sie können Ausnahmen in C# mit der folgenden Methode protokollieren:
Crashlytics.LogException(Exception ex);
Sie können erwartete Ausnahmen in den try/catch-Blöcken Ihres Spiels protokollieren:
try { myMethodThatThrows(); } catch (Exception e) { Crashlytics.LogException(e); // handle your exception here! }
Nicht erfasste Ausnahmen melden
Bei nicht erfassten Ausnahmen, die nicht zum Absturz des Spiels führen (z. B. nicht erfasste C#-Ausnahmen in der Spiellogik), können Sie das Crashlytics SDK so konfigurieren, dass sie als schwerwiegende Ereignisse gemeldet werden. Setzen Sie dazu die Property Crashlytics.ReportUncaughtExceptionsAsFatal auf true, wenn Sie Crashlytics in Ihrem Unity-Projekt initialisieren.
Diese Ereignisse werden in Echtzeit an Crashlytics gemeldet, ohne dass der Endnutzer das Spiel neu starten muss.
Wenn diese nicht erfassten Ausnahmen als schwerwiegende Ereignisse gemeldet werden, werden sie bei den Statistiken zu Nutzern ohne Abstürze und bei Geschwindigkeitswarnungen berücksichtigt.
Native Abstürze werden immer als schwerwiegende Ereignisse gemeldet. Diese Ereignisse werden auf dem Gerät protokolliert und dann gesendet, wenn der Endnutzer das Spiel neu startet.
void Start() { // Since there is no try-block surrounding this call, if an exception is thrown, // it is considered unexpected. // Setting `Crashlytics.ReportUncaughtExceptionsAsFatal = true` // will ensure that such cases are reported as fatals. thirdPartyMethodThatMayThrow(); }
GWP-ASan-Berichte zur Fehlerbehebung bei Speicherschäden einbeziehen
Bei Android-Apps, die IL2CPP verwenden, kann Crashlytics Ihnen helfen, Abstürze zu beheben, die durch native Arbeitsspeicherfehler verursacht werden, indem GWP-ASan-Berichte erfasst werden. Diese speicherbezogenen Fehler können mit Speicherschäden in Ihrer App zusammenhängen, die die Hauptursache für Sicherheitslücken in Apps sind.
Im Dashboard DevOps & Engagement > Crashlytics der Firebase Console können Sie mit diesen Daten Folgendes tun:
Diese Daten können Sie auf dem neuen Tab „Arbeitsspeicher-Stacktraces“ aufrufen, wenn Sie auf die Details eines Problems klicken.
Mit dem neuen Signal und Filter „GWP-ASan-Bericht“ könnt ihr euch schnell alle Probleme mit diesen Daten ansehen.
Sie können GWP-ASan-Speicherberichte erhalten, wenn Ihre App das neueste Crashlytics SDK für Unity (v10.7.0+) verwendet und GWP-ASan explizit aktiviert ist (erfordert die Änderung Ihres Android-App-Manifests). Wenn Ihre App C++-Code enthält, können Sie Ihre GWP-ASan-Einrichtung mit dem nativen Beispielcode in der Android-Dokumentation testen.
Benutzerdefinierte Schlüssel hinzufügen
Mit benutzerdefinierten Schlüsseln können Sie den spezifischen Status Ihrer App, der zu einem Absturz führte, abrufen. Sie können Ihren Absturzberichten beliebige Schlüssel/Wert-Paare zuordnen und dann die benutzerdefinierten Schlüssel verwenden, um Absturzberichte im Dashboard DevOps & Engagement > Crashlytics der Firebase-Konsole zu suchen und zu filtern.
Sie können nach Problemen suchen, die mit einem benutzerdefinierten Schlüssel übereinstimmen.
Wenn Sie sich ein bestimmtes Problem in der Console ansehen, können Sie die zugehörigen benutzerdefinierten Schlüssel für jedes Ereignis aufrufen (Untertab Schlüssel) und die Ereignisse sogar nach benutzerdefinierten Schlüsseln filtern (Menü Filter oben auf der Seite).
Wenn die Methode mehrmals aufgerufen wird, werden die Werte für vorhandene Schlüssel aktualisiert. Bei einem Absturz wird nur der aktuellste Wert erfasst.
Crashlytics.SetCustomKey(string key, string value);
Benutzerdefinierte Logeinträge hinzufügen
Wenn Sie mehr Kontext zu den Ereignissen vor einem Absturz benötigen, können Sie Ihrer App benutzerdefinierte Crashlytics-Logs hinzufügen. Crashlytics verknüpft die Logs mit Ihren Absturzdaten und zeigt sie auf dem Tab Logs an, wenn Sie die Details eines Problems aufrufen. Alle Probleme finden Sie in der Firebase Console im Dashboard DevOps & Engagement > Crashlytics.
Crashlytics.Log(string message);
Nutzer-IDs festlegen
Sie können eine ID-Nummer, ein Token oder einen Hash-Wert verwenden, um den Endnutzer Ihrer Anwendung eindeutig zu identifizieren, ohne seine personenbezogenen Daten offenzulegen oder zu übertragen. Sie können den Wert auch löschen, indem Sie ihn auf einen leeren String setzen. Dieser Wert wird angezeigt, wenn Sie sich einen bestimmten Absturz im Dashboard DevOps & Engagement > Crashlytics der Firebase-Konsole ansehen.
Crashlytics.SetUserId(string identifier);
Navigationspfad-Logs abrufen
Mit Navigationspfad-Logs können Sie die Interaktionen eines Nutzers mit Ihrer App vor einem Absturz, einem nicht schwerwiegenden Ereignis oder einem ANR-Ereignis besser nachvollziehen. Diese Logs können hilfreich sein, wenn Sie versuchen, ein Problem zu reproduzieren und zu beheben.
Navigationspfad-Logs werden von Google Analytics unterstützt. Wenn Sie Navigationspfad-Logs erhalten möchten, müssen Sie Google Analytics für Ihr Firebase-Projekt aktivieren und das Firebase SDK für Google Analytics zu Ihrer App hinzufügen. Sobald diese Anforderungen erfüllt sind, werden Navigationspfad-Logs automatisch in die Daten eines Ereignisses auf dem Tab Logs aufgenommen, wenn Sie die Details eines Problems aufrufen. Alle Probleme finden Sie im Dashboard DevOps & Engagement > Crashlytics der Firebase-Konsole.
Das Analytics SDK protokolliert automatisch das Ereignis screen_view, sodass in den Navigationspfad-Logs eine Liste der Bildschirme angezeigt werden kann, die vor dem Absturz, dem nicht schwerwiegenden Ereignis oder dem ANR-Ereignis aufgerufen wurden. Ein screen_view-Navigationspfad-Log enthält einen firebase_screen_class-Parameter.
Navigationspfad-Logs werden auch mit allen benutzerdefinierten Ereignissen gefüllt, die Sie manuell in der Sitzung des Nutzers protokollieren, einschließlich der Parameterdaten des Ereignisses. Anhand dieser Daten lässt sich eine Reihe von Nutzeraktionen nachvollziehen, die zu einem Absturz, einem nicht schwerwiegenden Ereignis oder einem ANR-Ereignis geführt haben.
Sie können die Erhebung und Verwendung von Google Analytics-Daten steuern, einschließlich der Daten, die in Navigationspfad-Logs eingetragen werden.
Opt-in-Berichterstellung aktivieren
Standardmäßig erfasst Crashlytics automatisch Absturzberichte für alle Nutzer Ihrer App. Sie können Nutzern mehr Kontrolle über die von ihnen gesendeten Daten geben, indem Sie ihnen die Möglichkeit geben, Absturzberichte zu aktivieren.
Wenn Sie die automatische Erfassung nur für ausgewählte Nutzer deaktivieren möchten, rufen Sie die Überschreibung der Datenerhebung Crashlytics zur Laufzeit auf. Der Überschreibungswert bleibt bei allen nachfolgenden Starts Ihrer App erhalten, sodass Crashlytics automatisch Berichte für diesen Nutzer erfassen kann.
Crashlytics.IsCrashlyticsCollectionEnabled = true
Wenn der Nutzer die Datenerhebung später ablehnt, können Sie false als Überschreibungswert übergeben. Dieser wird beim nächsten Start der App durch den Nutzer angewendet und bleibt bei allen nachfolgenden Starts für diesen Nutzer bestehen.
Crash Insights-Daten verwalten
Crash Insights hilft Ihnen, Probleme zu beheben, indem Ihre anonymisierten Stacktraces mit Traces aus anderen Firebase-Apps verglichen werden. So können Sie feststellen, ob Ihr Problem Teil eines größeren Trends ist. Bei vielen Problemen bietet Crash Insights sogar Ressourcen, die Ihnen bei der Fehlerbehebung helfen.
In Crash Insights werden aggregierte Absturzdaten verwendet, um allgemeine Stabilitätstrends zu ermitteln. Wenn Sie die Daten Ihrer App nicht teilen möchten, können Sie Crash Insights im Menü Crash Insights oben in der Problemliste im Dashboard DevOps & Engagement > Crashlytics der Firebase Console deaktivieren.
Nächste Schritte
- Daten nach BigQuery oder Cloud Logging exportieren, um erweiterte Analysen und Funktionen zu nutzen, z. B. Daten abfragen, benutzerdefinierte Dashboards erstellen und benutzerdefinierte Benachrichtigungen einrichten.