Google Play Submission

Google Play Store Submission Guide

Prerequisites

  • Google Play Developer Account ($25 one-time)
  • EAS CLI configured
  • App icons (512x512 for Play Store)
  • Feature graphic (1024x500)
  • Screenshots for phone and tablet
  • Privacy Policy URL

Step 1: Google Play Console Setup

1.1 Create Developer Account

  1. Go to Google Play Console
  2. Pay $25 registration fee
  3. Complete identity verification
  4. Accept Developer Distribution Agreement

1.2 Create New App

  1. Click Create app
  2. Fill in:
    • App name: Civix - US Citizenship Test
    • Default language: English (United States)
    • App or game: App
    • Free or paid: Free
  3. Accept declarations
  4. Click Create app

Step 2: Store Listing Setup

2.1 Main Store Listing

Navigate to GrowStore presenceMain store listing

App Details

App name: Civix - US Citizenship Test
Short description (80 chars):
Master the 100 USCIS civics questions for your naturalization test!

Full description (4000 chars):
Master the US Citizenship Test with Civix!

Prepare for your naturalization interview with the official 100 USCIS civics questions. Our app makes studying easy, effective, and even fun!

★ FEATURES ★
• All 100 official USCIS civics questions
• Practice mode with instant feedback
• Quiz mode to test your knowledge
• Progress tracking and statistics
• Multiple language support (English, Spanish, and more)
• Beautiful, easy-to-use interface

★ PREMIUM FEATURES ★
• Unlimited quiz attempts
• Ad-free experience
• Access to all languages
• Priority support

★ WHY CIVIX? ★
• Based on official USCIS materials
• Study at your own pace
• Track your progress
• Works offline

Whether you're just starting your citizenship journey or preparing for your final interview, Civix helps you succeed!

Download now and take the first step toward becoming a US citizen!

2.2 Graphics Assets

AssetSizeRequired
App icon512 x 512 PNGYes
Feature graphic1024 x 500 PNG/JPGYes
Phone screenshots16:9 or 9:16 (min 2)Yes
7" tablet screenshots(min 1)If supporting
10" tablet screenshots(min 1)If supporting
Promo videoYouTube URLNo

2.3 Categorization

App category: Education
Tags: Study, Learning, Reference
Email: your@email.com
Phone: +1-XXX-XXX-XXXX
Website: https://yourwebsite.com

Step 3: App Content Setup

Navigate to PolicyApp content

3.1 Privacy Policy

Privacy policy URL: https://yourwebsite.com/privacy

3.2 Ads Declaration

Does your app contain ads? Yes
Ad networks: Google AdMob

3.3 App Access

All functionality is available without special access
(Or provide test credentials if needed)

3.4 Content Rating

Complete the IARC questionnaire:

  • Violence: None
  • Sexuality: None
  • Language: None
  • Controlled substances: None
  • User interaction: No

Result: Rated for Everyone

3.5 Target Audience

Target age: 18 and over
(Citizenship test is for adults)

3.6 News App

Is this a news app? No

3.7 Data Safety

Fill out data safety form:

Data collected:
- Device identifiers (for ads)
- App activity (analytics)
- App info and performance (crash logs)

Data sharing:
- Shared with advertising partners
- Shared with analytics providers

Security practices:
- Data encrypted in transit
- Data can be deleted (contact support)

3.8 Government Apps

Is this a government app? No

3.9 Financial Features

Does the app provide financial features? No

Step 4: In-App Products Setup

4.1 Create Products

Navigate to MonetizeProductsSubscriptions

Create Subscription

  1. Click Create subscription
  2. Product ID: civix_premium
  3. Name: Civix Premium

Add Base Plans

Monthly Plan:

Base plan ID: monthly
Renewal type: Auto-renewing
Price: $4.99/month
Grace period: 7 days
Free trial: 7 days (optional)

Annual Plan:

Base plan ID: annual
Renewal type: Auto-renewing
Price: $29.99/year
Grace period: 7 days
Free trial: 14 days (optional)

4.2 Create One-Time Product

Navigate to MonetizeProductsIn-app products

Product ID: civix_premium_lifetime
Name: Civix Premium Lifetime
Description: One-time purchase for lifetime access
Price: $59.99

4.3 Activate Products

  1. Click each product
  2. Click Activate

Step 5: Build Configuration

5.1 Update eas.json

{
  "cli": {
    "version": ">= 5.0.0"
  },
  "build": {
    "development": {
      "developmentClient": true,
      "distribution": "internal",
      "android": {
        "buildType": "apk"
      }
    },
    "preview": {
      "distribution": "internal",
      "android": {
        "buildType": "apk"
      }
    },
    "production": {
      "android": {
        "buildType": "app-bundle"
      },
      "autoIncrement": true
    }
  },
  "submit": {
    "production": {
      "android": {
        "serviceAccountKeyPath": "./pc-api-key.json",
        "track": "internal"
      }
    }
  }
}

5.2 Create Service Account

  1. Go to Google Cloud Console
  2. Create new project or select existing
  3. Enable Google Play Android Developer API
  4. Go to IAM & AdminService Accounts
  5. Create service account:
    • Name: eas-submit
    • Role: None (will grant in Play Console)
  6. Create key → JSON → Download as pc-api-key.json
  7. Add to .gitignore

5.3 Link Service Account to Play Console

  1. In Play Console, go to SetupAPI access
  2. Click Link next to your Google Cloud project
  3. Find your service account
  4. Click Grant access
  5. Set permissions:
    • Admin (all permissions) for initial setup
    • Or specific: Release apps to testing tracks, Manage store presence

Step 6: Build and Submit

6.1 Build for Production

# Build Android production (AAB)
eas build --platform android --profile production

6.2 Submit to Google Play

# Submit to internal testing track
eas submit --platform android --latest

# Or specify build
eas submit --platform android --id [BUILD_ID]

6.3 Manual Upload (Alternative)

  1. Download .aab from EAS
  2. In Play Console, go to ReleaseTestingInternal testing
  3. Click Create new release
  4. Upload AAB file
  5. Add release notes
  6. Click SaveReview releaseStart rollout

Step 7: Testing Tracks

7.1 Testing Track Progression

Internal Testing → Closed Testing → Open Testing → Production

7.2 Internal Testing

  • Up to 100 testers
  • No review required
  • Instant availability
  • Use for team testing

7.3 Closed Testing

  • Unlimited testers via email lists or Google Groups
  • Review required (faster than production)
  • Use for beta testing

7.4 Open Testing

  • Anyone can join
  • Listed as "Early access" on Play Store
  • Review required
  • Use for public beta

7.5 Set Up Testers

  1. Go to ReleaseTestingInternal testing
  2. Click Testers tab
  3. Create email list or add emails
  4. Share opt-in link with testers

Step 8: Production Release

8.1 Pre-Launch Report

  1. Wait for internal/closed testing completion
  2. Review Pre-launch report in Release → Testing
  3. Fix any critical issues found

8.2 Create Production Release

  1. Go to ReleaseProduction
  2. Click Create new release
  3. Select build from library (or upload)
  4. Add release notes:
What's new in this version:
• Initial release
• 100 USCIS civics questions
• Practice and quiz modes
• Progress tracking
• Multi-language support
  1. Click SaveReview release

8.3 Rollout Options

Staged rollout:
- Start with 10% of users
- Monitor crash rates and reviews
- Increase to 50%, then 100%

Full rollout:
- Release to all users immediately
- Use for critical updates

8.4 Submit for Review

  1. Review all warnings
  2. Click Start rollout to Production
  3. Confirm

Step 9: Post-Submission

9.1 Review Timeline

  • Initial review: 3-7 days (first app)
  • Subsequent reviews: 1-3 days
  • Updates: Usually faster

9.2 Common Rejection Reasons

ReasonSolution
Policy violationReview Google Play policies
CrashesCheck pre-launch report, fix issues
Broken functionalityTest all features thoroughly
Misleading metadataEnsure description matches app
Privacy issuesComplete data safety form accurately

9.3 Responding to Rejection

  1. Check email for rejection details
  2. Review the policy cited
  3. Fix the issue
  4. Resubmit with explanation

Step 10: App Signing

10.1 Play App Signing

Google manages your signing key (recommended):

  1. Go to SetupApp signing
  2. Accept Play App Signing
  3. Google securely stores your production key

10.2 Upload Key (if needed)

If you have existing key:

  1. Export using PEPK tool
  2. Upload to Play Console
  3. Follow on-screen instructions

Checklist Before Submission

  • Store listing complete
  • Screenshots uploaded (phone + tablet)
  • Feature graphic uploaded
  • Privacy policy URL valid
  • App content sections complete
  • Content rating received
  • Data safety form complete
  • In-app products created and activated
  • AAB built and uploaded
  • Release notes written
  • Internal testing completed
  • Pre-launch report reviewed

Useful Commands

# Build for testing
eas build --platform android --profile preview

# Build for production
eas build --platform android --profile production

# Submit to internal track
eas submit --platform android --latest --profile production

# Check build status
eas build:list --platform android

# View credentials
eas credentials --platform android

Useful Links