Use pre-launch and crash reports to improve your app
Your app business relies on delivering high-quality apps. Part of achieving this quality is testing your apps on a range of devices. The pre-launch reports use automated tests on real devices that can identify layout issues, provide crash diagnostics, locate security vulnerabilities, and more. You can then run custom tests on Firebase Test Lab and use the crash and ANR reports to search more deeply for quality issues.
Why it works
Identifying where your app has problems will ensure you’re presenting the highest quality possible to users upon launch and, by correcting any issues quickly, you may be able to reverse negative reviews (particularly if you respond to let users know you’ve fixed the issue). You’ll also provide a better experience for new users, which should lead to better ratings and reviews.
- Pre-launch reports: Summarizes the issues found when apps you upload to the default closed testing track or open testing track are tested automatically for device compatibility, display issues, security vulnerabilities, and more on a wide range of devices in Firebase Test Lab. See details of crashes, performance and security issues, and screenshots of the crawled screens. Also, find out about accessibility issues you should fix.
- Custom tests using Firebase Test Lab: Catch defects throughout the development process by running scripted tests on your app, using Firebase Test Lab custom tests.
- Crashes and Application Not Responding (ANR) error reports: If your app crashes or stops responding and the user chooses to send details, Google Play collects relevant information and makes it available to you in the Google Play Console. By reviewing these crash and ANR reports you can identify issues with your app, then update your app to eliminate them.
- Firebase Crash Reporting: Get detailed reports about the errors in your app. Errors are grouped into clusters with similar stack traces and triaged by the severity of impact on your users. In addition to receiving automatic reports, you can log custom events to help capture the steps leading up to a crash.
- Use the default closed testing track and open testing track to run a pre-launch report. Any additional closed tracks that you create will not receive a pre-launch report.
- Track progress by comparing builds. As part of the pre-launch report, the Crashes tab shows a chart with your app's compatibility compared to previous builds. Each bar on the report represents a recently tested build of your app in the closed or open testing tracks, along with the number of successful and failed launches found during testing.
- Check how your app runs on different versions of Android. With the pre-launch report, near the bottom half of your app's Crashes tab, you can view individual reports showing the test device and the device's Android version with a red icon showing whether your app had any testing issues.
- Find layout issues. Screenshots in each test summary let you see how your app appears on test devices with different Android versions, languages, and screen resolutions.
- Consider uploading another version of your app. A test may show ‘unavailable devices’ in the results, even though your app was compatible with those devices. Upload another version of your app to the closed or open testing tracks to make sure it works with all devices.
- Identify security vulnerabilities. Known security vulnerabilities are flagged so you can act to ensure your app is safe for users. The report even scans for issues in third-party libraries. The names and descriptions of any security vulnerabilities found in your APK are included in the pre-launch report for each test.
- Use a single click sign-in button. If your app includes a sign-in screen, which requires credentials to be entered, it may limit the test results, as the test process can't get past these screens. To get better test coverage, publish an app to the closed or open testing tracks with a ‘sign-in’ button that allows the test process to continue testing your app with a single click.
- Remove location requirements. Your app may have a dependency on geolocation and this dependency might not be met by the location at which the test devices are based. If this is the case, publish an app to the closed or open testing tracks that removes the location requirements, especially if your app has content restrictions based on country.
- Embed data you want included in the tests. If you want to run tests on an app with pre-loaded data, publish a version of your app to the closed or open testing tracks with your media files embedded in it.
- Disable Google Play licensing services. If your app hasn’t reached the production track, to ensure it properly identifies the users on the test devices, publish a version to the closed testing track with Google Play licensing services disabled. Otherwise, you’ll get limited results from the tests.
- Test from behind a login. You can provide credentials to go behind logins so that you can better understand how your app performs across the most popular devices.
- Create demo loops to test predefined actions in your game. Demo loops make the pre-launch report relevant for testing game play, as the standard crawler doesn't support OpenGL. For games created using OpenGL, publish a version of your game with demo loops to the closed or open testing tracks.
- Take more control over tests and ensure key features are tested. Set up Robo test scripts to perform specific actions. Record them in Android Studio with Espresso Test Recorder then load them into your app's pre-launch report settings. The test crawler then runs your scripts and includes results in the report.
- Identify deep links. Add your app's deep links to the pre-launch report setting and the test crawler will exercise them in the tests.
- Review your test summary for accessibility errors, warnings, and minor issues. During testing, any accessibility issues will be flagged. Check the report's Accessibility tab to see screen clusters that identify where issues were found in your app. Also, learn how to use Accessibility Scanner to identify accessibility suggestions.