Implementing Awesome Crash Reporting in Production Apps!
Join MVP and Raygun Community Evangelist Russ Fustino in this interesting session as he shares how he uses Raygun in a production cross platform application. The app is published to Android, iOS, Windows Store and Windows Phone. Russ will also show a Xamarin Forms app written in C# with a hybrid piece that uses JavaScript.
Russ shares how he implemented Raygun world class error reporting into this app and what he learned along the way, using Raygun during the development cycle to help debug errors and identify problems he wouldn’t have even known about!
Be proactive and fix errors before your users are affected. Get an overview of Raygun’s powerful features, supported platforms as well as the many integrations available. Sign up for a FREE RAYGUN TRIAL today! www.raygun.io and follow @raygunio on Twitter.
Topics covered include:
• Dashboard for Test environments
• Dashboard for Prod environments
• Initialization
• Error Reporting
• Xamarin Dependency Injection
• Custom Tags
• Strategic areas in the code for try / catch
• Affected User support
• Passing email address from C# to an HTML page with JavaScript for affected user support
3. 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?
5. 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?
6. 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
7. 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
17. 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
18. 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
27. Summary
• 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
Editor's Notes
How do we do this?
How do we do this?
Specifically for my app I need the following technologies: Tablet and Phone versions for Windows 8.1 Universal, Xamarin iOS, and Xamarin Android as well as JavaScript
Did you ever send screenshots?
Real Time Notifications
Giving as much data to your developer team as you can?
Based on Raygun experience of our production apps, only 1% tell you something is wrong
Save Time ,Saves Money
The more reliable and robust your system or app is, the easier it is to retain your users or convert trial users to customers.Feedback? Statistics show only one percent of your users even tell you that something is wrong.
Folks tell us, just getting the stack trace at the bottom here, is gold.
One the dash board having the groups is saving my sanity for not exploding my inbox email.
Improves developer productivity and reduces cost
If someone has an error in an old browser, really just in the last 6 months have line and column number been reported. Making more error messages unique, but really for the same error
The message could be in different languages
Use error codes to group.
Trend to error on the not in the same group
User can merge groups. IE, stack traces are different, but you know it is the same underlining problem
Certain type of data we use other info, ajax error incorporate the url. Only happens on two pages.