Publish to Google Play
Ship a React Native app to Google Play: app bundles, Play App Signing, testing tracks, and target API level requirements.
This guide covers the process of publishing a React Native app to the Google Play Store.
Quick Answer
Create a Google Play Console account (a one-time
5 fee), upload a signed Android App Bundle (not an APK), enroll in Play App Signing, move the release through the testing track ladder if required, complete the Data safety and content rating forms accurately, and make sure your build's target API level meets Google's current requirement.
1. Prerequisites
- A Google Play Console developer account (one-time
5 registration fee);
a signed Android App Bundle, ideally via ./gradlew bundleRelease (see Build a Release Version).
2. Play App Signing
Google strongly encourages, and in most flows requires, enrolling in Play App Signing: you upload your app signed with an upload key, and Google re-signs it with a separate app signing key it manages. This protects you if your local upload key is ever lost or compromised, Google can help you recover, unlike a fully self-managed keystore.
3. New Personal Accounts May Face Testing Requirements
Google has increasingly required new developer accounts to run a closed testing track with a minimum number of testers for a period of time before a production release is allowed. Check the current requirement in Play Console when setting up a new account; it affects how early you can go straight to production.
4. The Track Ladder
Play Console offers Internal testing → Closed testing → Open testing → Production. Each promotes the same reviewed build to a wider audience without a new review each time, so testing on Internal first, then promoting the same artifact, is faster than repeatedly uploading fresh builds to Production.
5. Target API Level
Google raises the minimum required targetSdkVersion roughly annually and enforces it on new app versions after a deadline; an update targeting an outdated API level gets blocked from publishing. Check Play Console's current requirement before every release, not just your first one.
6. Data Safety and Content Rating
Complete the Data safety form (what data the app collects, how it's used and shared) and the content rating questionnaire. These must match what the app's actual code and SDKs do; a mismatch between declared behavior and actual behavior can trigger a policy violation later, not just at initial review.
Common Issues
Upload rejected: "target API level too low" Google's minimum requirement was raised since the app was last built; bump targetSdkVersion in android/build.gradle and rebuild.
Upload rejected: expects an app bundle, not an APK use bundleRelease, producing an .aab, for Play Store submissions.
New account can't publish directly to Production likely subject to the closed testing track requirement for new developer accounts; check Play Console's onboarding requirements.
App suspended after release over a Data safety mismatch the form's declared data collection didn't match what the app (or a third-party SDK inside it) actually does; audit the SDKs you ship against what you declared.
Verification Checklist
- the account is enrolled in Play App Signing;
- the uploaded artifact is an
.aab, not an .apk;
targetSdkVersion meets Google's current minimum;
- the Data safety form accurately reflects the app's actual data practices;
- if required, the closed testing track requirement has been satisfied before attempting a production release.
Next Steps