Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

stores-helper

Scripts for managing apps, products, subscriptions, and metadata across App Store Connect, Google Play Console, and Firebase via their APIs.

Setup

Python (for store scripts)

python3 -m venv .venv
.venv/bin/pip install PyJWT cryptography requests google-api-python-client google-auth google-auth-httplib2

Firebase CLI (for Firebase setup)

Requires Firebase CLI >= 14.x and gcloud CLI, both authenticated.

Credentials

Place your credentials in .config/ (gitignored):

File Description
AuthKey.p8 App Store Connect API private key
play-console-service-account.json Google Play service account JSON

Set environment variables for App Store Connect:

export APP_STORE_CONNECT_KEY_ID="YOUR_KEY_ID"
export APP_STORE_CONNECT_ISSUER_ID="YOUR_ISSUER_ID"
export APP_STORE_CONNECT_P8_PATH=".config/AuthKey.p8"

Scripts

Firebase Setup (setup_firebase.sh)

Creates and configures Firebase projects for multiple app flavors — creates GCP projects, links billing, enables APIs, provisions Firestore, registers Android & iOS apps, and downloads config files (google-services.json / GoogleService-Info.plist).

./scripts/setup_firebase.sh              # all flavors
./scripts/setup_firebase.sh appOne       # single flavor

Edit the BILLING_ACCOUNT and FLAVORS array in the script before running.

App Store Connect API (app_store_connect_api.py)

Core wrapper — works as both a CLI tool and an importable library.

# Apps & Bundle IDs
.venv/bin/python3 scripts/app_store_connect_api.py list-apps
.venv/bin/python3 scripts/app_store_connect_api.py list-bundle-ids
.venv/bin/python3 scripts/app_store_connect_api.py create-bundle-id com.example.app "MyApp" --platform IOS
.venv/bin/python3 scripts/app_store_connect_api.py enable-capability <BUNDLE_RESOURCE_ID> IN_APP_PURCHASE

# In-App Purchases & Subscriptions
.venv/bin/python3 scripts/app_store_connect_api.py list-iaps <APP_ID>
.venv/bin/python3 scripts/app_store_connect_api.py create-iap <APP_ID> credits_starter "Starter Credits (15)" CONSUMABLE
.venv/bin/python3 scripts/app_store_connect_api.py create-subscription-group <APP_ID> "Premium Subscriptions"
.venv/bin/python3 scripts/app_store_connect_api.py create-subscription <GROUP_ID> premium_monthly "Premium Monthly" ONE_MONTH

Bulk iOS Products (app_store_connect_products.py)

Create all iOS subscriptions and IAPs across multiple app flavors.

.venv/bin/python3 scripts/app_store_connect_products.py              # all apps
.venv/bin/python3 scripts/app_store_connect_products.py --app myapp  # single app
.venv/bin/python3 scripts/app_store_connect_products.py --dry-run    # preview only

iOS App Metadata (setup_app_metadata.py)

Configure categories, localizations, and age ratings.

.venv/bin/python3 scripts/setup_app_metadata.py --dry-run
.venv/bin/python3 scripts/setup_app_metadata.py --app myapp

Bulk Android Products (google_play_products.py)

Create all Android subscriptions and consumables across multiple app flavors.

.venv/bin/python3 scripts/google_play_products.py                    # all apps
.venv/bin/python3 scripts/google_play_products.py --app myapp        # single app
.venv/bin/python3 scripts/google_play_products.py --dry-run          # preview only

Documentation

Detailed API guides with gotchas and lessons learned:

Project Structure

stores-helper/
├── scripts/
│   ├── setup_firebase.sh               # Firebase project provisioning
│   ├── app_store_connect_api.py        # Core ASC API wrapper (CLI + library)
│   ├── app_store_connect_products.py   # Bulk iOS product creation
│   ├── setup_app_metadata.py           # iOS metadata configuration
│   └── google_play_products.py         # Bulk Android product creation
├── docs/
│   ├── APP_STORE_CONNECT_API.md
│   ├── GOOGLE_PLAY_DEVELOPER_API.md
│   └── REVENUECAT_IMPLEMENTATION.md
└── .config/                            # Credentials (gitignored)

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages