Using Android Vitals During Your Closed Test
Android vitals shows crash and ANR rates from real devices. Google’s bad-behaviour thresholds, how to read vitals during a closed test, and what to fix first.
Short answer
Android vitals reports stability from real devices, including your testers’. Google’s bad-behaviour thresholds are a user-perceived crash rate of 1.09% and a user-perceived ANR rate of 0.47% overall, and 8% per phone model for both. Exceeding them can reduce your app’s visibility on Google Play, so fix crashes and ANRs during testing.
The core vitals thresholds (from Google)
| Metric | Overall | Per phone model | Per watch model |
|---|---|---|---|
| User-perceived crash rate | 1.09% | 8% | 4% |
| User-perceived ANR rate | 0.47% | 8% | 5% |
Google says that to maximise your title’s visibility on Google Play, you should keep below these thresholds.
Why it matters in a closed test
- With only 12-20 testers, numbers are noisy: one crash from one person can look like a high rate. Treat vitals as a list of real crashes to fix, not a score.
- The same stability problems will hit thousands of users after launch. Fixing them now is cheaper.
- Fixes you make because of vitals are concrete evidence for your production access answers (“fixed an ANR on Android 12 Samsung devices in 1.0.4”).
Where to look
Play Console → your app → Monitor and improve → Android vitals (labels vary). Filter by release or version to see your test builds. Open crash clusters for stack traces and affected devices.
Fix order
- Crashes on startup. They ruin everything else.
- ANRs on the main thread: disk or network work on the UI thread, slow BroadcastReceivers, heavy app startup.
- Device-specific crashes on popular models.
- Excessive wake-ups or battery problems, if reported.
Get better crash detail
Vitals stack traces are good, but adding Crashlytics gives you logs, custom keys and near-real-time alerts. Upload your R8 mapping file so traces are readable.
Frequently asked questions
Why don’t I see vitals data yet?
Vitals need enough data from real devices. With a small closed test, data may be sparse or delayed, so pair it with Crashlytics.
What causes most ANRs?
Work on the main thread: disk or network calls, heavy startup work, and slow broadcast receivers. Move them to background threads.
Do vitals thresholds apply per release?
Google evaluates them over time across your app’s users. Fixing issues quickly keeps your overall rates healthy.
Sources and how we keep this accurate
Policy facts are checked against Google's own documentation on the date shown above. Google can change requirements at any time, so confirm in your Play Console. Where we give advice or estimates rather than Google's rules, we say so. TestersZone is independent and not affiliated with Google. Drafts are AI-assisted and reviewed by our team.
Need 12 testers? Get them free.
Test 3 apps, earn 60 credits, and list your app for up to 20 real testers with verified daily check-ins.
Start freeKeep reading
Add Firebase Crashlytics to Your Closed Test Build
How to Read the Google Play Pre-Launch Report
How to Triage Tester Feedback in a 14-Day Closed Test
How to Collect In-App Feedback From Closed Testers
How to Test In-App Purchases With License Testers
Browse all guides, or see the quick answers, guides and comparisons.