How to Publish a React Native App on Google Play (Including the 12-Tester Rule)
Publish a React Native or Expo app on Google Play in 2026: Play Console setup, EAS Build, the 12-tester closed test, required forms and a staged rollout.
Full-Stack, Mobile & AI Engineer
Publishing on Google Play looks easier than Apple until you meet the forms: content rating, target audience, Data safety, app access, ads, and, for many new developers, a 14-day closed test with at least 12 people before you're allowed into production.
Here's the complete process to publish a React Native app on Google Play (the Play Store) in 2026, using EAS Build and EAS Submit, with the testing rule explained properly so it doesn't surprise your launch date.
Key takeaways
- A Play Console account costs a one-time $25. Register as an organisation if you're a company; it's also the route that avoids the personal-account testing rule.
- New personal accounts (created after 13 November 2023) must run a closed test with at least 12 testers opted in for 14 days before applying for production access.
- EAS Build produces a signed Android App Bundle (AAB), and Play App Signing holds the final signing key.
- The first upload is done by hand in Play Console; after that, EAS Submit can upload automatically.
- Release with a staged rollout and watch crashes before going to 100%.
Step 1: create a Play Console developer account
Sign up for a Google Play developer account and pay the one-time registration fee. Choose the account type carefully:
| Personal account | Organisation account | |
|---|---|---|
| For | Individuals and hobby developers | Companies, with business details |
| Verification | Identity verification | Business verification (a D-U-N-S number is commonly required) |
| Closed-testing rule | Applies to accounts created after 13 Nov 2023 | Not part of this requirement |
| Shown on store | Your name | Your company name |
Step 2: create the app in Play Console
Create a new app with its name, default language, app or game, and free or paid. Then work through the Set up your app tasks on the dashboard: privacy policy, app access, ads, content rating, target audience, data safety and government app declarations.
Step 3: configure your app
{
"expo": {
"name": "Your App",
"version": "1.0.0",
"android": {
"package": "com.yourcompany.yourapp",
"permissions": ["CAMERA"],
"blockedPermissions": ["android.permission.ACCESS_BACKGROUND_LOCATION"]
}
}
}The package name must be unique on Google Play and can't change later. Use blockedPermissions to strip any permission a library adds that you don't use, because Google reviews the final manifest.
Step 4: build the Android App Bundle
eas build --platform android --profile productionOn the first build, EAS can generate an upload keystore and store it securely. Google Play requires an Android App Bundle (AAB) for new apps, and Play App Signing keeps the key that signs what users download, while you sign uploads with your upload key. If an upload key is ever lost, it can be reset through Play Console, which is one reason Play App Signing matters.
Use autoIncrement in your production profile so every build gets a new versionCode; Play rejects uploads that reuse one.
Step 5: upload the first build by hand
Google's API can't create the very first release, so upload the first AAB manually: Testing → Internal testing → Create new release, then upload the .aab from your EAS build. After that, eas submit --platform android can upload future builds automatically, using a Google service account key with access to your app in Play Console.
Step 6: test, including the 12-tester rule
Play Console has three testing tracks:
| Track | Who | Typical use |
|---|---|---|
| Internal testing | Up to 100 testers you invite by email | Fast team testing, no long review |
| Closed testing | A list or Google Group you control | Wider beta, and the 12-tester requirement |
| Open testing | Anyone who finds the testing link | Public beta |
If your account is a personal account created after 13 November 2023, you must run a closed test with at least 12 testers who stay opted in for the previous 14 days before you can apply for production access from the dashboard. Recruit testers before the app is "done", ask them to actually install and use the app, and keep them in the test until access is granted.
From the field: App Store and Google Play review, including rejection handling, phased rollouts and crash triage, are part of the release path I own on the apps I ship. For Android launches the testing window is the item to plan first, because it's the one part of the timeline you can't compress.
Step 7: complete the store listing and policies
| Item | Notes |
|---|---|
| Store listing | Short and full description, icon, feature graphic, phone screenshots |
| Content rating | IARC questionnaire |
| Target audience | Age groups; children's audiences trigger the Families policy |
| Data safety | Everything your app and SDKs collect and share |
| App access | Login credentials and instructions for reviewers |
| Account deletion | In-app option plus a web link, if users can create accounts |
| Ads | Whether the app contains ads |
| Target API level | New apps and updates must target Android 16 (API 36) from 31 August 2026 |
Step 8: release to production
Once production access is granted (or straight away for organisation accounts), create a production release, choose a staged rollout percentage, for example 10% to start, and submit for review. Review times vary from hours to several days, especially for new apps and apps with sensitive permissions. After approval, watch crash rate and reviews, then increase the rollout to 100%. If something goes wrong, halt the rollout and ship a fix.
When products or subscriptions don't show up
If in-app products or subscriptions don't appear in your app on Android, the cause is usually setup rather than code: the app must have been uploaded to at least one testing track, the products must be active in Play Console, the test account must be added as a license tester and opted in to the track, and the package name must match exactly. Changes in Play Console can also take some time to reach devices.
FAQ
How much does it cost to publish an app on Google Play?
A one-time $25 registration fee for the developer account. There's no yearly fee. Google takes a service fee on paid apps, in-app purchases and subscriptions that use Google Play billing.
What is the Google Play 12 testers rule?
New personal developer accounts, created after 13 November 2023, must run a closed test with at least 12 testers who have stayed opted in for 14 continuous days before they can apply for production access. Plan at least two weeks for it before your Android launch.
Can I upload my first Android build with EAS Submit?
Not the very first one. Google's API doesn't allow creating an app's first release, so you upload the first AAB manually in Play Console. After that, EAS Submit can upload builds automatically with a service account key.
How long does Google Play review take?
It varies. Many updates are reviewed within a day or two, but new apps, new accounts and apps requesting sensitive permissions can take several days. Leave a buffer before any public launch date.
Next steps
If you're launching on Google Play and want the account, testing track, forms and release pipeline set up properly the first time, I can handle it end to end. Get in touch, or see how I work as a React Native developer.
Sources
- App testing requirements for new personal developer accounts, Google Play Console Help
- Set up an open, closed or internal test, Google Play Console Help
- Use Play App Signing, Google Play Console Help
- Target API level requirements for Google Play apps, Google
- Submit to the Google Play Store, Expo
Related
Google Play Rejections and Policy Strikes: Causes and Fixes
Why Google Play rejects apps in 2026: Data safety mismatches, sensitive permissions, app access, account deletion and target API, with the fix for each.
EAS Build Explained: Profiles, Credentials, and What It Costs
EAS Build explained for 2026: build profiles in eas.json, managed credentials, local builds, versioning, and what Expo's plans and per-build prices cost.
Versioning a React Native App: versionCode, buildNumber, runtimeVersion
React Native app versioning explained: version vs build number on iOS and Android, runtimeVersion for OTA updates, auto-increment and update checks.
