Using Pre-Launch Reports to Identify Issues

Thorough testing is an essential part of building a high-quality app, but the process can be time-consuming and frustrating.

That's why the pre-launch report makes basic app testing a breeze.

What Is the Pre-Launch Report?

It's a helpful dashboard within the Google Play Console that alerts you of any quality concerns in your app before it affects your users.

Whenever you upload an app to the closed or open testing tracks in the Google Play Console, you'll automatically generate this free report. The report is created from an automated crawl of your app using the tools and infrastructure of Firebase Test Lab.

The crawler, which we call Robo, explores your app by inputting taps, swipes and text. Tests are run on a wide range of devices of varying specs and price points.

Once your app has been crawled, within an hour the pre-launch report flags any crashes, security vulnerabilities, startup time issues or other problems.

On the overview page, you'll find clear recommendations on how to address the results. You'll also see a summary of the issues found by the crawler. It even offers suggestions for taking advantage of the report's more advanced features.

We'll come back to that in a moment. Below that, you'll see the full details of everything the crawler found, including screenshots and videos taken during the crawl. These are great for spotting UX issues or seeing what the crawler was doing when your app crashed.

There's also information about accessibility and usability issues like small touch targets, poor contrast and missing or confusing voice annotations. While the pre-launch report is useful in its default state, you can easily customise it to focus on the things that matter most to your app.

For example, while Robo can crawl any app built on the Android framework, what if your app or game uses OpenGL? In that case, you can use demo loops or monkey actions.

Demo Loop

A demo loop lets you create automated journeys true to your app, so if you're testing a game, you might configure it to focus on a particular level or a character.

To run a demo loop, first add the loop to your game, then modify your game to launch and run the demo loop.

Finally, declare the demo loop in your apps manifest. Now, when you run a test the crawler will use the demo loop. When the crawler is finished, you'll see both the standard test results and any rendering issues so you can investigate any problems with frame rates.

Monkey Action

A monkey action lets the crawler test actions in places where you haven't provided a demo loop. In this case, when the crawler reaches an OpenGL canvas, it'll perform random taps and swipes. While it doesn't have the sophistication of a demo loop, it can detect issues you didn't encounter in your tests.

And what if your app asks for users to sign in? No problem. The crawler can test the logged in experience too. If you use sign in with Google, the crawler can locate the login button and use the Google account that's already included on the test device.

If your app uses a custom sign in mechanism, just configure the pre-launch report with a test account. Go to settings and enter the resources used for the username and password fields, as well as the login button. You'll also enter the test user name and password. Now, when the crawler encounters your login button, you'll enter the test account details and keep testing.

Deep Links

The pre-launch report can also test up to three deep links. Deep links take users right to the specific feature in your app, skipping the usual entry flow. To specify which deep links you want to test, go to settings and just add the URLs.

The crawler will run for about 5 minutes, then close your app and visit each deep link for about 30 seconds each. If it finds any issues, you'll see them in the report.

If you want even more control, maybe your app has a signup screen early in the onboarding flow that you need to test, or you want the crawler to exercise a specific part of your app. That's where Robo Scripts come in.

Robo Scripts

Robo Scripts are a sequence of actions recorded on a JSON file. To record a script, open Android Studio, go to tools and open Firebase. Click record Robo Script and use it to guide Robo Test, then record Robo Script.

Select the test device and record the steps you want the crawler to follow, and save the Robo Script to file.

Now, go to the pre-launch report and upload your script under settings. The next time you run the crawler it'll open your Robo Script and follow the sequence of steps you recorded before returning to its default crawling pattern.

The pre-launch report can also be configured to test in any language. By default, you will test the most popular languages among your users, but you may want to test out a new version before launching it with a new language.

To test in another language, open the pre-launch report settings anytime after the initial crawl of your app, you can define up to five languages to test when you upload a new version.


The pre-launch report is a great way to do a final quality check after your own QA testing, helping you deliver higher quality apps and games. Everyone who publishes APKs to the closed or open testing tracks can get a free launch report.

Just open the Google Play Console to get your free report. Check it out next time you're uploading a pre-production app.