Guides to Google Play closed testing
The 12-tester requirement, production access, and the edge cases that are not in the documentation. Written from actually running these tests — including the parts that went wrong.
The 12-tester requirement
What Google actually requires for closed testing, and the edge cases nobody documents.
- Start here
The 12 testers for 14 days requirement, explained
Google requires 12 testers opted in for 14 continuous days before production access. What that means exactly, who it applies to, and how to satisfy it.
Closed testing vs internal testing: which one Google requires
Internal testing does not satisfy Google Play's 12-tester requirement. Here is the difference between the tracks and which one unlocks production access.
Does uploading a new build reset the 14-day testing clock?
Short answer: no. Uploading a new APK or AAB to your closed track does not restart Google Play's 14-day continuous testing requirement. Here is what does.
What happens if a tester opts out during your 14-day test
A tester leaving mid-test can reset your 14-day closed testing clock. Here is what Google actually counts, and what to do the day it happens.
How to verify a tester actually opted in, in Play Console
Asking a tester if they opted in is not verification. Here is where Play Console shows the real number, and how to reconcile it against your list.
Testers opted in but your count is short: 6 causes
Your testers say they opted in and Play Console still shows fewer than 12. The six things that actually cause this, and how to tell which one you have.
Closed testing opt-in link not working: what to check
Testers get a 404, 'item not found' or 'app not available' from your closed-test opt-in link. The causes, in the order to check them, and each fix.
Google Play changed 20 testers to 12: what it means for you
Google launched the closed-testing rule with 20 testers and cut it to 12 in December 2024. What changed, what did not, and why old answers still say 20.
How to set up a closed test in Play Console, step by step
Create the closed testing track, add testers by email list or Google Group, publish the release and share the opt-in link, in the order Play Console needs.
Can your 12 testers be in different countries?
Google sets no country rule for closed testers, but your track's countries decide who can install. Why a tester abroad sees 'not available', and the fix.
Do testers need to open your app every day during the closed test?
Being opted in is what counts toward the 12, not daily use. But Google's production application asks how testers engaged, so here is what to aim for.
Finding testers
Where the 12 testers come from: free exchanges, friends, paid services, what Google allows, and how to tell whether a tester is real.
- Start here
How to get 12 Google Play testers for free
Every free way to get 12 testers for Google Play closed testing, ranked by how likely each is to keep 12 people opted in for 14 days, with what to say.
Can you use your own accounts as testers on Google Play?
Filling the 12-tester requirement with accounts you control is technically possible and a bad trade. What Google looks at, and what it costs when it fails.
Free vs paid app testers: an honest comparison
Four ways to get 12 testers for Google Play closed testing, what each actually costs you, and when paying is the better decision.
Is a tester exchange allowed by Google Play?
Google does not restrict how you recruit closed-testing testers, but it does judge whether the testing was real. What that means for tester exchanges.
TestersWiz vs Testers Community vs Get12Testers
Three free ways to swap testers for Google Play closed testing compared on how you earn a listing, how opt-ins are checked and what happens on a drop-out.
Do you need 12 new testers for every app you publish?
Google's closed test is per app, so each new app from a newer personal account needs its own 14 days. The same testers can test it. What carries over.
Production access
Applying for production access after your closed test: the questions Google asks, how long review takes, and what to do after a refusal.
- Start here
How to answer Google Play's production access questions
The nine questions Google asks when you apply for production access after closed testing, what each one checks, and example answers to adapt.
Production access denied after closed testing: what to check
You ran the 14 days with 12 testers and Google still said no. The usual reasons production access is refused, and what to do about each one.
How long does Google Play production access review take?
Google says production access review usually takes 7 days or less. The full timeline from closed test to live app, what slows it and what to do meanwhile.
Launch readiness
What Google Play checks in the app itself before launch: target API level, permission declarations, the Data Safety form, and secrets left in the APK.
- Start here
Google Play pre-launch checklist for 2026
What to check before your app goes live on Google Play in 2026: closed test, target API 36, permissions, Data safety, App content and keys in the APK.
Firebase config in an APK: what's public and what protects data
Your Firebase API key is visible in your APK, and Firebase says that is fine. What protects your data instead: Security Rules, App Check, restricted keys.
How to fill in the Data safety form for the SDKs in your app
Google Play holds you to what every SDK in your app collects. How to list the SDKs in your build, read their disclosures, and answer the Data safety form.
Google Play's target API level 36 requirement for 2026
From 31 August 2026 new apps and updates must target API level 36. How to check your build's target and change it in Gradle, Flutter, React Native or Expo.
How to check your APK for leaked API keys before you publish
Anyone who downloads your APK can read it. Which keys are safe to ship, which never are, where they hide in a build, and what to do if you find one.
Is your Supabase anon key safe in an Android app?
The Supabase anon or publishable key is meant to ship in your app, but only Row Level Security stands between it and your data. How to check every table.