Mark Lowel Montealto — Full Stack Developer & DevOps Engineer

Mark Lowel
Montealto

Full Stack Developer & DevOps Engineer

Blog

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

  1. Dashboard → Create app.
  2. Fill in: App name, Default language, App or Game, Free or Paid.
  3. Accept the Developer Programme Policies and US export laws.
  4. 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:

  • 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.dev

With React Native CLI

cd android && ./gradlew bundleRelease
# Output: android/app/build/outputs/bundle/release/app-release.aab

Gradle 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:

TrackAudienceReview required
Internal testingUp to 100 testersNo (immediate)
Closed testing (Alpha)Invited groupsNo
Open testing (Beta)Public opt-inNo
ProductionEveryoneYes (1–7 days)

Recommended workflow: Internal → Closed → Open → Production.

  1. Dashboard → Testing → Internal testing → Create new release.
  2. Upload the .aab file.
  3. Add what's new (release notes).
  4. Review and Roll out.
  5. 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

  1. Testing → Production → Create new release.
  2. Upload the .aab (or promote from a testing track).
  3. Set rollout percentage — start at 10% for new apps to catch crashes early.
  4. Submit for review.
  5. 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.