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
- Go to Google Play Console
- Pay $25 registration fee
- Complete identity verification
- Accept Developer Distribution Agreement
1.2 Create New App
- Click Create app
- Fill in:
- App name:
Civix - US Citizenship Test - Default language: English (United States)
- App or game: App
- Free or paid: Free
- App name:
- Accept declarations
- Click Create app
Step 2: Store Listing Setup
2.1 Main Store Listing
Navigate to Grow → Store presence → Main 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
| Asset | Size | Required |
|---|---|---|
| App icon | 512 x 512 PNG | Yes |
| Feature graphic | 1024 x 500 PNG/JPG | Yes |
| Phone screenshots | 16:9 or 9:16 (min 2) | Yes |
| 7" tablet screenshots | (min 1) | If supporting |
| 10" tablet screenshots | (min 1) | If supporting |
| Promo video | YouTube URL | No |
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 Policy → App 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 Monetize → Products → Subscriptions
Create Subscription
- Click Create subscription
- Product ID:
civix_premium - 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 Monetize → Products → In-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
- Click each product
- 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
- Go to Google Cloud Console
- Create new project or select existing
- Enable Google Play Android Developer API
- Go to IAM & Admin → Service Accounts
- Create service account:
- Name:
eas-submit - Role: None (will grant in Play Console)
- Name:
- Create key → JSON → Download as
pc-api-key.json - Add to
.gitignore
5.3 Link Service Account to Play Console
- In Play Console, go to Setup → API access
- Click Link next to your Google Cloud project
- Find your service account
- Click Grant access
- 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)
- Download
.aabfrom EAS - In Play Console, go to Release → Testing → Internal testing
- Click Create new release
- Upload AAB file
- Add release notes
- Click Save → Review release → Start 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
- Go to Release → Testing → Internal testing
- Click Testers tab
- Create email list or add emails
- Share opt-in link with testers
Step 8: Production Release
8.1 Pre-Launch Report
- Wait for internal/closed testing completion
- Review Pre-launch report in Release → Testing
- Fix any critical issues found
8.2 Create Production Release
- Go to Release → Production
- Click Create new release
- Select build from library (or upload)
- Add release notes:
What's new in this version:
• Initial release
• 100 USCIS civics questions
• Practice and quiz modes
• Progress tracking
• Multi-language support
- Click Save → Review 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
- Review all warnings
- Click Start rollout to Production
- 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
| Reason | Solution |
|---|---|
| Policy violation | Review Google Play policies |
| Crashes | Check pre-launch report, fix issues |
| Broken functionality | Test all features thoroughly |
| Misleading metadata | Ensure description matches app |
| Privacy issues | Complete data safety form accurately |
9.3 Responding to Rejection
- Check email for rejection details
- Review the policy cited
- Fix the issue
- Resubmit with explanation
Step 10: App Signing
10.1 Play App Signing
Google manages your signing key (recommended):
- Go to Setup → App signing
- Accept Play App Signing
- Google securely stores your production key
10.2 Upload Key (if needed)
If you have existing key:
- Export using PEPK tool
- Upload to Play Console
- 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