implementing awesome crash reporting in production apps webcast

27

Upload: russ-fustino

Post on 12-Aug-2015

177 views

Category:

Software


2 download

TRANSCRIPT

Presenter Q&A

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?

Find bugs before your users do

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

Raygun Platforms

InitializationGenerally, one line of code … example for Xamarin iOS

Dashboard180 day retention period

DashboardsTest and Production

Global Dashboard

Xamarin

95% code sharing Xamarin Forms

Xamarin Forms Project Structure

Dependency InjectionIn the PCL Platform specific code

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

Affected Users

Affected Users Details

Affected Users Properties

If an error is serious, you will know

Follow @raygunio on Twitter and check out raygun.io

Passing email address from C# to HTML Page

Demos

• Xamarin Forms• JavaScript

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/

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