Skip to content

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

  1. Play Console → Internal testing → EquiTrail → View release
  2. Click "Start rollout to Internal testing" (100% rollout)
  3. For watch: wear:internal track → same steps
  4. Testers receive update within a few minutes

API Setup (one-time, already done)

  1. Google Cloud Console → project equitrail → Enable Android Publisher API
  2. Create service account equitrail-bot with JSON key
  3. Download key → save as android/play_service_account.json
  4. Play Console → Setup → API access → Link to equitrail GCP project
  5. 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)