Use a pre-launch report to identify issues

This article explains how to set up and run a pre-launch report. If you’ve run a pre-launch report and you want to know how to interpret the results, go to Understand your pre-launch report.

A pre-launch report is automatically generated when you publish an app to closed or open testing, to identify issues proactively before your app reaches users. It includes tests for:

  • Stability issues
  • Android compatibility issues
  • Performance issues
  • Accessibility issues
  • Security vulnerabilities
  • Privacy issues

How the pre-launch report works

After you upload and publish a test APK or app bundle, we install it on a set of Android devices in our test lab. We then automatically launch and crawl your app for several minutes. The crawler performs basic actions such as typing, tapping, and swiping. You can also provide custom tests or test account credentials for the crawler to use.

After the crawl has finished, we compile your results in the pre-launch report. We also uninstall your app from all devices.

Assessing your app’s suitability for a pre-launch report

The pre-launch report will work as long as we are able to install and ‘crawl’ your app. However, certain apps may require minor code modifications. Common examples include apps that require country validation or install validation. To learn more, go to our frequently asked questions.

Note that test devices can’t run tests on apps without a main launch activity, including launchers, widgets, keyboards, and watch faces.

 

Collapse All Expand All

Run a pre-launch report

Test your app

To generate your app's pre-launch report, publish your app on a closed or open test track.

You will automatically receive a pre-launch report for any app that you publish on a test track unless you opt-out. You'll usually receive test results within an hour of uploading your APK or app bundle. In some cases, you'll receive results several hours after upload.

Sign up for pre-launch report emails

You can receive email notifications for available pre-launch reports by setting up your email preferences in the Play Console: Settings > Developer Account > Preferences. You can choose to receive emails for all tests or only tests with issues.

Turn off pre-launch reports

Pre-launch reports are automatically generated when you publish an app on a closed or open test track. To disable all pre-launch reports for your app:

  1. Open the Play Console.
  2. Select an app.
  3. Select Test > Pre-launch report > Settings.
  4. Scroll down to "Preferences," and uncheck the Turn on pre-launch report box to disable the report for your app.

Customize your tests

You can customize your tests to make your pre-launch report more comprehensive and relevant to your app.

Step 1: Provide test account credentials if your app has a sign-in screen

If your app has a sign-in screen and you want the crawler to test the sign-in process or the content behind it, you need to provide account credentials. Note you do not need to provide credentials if your app supports "Sign-in with Google,” which enables the crawler to log in automatically.

Here are some important things to note about testing credentials:

  • The credentials you provide are used for testing purposes only.
  • While we do our best to keep test credentials secure, we recommend you don't add any official credentials into the pre-launch report. Instead, create a test account username and password.
  • Credentials can only be automatically inserted into Android apps that use standard Android widgets. Credentials can't be used in apps that use OpenGL to render custom controls or apps that use a WebView for a web-based authentication flow.
  • Google will log in automatically if your app supports "Sign-in with Google."
Set up credentials
  1. Open the Play Console.
  2. Select an app.
  3. On the left menu, select Test > Pre-launch report > Settings.
  4. In the “Test account credentials” section, select Provide credentials.
  5. Enter the following: 
    • Username: The username associated with your test account. 
    • Password: The password associated with your test account.
  6. Save your changes. These credentials will be used for all future tests unless edited.
Edit or remove credentials
  1. Open the Play Console.
  2. Select an app.
  3. On the left menu, select Test > Pre-launch report > Settings.
  4. Make your changes:
    • To edit credentials: In the “Test account credentials” section, enter your updated credentials in the username and password fields.
    • To remove credentials: In the “Test account credentials” section, select Don’t provide credentials
      • Note: If you remove your app's test credentials, you'll need to add new credentials before any future tests can sign in to your app.
  5. Save your changes. These credentials will be used for all future tests unless edited.

Step 2: Provide a Robo script or game loop

If you want to control the steps that the crawler takes when testing your app, you can provide a Robo script or game loop.

Provide a Robo script to customize the test path of a Java app

You can control the steps that the crawler takes when testing your app by providing a Robo script to perform specific actions like testing a common user journey or a new section of your app.

When you run a test with a script attached, the crawler runs your pre-scripted actions first and then explores the app as usual.

To upload a script to your pre-launch report:

  1. Record your script using the Firebase tool in Android studio (Android Studio > Tools > Firebase > Test Lab > Record Robo Script). For details, go to the Firebase Help Center.
    • Note: You don't need a Firebase account to create a Robo script.
  2. When your script is ready, open the Play Console.
  3. Select an app.
  4. Select Test > Pre-launch report > Settings.In the "Control how pre-launch report explores your app" section, upload your script. You can drag and drop your file, or select Upload.
  5. In the "Control how pre-launch report explores your app" section, upload your script. You can drag and drop your file, or select Upload.
Provide a game loop to test an OpenGL app or game

If you’re testing a game or an app that uses OpenGL, you need to provide a game loop to get a good pre-launch report. A game loop defines the actions that you want the crawler to take. You can test more than one game loop in the same app.

To use game loops in your pre-launch report:

  1. To use game loops in the pre-launch report, modify your game to do the following:
    • Launch the loop
    • Run the loop
    • Close the loop (optional)You make these modifications in your development environment. For details, go to the Firebase Help Center.
      • Note: You don't need a Firebase account to use game loops in the pre-launch report.
  2. Publish the version of your game with the game loop to a closed or open test track. The crawler will automatically detect and execute the game loop.

Step 3: Customize the test starting point with deep links

You can add up to three deep links to your pre-launch report to test additional entry points for your app. 

The crawler works as usual for several minutes, then closes the app and visits each deep link in turn, crawling for a further 30 seconds. Any issues found during these extra crawls are included in the report as normal.

To learn how to create and test deep links for your app, visit the Android Developers site.

Step 4: View test reports for specific languages

If you'd like to view test results for specific languages, you can set up language preferences on the Pre-launch report settings page. You can select up to five languages. 

Tip: Since the pre-launch report runs automatically when you upload a test APK or app bundle, you can only add language preferences after the initial test completes.  

Set up language preferences
  1. Open the Play Console.
  2. Select an app.
  3. On the left menu, select Test > Pre-launch report > Settings.
  4. Under "Test your app in specific languages," select + Add language.
  5. Select up to five languages. For future tests, you'll only see test results from these languages.
    • Note: If you don’t select any languages, we’ll automatically select languages in which your app has the most installs.

View your pre-launch report

When your pre-launch report is available, you can view a test summary that includes the number of errors, warnings, and minor issues found during testing, categorized by issue type. You’ll also see a launch recommendation based on your app’s testing results.

View pre-launch report summary

To view a summary of your pre-launch report:

  1. Open the Play Console.
  2. Select an app.
  3. Select Test > Pre-launch report > Overview.
  4. Review each section: 
    • Stability 
    • Performance 
    • Accessibility
    • Security and trust 
  5. If any section has an issue, select Show summary to expand. 
  6. Select View details to see more granular information for your issues.
  7. Tip: To view previous pre-launch reports, scroll to the table in the “Report details” section at the bottom of the page. 

    Note: If you see "Testing in progress," your latest test hasn't finished yet. If your latest test couldn't run, you may see "Test failed." To run another test, publish another APK or app bundle.

View pre-launch report details

To view detailed results of your pre-launch report:

  1. Open the Play Console.
  2. Select an app.
  3. Select Test > Pre-launch report > Details.
  4. Review the Stability, Performance, Accessibility, Screenshots, and Security and trust tabs. On each page, you'll see full details of the results for your latest test, including stack traces, screenshots, and charts.

Note: If you see "Testing in progress," your latest test hasn't finished yet. If your latest test couldn't run, you may see "Test failed." To run another test, publish another APK or app bundle.

Frequently asked questions

Collapse All Expand All

App tests

How long should the test take?

You'll usually receive test results within an hour of uploading your APK or app bundle. In some cases, you'll receive results several hours after upload. If the report is not complete after two days, try uploading your artifact again. This will trigger a new report.

Apps that run validation at launch

Can I run a pre-launch report for an app that performs country validation?

You can still get a pre-launch report if you are happy to make minor modifications to your code.

Test devices are located in the United States. If your app uses geolocation or has content restrictions based on country, test devices can only show what's available in their location.

If you need to test your app on a geolocation outside of where test devices are located, you can publish an APK or app bundle that removes location requirements for testing purposes.There are two ways you can detect that your pre-launch reports are running in Test Lab: 

Can I get a pre-launch report for an app that checks for rooted devices?

The test platform doesn't support apps that check whether a device has privileged control (root access) on Android.

Apps that have ads or purchasing options

My app has ads. How do I ensure that pre-launch report testing doesn't contribute towards my impressions and clicks (which my ad network might detect or be unhappy about)?

Google ads already excludes traffic from the pre-launch report address ranges. For other ad networks, you need to specify the IP address ranges to be excluded.

Is there anything I need to know about testing apps with display ads?

For details on how to mitigate fraudulent ad revenue with automated app testing, review the Google Developers site.

Do tests include purchasing subscriptions or in-app products?

Test devices aren't able to make purchases during testing. If your app offers subscriptions or in-app products to access some parts of your app, testing scenarios may be limited.

Other app behaviors

My code is obfuscated (Java) or stripped (native). Can I still use pre-launch reports?

Yes. Pre-launch report tests will run regardless.

If your code is obfuscated or stripped, however, any crashes or ANRs found during testing will have stack traces that are also obfuscated or stripped. To enable us to make your stack traces easier to debug, we recommend that you upload a deobfuscation or symbolication file.

You can learn more about uploading deobfuscation or symbolication files.

Is there a way to pre-load test devices with media or additional pre-installed apps?

No. The test platform doesn't support pre-loading devices with media or pre-installed apps.

However, if you want to run tests on an app with pre-loaded data, you can publish a test version of your app with your media files embedded in its APK or app bundle.

What if my app uses a Google Play licensing service?

If your app is in an open test or your app has been published to production, pre-launch report testing will use an ID that acts as if it's licensed for your app.

If your app is not in an open test and doesn't have an active APK published to production, your app will fail the licensing check. You'll still receive pre-launch report results, but your app will be in an unlicensed state. To run tests on these apps, you can publish a closed version of your app with licensing services disabled.

Can test devices run tests on apps that use landscape configuration?

The test devices are predefined to run tests on fixed portrait page orientation by default. However if your app is locked to landscape, you should see videos and screenshots in landscape mode.

Device selection

How do you decide what devices you will use to test my app?

We choose test devices that provide a good breadth of coverage across the ecosystem, and take into account device popularity, crash frequency, screen resolutions, manufacturers, Android OS version, and more. The selection of test devices may vary.

What if I have excluded some devices from targeting in my app manifest?

If you have excluded some devices from targeting in your app manifest, then the pre-launch report will also exclude them in tests, but will not target any custom devices for your app.

Can I customize the set of test devices?

The pre-launch report is powered by Firebase Test Lab. To customize the devices that are tested, consider conducting your own tests in the Firebase console.

Can I run pre-launch reports on apps compiled for x86 devices?

Our device set is limited to ARM devices. An x86 APK will be shown as incompatible with all test devices.

Can I run pre-launch reports on apps for Wear OS by Google, Auto, TV, and older Android versions?

Our device set is limited to phones and tablets, so it's not possible to test apps directly on Wear OS by Google, Auto, or TV. Our device set also doesn't include devices with Android versions older than 4.1.1 (Jelly Bean).

Was this helpful?
How can we improve it?

Need more help?

Sign in for additional support options to quickly solve your issue