Google Play Submission
From building the AAB through internal testing to submitting for production review, step by step.
The full path to publishing your release AAB on Google Play. We assume you've completed Before You Publish and the Production Checklist.
The Play Console UI changes often. Even if menu names differ slightly, the flow (create app → listing → policy questionnaires → upload to track → review) stays the same.
1. Build the release AAB
Google Play prefers the AAB (App Bundle) format.
# Build the release AAB for your plan
./gradlew :app:bundleBasicRelease
./gradlew :app:bundleStandardRelease
./gradlew :app:bundleProReleaseRelease signing must be configured. With Google Play App Signing, Google re-signs your app, so the production license must be activated with the SHA-256 of Google's re-signing certificate. See the Production Checklist.
2. Create the app
- Open Google Play Console → Create app
- Enter app name, default language, app/game type, free/paid
- Accept the developer program policies and US export laws, then create
3. Complete app content (policy questionnaires)
Fill the required items under App content. If any is missing, you can't submit for review.
- Privacy policy — enter the public URL (how to prepare: Privacy & Data Safety)
- App access — provide a reviewer test account if login is required
- Ads — whether the app contains ads
- Content rating — answer the questionnaire to get an automatic rating
- Target audience / whether it targets children
- Data safety — declare data the SDK/web app handle (how to fill)
Attach the WebView explanation to review notes
Because Unveily is WebView-based, attaching the "native features are fixed at build time" explanation plus your config.json to the review notes improves approval odds. Copy the wording from App Review Tips.
4. Write the store listing
Under Grow → Store listing → Main store listing:
- App name, short description, full description
- App icon (512×512), feature graphic (1024×500)
- 2+ phone screenshots (real app screens)
- Category and contact details
5. Ship to internal testing first (recommended)
Don't go straight to production — validate via internal testing.
- Testing → Internal testing → Create new release
- Upload the release AAB → enter version info
- Add tester Gmail addresses under the Testers tab → install via the shared opt-in link
- On a real device, verify license checks, core features, and permission behavior
If you use in-app purchases (Pro), validate the payment flow during internal testing using License testers → In-App Purchase setup.
6. Submit to production
- Production → Create new release → upload the AAB (or promote the internal testing release)
- Write release notes
- Click Review release → Start rollout to production / Send for review
- After Google's review (usually hours to days), it publishes when approved
After publishing
- Changing config.json requires a new build and update submission (re-review). Web content changes don't need re-review → App Review Tips
- Verify app integrity (Play Integrity) is enabled → Integrity Check
- Always increment
versionCodefor the next release
Common sticking points
| Symptom | Cause / fix |
|---|---|
| Submit button disabled | App content (policy questionnaires) incomplete — check privacy policy, data safety, content rating |
| App exits immediately on launch | Missing license key file or signature-hash mismatch — with App Signing, re-activate using Google's re-signing SHA-256 |
| Rejected as "just wraps a website" | State your native Bridge usage in the review notes → App Review Tips |