Skip to content
Skip to content
Goodspeed

Connect Google Play to your Goodspeed app

Every app builds, signs, and ships to Google Play under your own Play developer account. Goodspeed submits on your behalf but never co-mingles credentials across tenants. Goodspeed wires Google Play into every app that needs it at generation time, so you start with a working integration, not a blank config and a documentation tab.

WHAT GETS WIRED IN

Built into every Google Play build

Every app Goodspeed generates with Google Play includes these wired integrations from the first build. No manual setup required.

ItemDescriptionStrength
Per-tenant service account: you create one service account in Google Cloud, download the JSON key, and paste it into Connect Accounts; Goodspeed stores it as an encrypted credential scoped only to your appPer-tenant service account: you create one service account in Google Cloud, download the JSON key, and paste it into Connect Accounts; Goodspeed stores it as an encrypted credential scoped only to your app01
Service account scoped to androidpublisher permission only. It can upload APK/AAB and manage releases, but cannot access billing, user data, or other Google Cloud resources.Service account scoped to androidpublisher permission only. It can upload APK/AAB and manage releases, but cannot access billing, user data, or other Google Cloud resources.02
Android keystore managed by EAS Build remote credentials so no local keystore file is needed; EAS generates and stores the signing key per-appAndroid keystore managed by EAS Build remote credentials so no local keystore file is needed; EAS generates and stores the signing key per-app03
Package name derived from gasConfig.app.androidPackage and set once; it becomes permanent when the first build is submitted to the Play ConsolePackage name derived from gasConfig.app.androidPackage and set once; it becomes permanent when the first build is submitted to the Play Console04
EAS Submit calls the Google Play Developer API (uploadBundle, create release, promote to internal track) using your service account JSONEAS Submit calls the Google Play Developer API (uploadBundle, create release, promote to internal track) using your service account JSON05
Internal Testing track used for pre-release distribution before promoting to production; tracks the same AAB artifact without re-buildingInternal Testing track used for pre-release distribution before promoting to production; tracks the same AAB artifact without re-building06
Processing poll: EAS Submit waits for the AAB to finish Google's processing step before marking the submission completeProcessing poll: EAS Submit waits for the AAB to finish Google's processing step before marking the submission complete07
Policy rejection surfaced in the admin panel and by email; retry is a manual re-trigger after you address the policy issue in Play ConsolePolicy rejection surfaced in the admin panel and by email; retry is a manual re-trigger after you address the policy issue in Play Console08

Source: gas-template repository · mobile-distribution/android

REAL GENERATED CODE

A snippet from a Google Play integration the pipeline ships

This pattern comes directly from the gas-template codebase. The studio generates Google Play integration code like this for every app that includes it, not a placeholder you have to fill in yourself.

  1. Service account + build profile

    // Setup: Google Cloud Console → IAM → Service Accounts
    // 1. Create a service account.
    // 2. Create a JSON key and download the file.
    // 3. In Play Console → Users and permissions,
    //    invite the service account email and grant
    //    'Release manager' rights.
    // 4. Paste the JSON file into Connect Accounts.
    //
    // eas.json Android production profile:
    "production": {
      "autoIncrement": true,
      "android": {
        "buildType": "aab",
        "credentialsSource": "remote"
      }
    }
    // Note: reviews, crash reports, and purchase events
    // do NOT flow back through this integration.
    // Use Play Console, Firebase Crashlytics, or RevenueCat.
GDaily Allergens

Today's log

Gluten
Tree nuts
Shellfish
Dairy
HomeScanLogProfile

START WITH GOOGLE PLAY

Your Google Play integration, generated