July 2024
·4 min read
Publishing to Google Play: A Developer's Guide to the Play Console
Step-by-step guide to publishing your Android app on Google Play — from creating a developer account and signing your AAB to staged rollout and post-launch monitoring.
Introduction
- Publishing to Google Play is not just an upload — it involves account setup, app signing, store listing, testing tracks, and a review process.
- This guide walks through the full first-time submission flow and the ongoing release process.
- App format used: Android App Bundle (AAB), the modern replacement for APK.
Step 1: Create a Google Play Developer Account
- Go to play.google.com/console → Create account.
- One-time registration fee: $25 USD.
- Requires a Google account; takes 1–2 days for verification.
- Choose Individual or Organisation account — Organisation allows multiple users on the same account.
Step 2: Create Your App in the Play Console
- Dashboard → Create app.
- Fill in: App name, Default language, App or Game, Free or Paid.
- Accept the Developer Programme Policies and US export laws.
- The app is created in Draft status — not visible to users.
Step 3: Complete the Store Listing
Required before any release:
- Short description (80 chars max) — appears on search results.
- Full description (4000 chars max) — SEO matters here; include your target keywords.
- Screenshots: at least 2 phone screenshots (minimum 320px on the short side).
- Feature graphic: 1024×500px banner — shown on your app's Play Store page.
- App icon: 512×512px PNG (no rounded corners — Play applies the mask).
- Category, Contact details, Privacy Policy URL (required).
Step 4: Set Up App Signing
Google Play signs your app before delivery to users. Two options:
Option A: Google Play App Signing (Recommended)
- Upload your app signed with an upload key; Google re-signs with the app signing key.
- Your upload key: generated by EAS Build or via
keytool -genkey -v -keystore upload.jks -alias upload -keyalg RSA -keysize 2048 -validity 10000. - The app signing key is managed by Google — if your upload key is compromised, Google can reassign a new one.
Option B: Self-Managed Key
- You manage the signing key entirely.
- If lost, your app cannot be updated — do not lose this key.
Step 5: Build an Android App Bundle (AAB)
With EAS (Expo)
eas build --platform android --profile production
# Downloads a signed .aab from expo.devWith React Native CLI
cd android && ./gradlew bundleRelease
# Output: android/app/build/outputs/bundle/release/app-release.aabGradle signing config
// android/app/build.gradle
android {
signingConfigs {
release {
storeFile file(MYAPP_UPLOAD_STORE_FILE)
storePassword MYAPP_UPLOAD_STORE_PASSWORD
keyAlias MYAPP_UPLOAD_KEY_ALIAS
keyPassword MYAPP_UPLOAD_KEY_PASSWORD
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}Step 6: Create a Release — Testing Tracks
Play Console has four testing tracks before Production:
| Track | Audience | Review required |
|---|---|---|
| Internal testing | Up to 100 testers | No (immediate) |
| Closed testing (Alpha) | Invited groups | No |
| Open testing (Beta) | Public opt-in | No |
| Production | Everyone | Yes (1–7 days) |
Recommended workflow: Internal → Closed → Open → Production.
- Dashboard → Testing → Internal testing → Create new release.
- Upload the
.aabfile. - Add what's new (release notes).
- Review and Roll out.
- Share the internal testing link with testers via email.
Step 7: Content Rating
- Dashboard → Policy → App content → Content rating.
- Fill in the IARC questionnaire — takes ~5 minutes.
- Required before submitting to Production.
Step 8: Submit for Production Review
- Testing → Production → Create new release.
- Upload the
.aab(or promote from a testing track). - Set rollout percentage — start at 10% for new apps to catch crashes early.
- Submit for review.
- Typical review time: 1–3 business days for new apps, hours for updates.
Staged Rollout
- Don't push to 100% immediately — start at 10%, monitor Crashes and ANR (Application Not Responding) in Play Console.
- Pause or halt the rollout if crash rate spikes above baseline.
- Increase rollout: 10% → 25% → 50% → 100% over several days.
Monitoring After Launch
- Android Vitals: crash rate, ANR rate, excessive wakeups — Google uses these for ranking.
- Target: crash rate below 1.09% (Play Store's "bad behavior" threshold).
- Reviews: respond to negative reviews within 24h — response rate affects store ranking.
- Rating distribution: monitor over time; low ratings trigger additional Play policy review.
Automating with EAS Submit
# Submit directly from EAS to Google Play
eas submit --platform android --profile production- Requires a Google Play service account key (JSON) — create in Google Play Console → API access.
- Store the JSON key in EAS secrets or GitHub Actions secrets.
Conclusion
- The first publish is the hardest — account verification, signing setup, and store listing take the most time.
- Start with Internal Testing for every release; staged rollouts protect your users.
- Android Vitals are a direct ranking signal — prioritise crash fixes over features.