# Google Play

Needed for Android testing through Play internal testing and for the Play Store. Not needed for the Prototype preset.

**Starwisp never submits your app and never holds your Google credentials.** Your own workflow uploads with your own service account. You decide when anything goes to production.

**Time:** about 30 minutes for the service account, after your Play account is verified. **Needs:** a Google Play Console developer account.

## Slow prerequisites (read this first)

| Item | How long | Notes |
|---|---|---|
| Play developer account identity verification | not published; unofficial reports of 2 days to 3 weeks (unverified) | Required before any upload. |
| D-U-N-S number (organization accounts) | up to 5 business days plus Apple/Google handling; one Google guide reportedly says 30 days or more (unverified) | Individual accounts avoid it. |
| **Closed test before production** | **at least 14 days** | **Personal accounts created after 13 Nov 2023** need a closed test with at least **12 testers** opted in for 14 days before applying for production. Internal testing is not affected. |
| Production review | usually about 7 days or less (estimate) | |

## Steps

1. In <https://play.google.com/console> sign up for a developer account and pay the one-time fee.
2. In <https://console.cloud.google.com> pick or create a project, then enable the **Google Play Android Developer API** under **APIs & Services → Library**.
3. Go to **IAM & Admin → Service Accounts → Create service account**. Name it `starwisp-play`. Finish. No project roles are needed.
4. Open the new account → **Keys → Add key → Create new key → JSON**. A `.json` file downloads.
5. In Play Console go to **Users and permissions → Invite new users** and paste the service account's email.
6. Under **Account permissions** tick everything under **Releases** and **Store presence**, plus **View app information**. Click **Invite user**.

**Least privilege:** the account needs release and store-presence permissions only. No Google Cloud project roles. Delete the downloaded file from your computer after saving it.

Permission changes can take a few minutes to apply.

## Where it goes

Console → **Settings → Vault** → card **Google Play service account** → field **Service account JSON key** (secret `GOOGLE_PLAY_SERVICE_ACCOUNT_JSON`). Click **Test now**.

### Optional: Android push

Card **Firebase (Android push)** (secret `FIREBASE_SERVICE_ACCOUNT_JSON`): one Firebase project for all your apps. Without it apps ship with iOS push only.

## What it gates

Play internal-testing uploads and later production (the **ship** stage).

## What it costs

$25 one-time for the Play Console (estimate; check Google's page).

## Rules to know

Apps need a privacy policy, a data safety form and content rating, and must target a current Android API level. The factory's template includes the inputs; you fill in the forms in Play Console.
