After talking about the importance of having a crash analytics service integrated into your app, I feel it would be prudent to talk about how to choose the right crash analytics service. I will list out the 7 factors that are most essential for you to consider.
- A crash analytics service should allow you monitor your application and do so in real time. Having a dashboard that can show you all of your handled exceptions, unhandled exceptions, and crashes is ideal. It’s also very important to see the trends of the issues in the app because they might become bigger issues. The reporting that you are monitoring should also be in real-time. Being unable to see issues until they’ve already caused an uproar is unacceptable.
- It should be able to alert you when issues occur, according to settings which you have pre-established. It’s tempting to want to receive an alert whenever a crash occurs so that you can respond to it as quickly as possible but having that setup would mean that you could potentially receive millions of reports. When you test launch your app, it’s a good idea for you to receive alerts for every single crash but that’s not the case when your app had been released on the app store. With that said, being able to customize your alert settings is as important as the services ability to send you an alert is. When your game is released, having some crashes in a day can be normal, but having the same number of crashes in a short period of time is not. Being able to customize the way you receive alerts can let you tailor it for the situation most suitable for your app, so that you can prioritize the most important issues. It will also better organize any issue that you need to address and cut down on a lot of reports that are redundant. This leads into our next requirement.
- A proper crash analytics service should help you prioritize your issues so that you can resolve the most important issues as quickly as possible. You will need to know the number of times every single crash occurs. More importantly, you will need to know the number of users affected by the crash. This information can help you to prioritize which crash or exception issue your team should focus on at the time. There are advance crash analytics services which send along a user’s information along with their crash information when a crash happens to a particular user. Developers will always want to target VIP users or converted users who make a large number of IAP’s because that is where there revenue stream is coming from. If the crash analytics service you choose lets you know what crash those users encountered, you can prioritize those issues and fix them for your paid users in order to retain them. Having a service which can track these users would be very valuable for your business. Your time is too valuable to spend it sorting through a million crashes and finding the most important ones.
- It should provide you with all the information you need about either crashes or exceptions. The most important information is the stack trace of the issue so that you can track the problem right down to the root of your code. You will also need the ability to symbolicate it so that your engineers can really read it. With some advance crash analytics, they will provide more information about the issue including a wide range of qualities about the crashed device such as OS version, mobile device model, CPU usage, memory usage, ram usage, battery level and carrier details. All of these things could be very essential in determining exactly why a problem occurs so that your engineers can more easily fix it. Imagine not knowing what phone model the crash occurred on when the crash has a compatibility issue with that particular piece of hardware – you’d be completely left in the dark.
- A good crash analytics service should empower you so that you can improve your app further down the road. You want a service which will give you insight on how to improve your app and not just show you that you need to fix individual crashes through the dashboard. You should be able to be notified about what aspect of your app has the most crashes. Let’s say you realized that your app crashes the most on a particular OS version or a particular device. You can allocate more resource on testing and optimizing your app on that OS version or device. This single action can help you to improve your app most efficiently.
- A crash analytics service should also be easy to integrate. If you’re having to modify huge portions of your app or go through an extended, time-consuming process then it’s wasting your time. A good crash analytics service should only require that you modify a little bit of code to integrate it.
- When you are using native code on your Android app, please make sure the service you choose also supports NDK. If you are a mobile game developer using a game engine, also make sure the service you choose has the ability to capture crashes and exceptions on your engine. Any service which does not do this will be completely useless to you.
All of the points mentioned above should exist within your crash analytics service. Having the right crash analytics integrated in your app can make the process of debugging your app so efficient that you can focus on other endeavors and implement newer concepts in to your app with ease. The combination of not only a greater stream of content but also a more quality stream of content will keep your users happy and keep your DAU up. It can also have a drastic effect on your reviews which can dramatically impact the number of installs and ultimately making it beneficial to your bottom line.