EquiTrail — Play Console Setup
Reference for Google Play Console configuration and upload process.
App Details
| Field |
Value |
| Package name |
com.nossie.equitrail |
| App name |
EquiTrail |
| Developer |
Paul Tierlier |
| Privacy policy |
https://equitrail.horse/privacy |
Service Account (API Upload)
| Field |
Value |
| Email |
equitrail-bot@fleet-furnace-497817-d7.iam.gserviceaccount.com |
| Project |
fleet-furnace-497817-d7 |
| Key file |
android/play_service_account.json (gitignored, in workdir) |
| Permission |
"Release apps to testing tracks" in Play Console → Users and permissions |
The service account was already granted permission in Play Console. If it ever loses access:
1. Play Console → Users and permissions → Invite new users
2. Email: equitrail-bot@fleet-furnace-497817-d7.iam.gserviceaccount.com
3. Check "Release apps to testing tracks"
Tracks
| Track |
App |
Usage |
internal |
Phone (com.nossie.equitrail) |
Internal testers |
wear:internal |
Watch (com.nossie.equitrail) |
Watch internal testers |
Upload Commands
cd /Users/nossie/app/equitrail
# Phone
python3 scripts/play_upload.py \
--aab build/app/outputs/bundle/release/app-release.aab \
--track internal
# Watch
python3 scripts/play_upload.py \
--aab build/wearable/outputs/bundle/release/wearable-release.aab \
--track wear:internal
The script (scripts/play_upload.py) automatically:
1. Opens an edit in the Android Publisher API
2. Uploads the AAB
3. Assigns it to the specified track with status "completed"
4. Commits the edit
Upload History
| Date |
Phone versionCode |
Watch versionCode |
Notes |
| 2026-05-28 |
43 |
1042 |
SHA-1 fix, loop route, arena icon |
| 2026-05-31 |
45 |
1045 |
Calories, jumping, nav autocomplete, training icon |
| 2026-05-31 |
46 |
— |
Cloud sync bugfixes (#75-78) |
| 2026-05-31 |
47 |
— |
Rider discovery, roles, Discord badge, PRO prompts, nav scaling |
| 2026-05-31 |
48 |
— |
Discord invite, RouteHelper bot, PRO pricing page, Firestore badge sync |
Manual Steps After Upload
- Play Console → Internal testing → EquiTrail → View release
- Click "Start rollout to Internal testing" (100% rollout)
- For watch: wear:internal track → same steps
- Testers receive update within a few minutes
API Setup (one-time, already done)
- Google Cloud Console → project
equitrail → Enable Android Publisher API
- Create service account
equitrail-bot with JSON key
- Download key → save as
android/play_service_account.json
- Play Console → Setup → API access → Link to
equitrail GCP project
- Grant service account permission (see above)
Troubleshooting
| Error |
Fix |
403 The caller does not have permission |
Re-grant service account in Play Console → Users and permissions |
Version code already used |
Bump versionCode in pubspec.yaml (phone) and build.gradle.kts (watch) |
APK must be signed |
Check android/key.properties paths; ensure equitrail.jks exists |
Package name must be com.nossie.equitrail |
Wearable applicationId must match phone (it does) |