How We Utilize Firebase Crashlytics To Improve Our Service

In a mission to help connecting #OrangBaik across Indonesia

A Little Story of Firebase Crashlytics

The original logo of Crashlytics and Fabric

It was acquired by Twitter in 2013 before taken by Google at January 2017. It was two years and half before Google announced Fabric deprecation and introduced Firebase Crashlytics. It’s now believed served more than a million developers around the world.

This is the appearance of Fabric Migration to Firebase

If you haven’t implemented this into your project, i suggest you to start it from now. Because we would never know what kind of crash, how to reproduce the error, and the specification device that users uses when our app crash. You can try it by yourself about setting it in the starter documentation.

Use Case

We’ve tried our best guys. Please hold on :)

That type of error is really annoying and that’s what i felt too. So, after doing some research with my team, we found that Firebase Crashlytics non fatal error and started to use it. And if you look into the documentation, the setup is really simple. For this scenario, i would give you a sample in iOS perspective. After setting up the Firebase and Firebase Crashlytics into your project, you can start to call a method that handles the non fatal error reporting.

Crashlytics.crashlytics().record(error: error)

Since the record(error:) only receives the type of NSError, you should initialise the log to be something like this

let userInfo: [String:Any] = [
NSLocalizedDescriptionKey: "The request failed.",
NSLocalizedFailureReasonErrorKey: "The response returned a 404.",
NSLocalizedRecoverySuggestionErrorKey: "Does this page exist?",
"ProductID": "123456",
"View": "MainView",
]

let error: NSError = NSError(domain: NSCocoaErrorDomain,
code: -1001,
userInfo: userInfo)

You can customise the key and value inside of the userInfo. In my case, i fill the userInfo with the things that helps my Backend to trace the issue. And that’s it!

Now what happens is that, whenever it triggers the method, you can see the result in Firebase Dashboard -> Crashlytics. After that, you should filter the Event Type into non fatals and apply it. Please note that it may take 2–3 hours to see the result. Even in my case, i got to see the result in the next day.

Here’s the sample of the final result

Final Thought

Since you’ve reached at the bottom of this article, i would like to give you an information that we are also hiring. You can check it here

Have a great day! ;)

Lemme tell ya somethin’