How to increase app quality with Firebase and Google Play

Akua Prempeh
Google Play Apps & Games
6 min readJul 30, 2020

--

If you’ve ever published an app to Google Play, you may have experienced a moment of panic before release. “Is my app stable enough to handle thousands of users? Will it work as designed across devices?” If you’ve had thoughts like these when shipping your app, don’t worry, you’re not alone. Shipping your app doesn’t have to be a stressful experience and there are tools you can use to ensure your apps are stable and high performing.

You may already be using Google Play app quality tools, such as Android vitals and pre-launch reports in your release workflows, but using Firebase and Google Play quality tools together can take your app quality to the next level. Google Play quality tools provide a holistic view of your app’s stability while Firebase quality tools, such as App Distribution, Crashlytics, Test Lab and Performance Monitoring, offer additional customization and more in-depth insights. The combined use of Google Play and Firebase quality tools provides you with actionable insight on your app’s stability and performance before, during, and after launch so you can be confident knowing your users are experiencing the best version of your app.

In this article, I’ll cover how to use Firebase app quality tools together with Google Play quality tools to improve user’s experience in your app.

Table listing out Google Play and Firebase tools that help improve your app quality

Gather feedback from internal teams and external users

One of the best ways to identify and fix bugs is through feedback from trusted testers, but user testing can be a clunky process. You have to recruit testers, find ways to distribute your test builds and grant testers access. Firebase App Distribution, a pre-release testing tool, provides you with the flexibility to easily distribute your test builds among trusted testers on Android and iOS using the Firebase console or your CI servers so you can collect early feedback and uncover bugs. Also, with no SDK to install, you can get your testers up and running quickly. If you’re looking to test specific Play formats such as App Bundles, you can use Google Play Internal App Sharing to quickly upload and share your test builds with your internal team.

When you’re done with internal testing and want to gather more feedback at scale, use Google Play’s open and closed testing tracks to target your most engaged users for a final quality check before releasing a new feature. With open and closed testing you get direct feedback from external users without impacting your ratings or reviews on Google Play. For example, Panzerdog, a game developer, improved retention using closed testing to gather feedback on issues they weren’t originally focused on, such as overall performance and controls. You can find some more best practices on using testing tracks here.

Test your app on different devices

With so many Android devices on the market, it’s important to test your app on a variety of devices to ensure it functions as intended for all users. You may already use pre-launch reports on the Google Play Console to run tests on pre-selected devices. However, you might want a little more flexibility, given you know your users best and what devices are most popular with them. Firebase Test Lab allows you to run custom ad-hoc tests at any point in development on a myriad of self-selected physical and virtual devices.

Both pre-launch reports and Firebase Test Lab offer Robo test, an intelligent crawler that automatically navigates your app and identifies issues without having to set up tests on your own. For more control over your testing, you can also run custom instrumentation tests on Firebase Test Lab that allow you to drive the UI of your app.

For game developers, pre-launch reports and Firebase Test Lab offer Game Loop tests that simulates the actions of a real player, and provides a fast and scalable way to verify that your game performs well for your users.

Firebase Test Lab and pre-launch reports provide you with actionable next steps on how to address stability, Android compatibility, display, accessibility and security vulnerabilities across devices without having to maintain this infrastructure on your own.

Monitor and quickly fix crashes that occur in your app

No matter how much testing you do, all apps crash every once in a while. You don’t want to learn about problems in your app from angry reviews or support tickets from frustrated users. The best way to monitor your app’s stability is to find out about issues as soon as they occur.

To ensure you’re prioritizing the most pervasive crashes, start by reviewing your Android vitals dashboard to get a broad overview of your crash and ANR rates.

Once you’ve gone through your Android vitals metrics, it’s time to begin fixing issues, but troubleshooting can take time. Firebase Crashlytics can help you fix stability issues faster by providing additional context that helps you quickly understand the root cause of a crash. For example, custom keys provide you with a snapshot of the state of your app before it crashes, and custom logs record the events a user went through during their session. You can also integrate Crashlytics with Google Analytics to utilize breadcrumbs, which automatically capture predefined Google Analytics events that show the actions a user has taken prior to a crash, as well as the parameters within the event. Gameloft, a critically acclaimed game developer, saw firsthand the benefit of using logs and keys to get details and context surrounding crashes, which helped them lower crash rates and increase player session duration by 16%.

For even more in-depth insight, export your crash data to BigQuery in real time to determine emerging crashes in new code or see the top issues for the day, so you can prioritize and fix them faster.

For more ways Crashlytics can help you improve your app, you can check out this blog post by my colleague, Oleg.

Analyze app performance after launch

Once your app is live, you’ll want to monitor how it’s performing across your user base, and spot any technical issues quickly and easily. You can use Android vitals here to monitor not only crashes, but also your app’s excessive wakeup and stuck partial wakeup data, as well as app start time. You can see how your app is performing compared to your peers by using custom peer groups. For game developers, you can also get additional performance insights in Android vitals by integrating Android Performance Tuner into your game to measure and optimize your frame rate performance and your graphical fidelity across the Android device ecosystem.

To drill deeper into your app’s performance, Firebase Performance Monitoring utilizes custom traces to capture your app’s performance in specific situations so you can understand the context in which performance issues take place and more easily address them. You can also filter both the trace and network data of your app into dimensions like device type, geography, and app version to get to the bottom of issues.

Understanding your app’s performance not only gives you more information on your app’s relative quality, but also helps you make the right business decisions while ensuring the quality of your app on the Play store.

Final words

So there you have it! By using Firebase and Google Play together you have a powerful set of tools that help you get a broad overview as well as in-depth insight into stability issues, making your release process less stressful, your app less buggy and your users happy. To get started with Firebase quality tools, you can create a project here, and learn about linking it to Google Play here.

--

--