Play Store¶
Setting up and managing the Tomoda Android app through the Google Play Console portal. EAS handles binary uploads (see Native Release); this page covers everything else the Play Console requires — account, listing, signing, tracks, content rating, post-launch operations.
If you're shipping a code change, you don't need to touch this page — eas submit --platform android does the upload. Read this page when you're setting up the app for the first time, managing release tracks, updating store metadata, or rotating signing keys.
1. Google Play Developer account¶
A one-time setup per organization.
- Cost: US$25 one-time registration fee.
- Sign-up: https://play.google.com/console/signup.
- Account type: Choose organization (not personal) so the listing shows the company name as developer.
- Identity verification: Google now requires:
- Government-issued business document (e.g. incorporation certificate).
- Verified contact email on the company domain.
- Phone number with SMS verification.
- Address proof.
- Typically 2–3 business days to clear; can occasionally take 1–2 weeks.
Until identity verification clears, the app can be set up but cannot be published.
2. Create the app¶
In the Play Console:
- All apps → Create app
- App name:
Tomoda(must match the launch icon label users see) - Default language: English (United States)
- App or game: App
- Free or paid: Free
- Declarations: confirm Play policies + US export law compliance
The app gets a numeric Play app ID — find it in the URL on the dashboard, looks like 4970.....
3. App signing¶
Google Play must sign release builds itself (Play App Signing) — that's the only supported path. The upload key is what you use locally / via EAS; Play re-signs with the app signing key on its end.
Upload key — managed by EAS¶
EAS Credentials handles the upload keystore for you. First run of eas build --platform android --profile production walks you through creating it. EAS stores the keystore encrypted in their backend.
To inspect or back up:
eas credentials -p android
Choose the production profile, then "Download credentials". Store the resulting .jks file in your password manager — it's the only way to push updates if EAS ever disappears.
If you lose the upload keystore
Without the upload key, you can't push new builds. Play has a key-reset flow but it requires Google's review and takes weeks. Back up the keystore from EAS as soon as the production profile exists.
App signing key — managed by Google¶
Google generates this on your behalf the first time you upload an AAB. It signs every APK delivered to users. You never see this key.
Production SHA-1 for Google Maps¶
Once Google has signed the app once, get the production SHA-1 from Play Console → Setup → App signing → "App signing key certificate". Register that SHA-1 (alongside the debug one — see Local development) in GCP Console under the Maps SDK for Android API key restrictions. Otherwise map tiles render gray for production users.
4. Store listing¶
Mandatory before any internal-test release. Optional fields can wait, mandatory ones can't.
Required text¶
| Field | Limit | Source of truth |
|---|---|---|
| App name | 30 chars | "Tomoda" |
| Short description | 80 chars | "Find friends nearby through events you both love." (adjust to current product copy) |
| Full description | 4000 chars | Marketing-team copy — keep in product brief, paste here |
Required graphics¶
| Asset | Spec | Notes |
|---|---|---|
| App icon | 512×512 PNG, ≤1 MB | Same icon used in app.config.js |
| Feature graphic | 1024×500 PNG | Hero card on the Play listing |
| Phone screenshots | 2–8 images, 1080×1920 (portrait) or 1920×1080 (landscape) | Recent app screenshots — refresh on major UI changes |
| (Optional) 7" tablet, 10" tablet | If supporting tablets | Tomoda does not target tablets explicitly today |
Categorization¶
- Category: Social
- Tags: match top 5 categories that describe the app (Play picks suggested tags during setup)
- Contact email: support email on the company domain
5. Content rating¶
Required before production release. Walk through Play's IARC questionnaire under Policy → App content → Content ratings.
For Tomoda (UGC social, location sharing, user messaging):
- Expect Teen (13+) rating after the questionnaire — social messaging + UGC drives that.
- Don't claim "everyone" or "PEGI 3" — Play will reject for misrepresentation.
6. Data safety¶
Required disclosure under Policy → App content → Data safety. Walk through the form honestly:
- Location data: collected (precise), used for app functionality
- Personal info: name, email — required for account
- Photos and videos: required (avatar uploads, chat images)
- App activity: in-app interactions (events joined, friends connected)
- Messages: chat content — encrypted in transit, retention rules apply
- Device ID: used for device-fingerprint anti-abuse (see backend docs)
Keep this section in sync with the privacy policy. When you add a new data type, update both.
7. Release tracks¶
Play has four tracks. Tomoda uses all four in escalation:
| Track | Audience | Use case |
|---|---|---|
| Internal testing | Up to 100 testers by email | Daily team dogfooding, rapid iteration. New builds available within minutes. |
| Closed testing | Specific opt-in groups | Beta program for a small cohort of friendly users. Surveys + structured feedback. |
| Open testing | Anyone with the opt-in link | Wider beta — appears as "early access" on Play. |
| Production | Everyone, in selected countries | Live release. |
Promoting between tracks¶
A build can be promoted (Internal → Closed → Open → Production) without re-uploading. From Play Console → Releases → select track → "Promote release". Each promotion is a separate review (usually instant for already-reviewed builds, full review for first prod release of a major change).
8. Submit via EAS¶
cd frontend
eas submit --profile production --platform android
EAS takes the most recent EAS-built AAB and uploads to the Internal testing track by default. Promote from there via the Play Console.
The ascAppId setting is iOS-only — for Android, EAS reads the Play Console app via the service account JSON configured in frontend/eas.json under submit.production.android.serviceAccountKeyPath.
9. Post-release operations¶
- Pre-launch report — Play automatically runs new builds on a small farm of devices and reports crashes / accessibility issues / security alerts. Review for every release.
- Vitals dashboard — ANR rate, crash rate, slow render rate. Set alerts if any cross 0.5%.
- Reviews & ratings — respond to legit complaints within 48h. Don't argue with users in public replies.
- In-app updates — for must-update releases (security fixes, breaking API changes), enable Google's in-app update prompt. Use sparingly; users hate forced updates.
10. Useful references¶
- Play Console Help
- Play Policy Center
- Play Console signup
- EAS submit docs: https://docs.expo.dev/submit/android/
See also¶
- Native Release — the EAS Build/Submit cross-platform workflow
- App Store — parallel page for App Store Connect
- Local development — Android Studio + emulator + Maps API key setup