implementing awesome crash reporting in production apps webcast
TRANSCRIPT
A little about me• Raygun Community Evangelist• Former Developer Evangelist for Microsoft,
Xamarin and ComponentOne• CEO, Fustino Brothers, Inc• Publisher of Several Windows 8,
Windows Phone 8, iOS, and Android Apps• MVP Microsoft Platform Developer• Publisher of Jethro Tull App, Endorsed• How do you implement awesome crash reporting?
What were the Challenges?• Common error reporting for many platforms and languages.• Getting started?• Need more help in analyzing errors and the cause. • I need to know how well my apps works in production. • If my app crashes, I wanted to know about it and what the cause is?• Stack traces are great, can I get in production?• I needed more app specific information in my error reporting. • Raygun works for Xamarin iOS an Android, but what about Xamarin
Forms?
Agenda• Error Reporting• Initialization• Dashboards for Test and Production environments• Xamarin Dependency Injection• Strategic areas in the code for try / catch• Custom Tags• Affected User support• Passing email address from C# to an HTML page with JavaScript for affected user
support
Error reporting• Did you ever send screenshots? It’s only part of the story• Real Time Notifications, Saving Time… Saves Money• Retain customers… Convert trials• Only 1% of your users even tell you that something is wrong• If I only had stack trace, that would be gold• Error grouping is essential, provides sanity for not exploding my inbox email• Bottom line… I need to improve developer productivity and reduce cost
Try / Catch
• Raygun supports unhandled errors• Where you want custom messages, use try catch• Create your own subclasses of Exception to represent state• Examples, in my app:• RSS Feed• Navigating to other sites• Handling of images
Custom Tags
• Great for application specific needs• “Send email to webmaster – RSS feed is down”• Last URL attempted: www.jethrotull.com• Last Image loaded: this_was.png• Last Page used: Discography
ResourcesSome useful plugins for Xamarin (Device, Settings, etc..):https://github.com/jamesmontemagno/xamarin.plugins
Affected user tracking:https://github.com/MindscapeHQ/raygun4net#affected-user-tracking
Tags: https://github.com/MindscapeHQ/raygun4net#tags-and-custom-data
.NET Platforms: https://raygun.io/docs/languages/net
Language support: https://raygun.io/docs/languages
Resources continuedPlugins: https://raygun.io/docs/plugins/
Workflow: https://raygun.io/docs/workflow/
Raygun blog: https://raygun.io/blog/
Case Studies: https://raygun.io/blog/case-studies/
Dependency Injection: http://developer.xamarin.com/guides/cross-platform/xamarin-forms/dependency-service/