Top Banner
27

Implementing awesome crash reporting in production apps webcast

Aug 12, 2015

Download

Software

Russ Fustino
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Implementing awesome crash reporting in production apps webcast
Page 2: Implementing awesome crash reporting in production apps webcast

Presenter Q&A

Page 3: Implementing awesome crash reporting in production apps webcast

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?

Page 4: Implementing awesome crash reporting in production apps webcast

Find bugs before your users do

Page 5: Implementing awesome crash reporting in production apps webcast

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?

Page 6: Implementing awesome crash reporting in production apps webcast

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

Page 7: Implementing awesome crash reporting in production apps webcast

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

Page 8: Implementing awesome crash reporting in production apps webcast

Raygun Platforms

Page 9: Implementing awesome crash reporting in production apps webcast

InitializationGenerally, one line of code … example for Xamarin iOS

Page 10: Implementing awesome crash reporting in production apps webcast

Dashboard180 day retention period

Page 11: Implementing awesome crash reporting in production apps webcast

DashboardsTest and Production

Page 12: Implementing awesome crash reporting in production apps webcast

Global Dashboard

Page 13: Implementing awesome crash reporting in production apps webcast

Xamarin

Page 14: Implementing awesome crash reporting in production apps webcast

95% code sharing Xamarin Forms

Page 15: Implementing awesome crash reporting in production apps webcast

Xamarin Forms Project Structure

Page 16: Implementing awesome crash reporting in production apps webcast

Dependency InjectionIn the PCL Platform specific code

Page 17: Implementing awesome crash reporting in production apps webcast

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

Page 18: Implementing awesome crash reporting in production apps webcast

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

Page 19: Implementing awesome crash reporting in production apps webcast

Affected Users

Page 20: Implementing awesome crash reporting in production apps webcast

Affected Users Details

Page 21: Implementing awesome crash reporting in production apps webcast

Affected Users Properties

Page 22: Implementing awesome crash reporting in production apps webcast

If an error is serious, you will know

Follow @raygunio on Twitter and check out raygun.io

Page 23: Implementing awesome crash reporting in production apps webcast

Passing email address from C# to HTML Page

Page 24: Implementing awesome crash reporting in production apps webcast

Demos

• Xamarin Forms• JavaScript

Page 25: Implementing awesome crash reporting in production apps webcast

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

Page 26: Implementing awesome crash reporting in production apps webcast

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/

Page 27: Implementing awesome crash reporting in production apps webcast

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