Abstraktes Header-Bild in den Farben von tsjdev apps

Blogbeitrag

AppCenter.Crashes: Abstürze der App tracken

Ich habe ja bereits in einigen Beiträgen gezeigt, wie man ganz bequem per AppCenter Statistiken erfassen oder auch seine eigenen Event tracken kann. In diesem Beitrag wollen wir uns nun einmal anschauen, wie wir App-Abstürze tracken können. Leider kommt es immer mal wieder vor, dass man als Entwickler zum Beispiel einen Null-Check vergisst und damit die App abstürzt. Für diesen Fall bietet das AppCenter ebenfalls eine Lösung an, denn diese Abstürze können automatisch übertragen und übersichtlich dargestellt werden. Dadurch bekommt man die Gelegenheit einer besseren Analyse und kann die Fehler dann auch einfacher beheben.

Damit Abstürze an das AppCenter übertragen werden können, müssen wir unserem Projekt das NuGet Package Microsoft.AppCenter.Crashes hinzufügen.

In unserer Xamarin.Forms App haben wir die Initialisierung des AppCenters in der App.xaml.cs durchgeführt. Wir öffnen nun diese Datei und fügen noch typeof(Crashes) hinzu. Somit erhalten wir den folgenden Aufruf

AppCenter.Start("android=GUID",
                  typeof(Analytics), typeof(Crashes));

Sollte unsere App nun unerwartet abstürzen, werden automatisch Informationen an das AppCenter übertragen. Um das ganze zu testen, bietet die Klasse Crashes eine Methode GenerateTestCrash() an, welche wir nun innerhalb unserer App aufrufen werden. Sobald die Methode aufgerufen wird, wird der Absturz im AppCenter unter dem Abschnitt Diagnostics sichtbar.

Sobald wir den Eintrag in der Liste anklicken, gelangen wir zur Detail-Ansicht. Hier können wir weitere Informationen, wie zum Beispiel den Methoden-Aufruf, die eigentliche Exception und auch einen Stack Trace einsehen. Dies erleichtern natürlich ungemein das Beheben des Problems.

Möchte man explizit einen Fehler an das AppCenter schicken, welche eigentlich in einem *try-catch-*Block abgefangen wird, kann man die Methode Crashes.TrackError() verwenden. Diese nimmt als Parameter ein Exception-Objekt entgegen und zusätzliche Parameter, wie wir es bereits beim Tracken von eigenen Events gesehen haben. Somit haben wir auch hier mit nur einer Zeile Code einen Mechanismus geschaffen, welcher uns hilft, unerwartete Abstürze unserer App besser zu analysieren und damit auch zu beheben.

Weiterempfehlen

Diesen Beitrag teilen

Wenn dir der Beitrag gefallen hat: gern weiterreichen. Gute Links dürfen sich ruhig schnell verbreiten.

Vorheriger/Nächster Beitrag

scrncrd.com: Screen Recorder im Browser Vorheriger Beitrag scrncrd.com: Screen Recorder im Browser Microsoft Flow - Automatisierte Prozesse und Aufgaben Nächster Beitrag Microsoft Flow - Automatisierte Prozesse und Aufgaben
Flags Quiz - Ein interaktives Flaggen-Quiz mit HTML, JavaScript und Bulma Flags Quiz - Ein interaktives Flaggen-Quiz mit HTML, JavaScript und Bulma Sicherheitslücken in verwendeten NuGet-Paketen finden Sicherheitslücken in verwendeten NuGet-Paketen finden Windows Terminal unter Windows 11 mit Oh-My-Posh einrichten Windows Terminal unter Windows 11 mit Oh-My-Posh einrichten Cronjobs in Azure Functions: Zeitgesteuerte Aufgaben mit dem TimerTrigger ausführen Cronjobs in Azure Functions: Zeitgesteuerte Aufgaben mit dem TimerTrigger ausführen
Lust auf ein kurzes digitales Hallo? Wenn du eine Idee teilen, eine Frage loswerden oder ein Projekt anschieben willst: mein Posteingang ist deutlich zuverlässiger als Brieftauben. apps@tsjdev-apps.de Mail schicken