From atum-workflows
Google Play Console submission and deployment pattern library — Play Console setup (app creation, store listing, app access, ads, content rating, target audience, news app status, data safety section), signing key management (upload key vs app signing key, Play App Signing), release tracks (internal testing, closed testing alpha/beta, open testing, production, pre-registration), staged rollouts with percentage-based distribution, Android App Bundle (AAB) format, Play Console API for automation, Gradle Play Publisher plugin, in-app purchases via Google Play Billing, and subscriptions. Use when preparing an Android app for the Play Store, managing release tracks, setting up Play App Signing, automating releases via fastlane or GitHub Actions, or handling the Data Safety section. Differentiates from deploy-eas by focusing on the Play Console side rather than the build side.
npx claudepluginhub arnwaldn/atum-plugins-collection --plugin atum-workflowsThis skill uses the workspace's default tool permissions.
Tout ce qu'il faut savoir pour publier une app Android via Google Play Console.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Executes pre-written implementation plans: critically reviews, follows bite-sized steps exactly, runs verifications, tracks progress with checkpoints, uses git worktrees, stops on blockers.
Tout ce qu'il faut savoir pour publier une app Android via Google Play Console.
applicationId unique (ex. com.atum.myapp)Play Console → All apps → Create app
Google gère l'app signing key pour toi via Play App Signing. Tu n'as qu'à gérer l'upload key.
keytool -genkey -v -keystore upload-keystore.jks -keyalg RSA \
-keysize 2048 -validity 10000 -alias upload
android/app/build.gradle :android {
signingConfigs {
release {
storeFile file(System.getenv("UPLOAD_KEYSTORE_PATH"))
storePassword System.getenv("UPLOAD_KEYSTORE_PASSWORD")
keyAlias System.getenv("UPLOAD_KEY_ALIAS")
keyPassword System.getenv("UPLOAD_KEY_PASSWORD")
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
Backup critique : l'upload key doit être sauvegardé. Si perdu, Google peut aider à la régénérer (contrairement au signing key pré-Play App Signing qui était irréversible).
Play Console propose 4 tracks :
| Track | Audience | Review |
|---|---|---|
| Internal testing | 100 testers internes max | Pas de review |
| Closed testing (alpha / beta) | Groupes fermés ou liste d'emails | Review ~1-2 jours |
| Open testing | Public ouvert (opt-in via Play Store) | Review ~2-4 jours |
| Production | Tous les users | Review 1-7 jours |
Chaque track a son propre historique de releases, mais l'upload de version s'incrémente globalement.
Play Console → App → Release → (select track) → Create new release
.aab (EAS Submit ou manual)1.0.0 (42))Pour une release production :
Play Console → App → Policy → App content
Répondre au questionnaire IARC :
L'age rating est généré automatiquement selon les réponses. Répondre honnêtement — contenu sensible non déclaré = suspension de l'app.
Déclarer toutes les données collectées/partagées. Similaire au App Privacy Details d'Apple.
Sections :
Tolérance zéro : Google scanne les SDKs et compare aux déclarations. Incohérence = suspension immédiate.
# Créer un Service Account dans Google Cloud Console
# Assigner "Release Manager" dans Play Console → Users and permissions
# Télécharger le JSON key
# Avec EAS
eas submit --profile production --platform android --latest
# fastlane/Fastfile
lane :play_production do
upload_to_play_store(
json_key: "fastlane/play-console-key.json",
package_name: "com.atum.myapp",
aab: "android/app/build/outputs/bundle/release/app-release.aab",
track: "production",
release_status: "draft", # ou completed pour auto-release
rollout: "0.1" # 10 % staged
)
end
# .github/workflows/play-store.yml
name: Play Store Release
on:
push:
tags: ['v*']
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup
uses: actions/setup-node@v4
with: { node-version: '20' }
- run: npm install -g eas-cli
- run: pnpm install
- name: Build AAB
run: eas build --profile production --platform android --non-interactive
env:
EXPO_TOKEN: ${{ secrets.EXPO_TOKEN }}
- name: Submit to Play Store
run: eas submit --profile production --platform android --latest --non-interactive
env:
EXPO_TOKEN: ${{ secrets.EXPO_TOKEN }}
Pour les apps avec IAP :
com.android.billingclient:billing (Java/Kotlin) ou un wrapper React NativeCommission : 15 % sur les subscriptions après 12 mois ou < $1M/an, 30 % standard.
deploy-eas (dans ce plugin)deploy-app-store (dans ce plugin)kotlin-expert d'atum-stack-mobileflutter-dart-expert d'atum-stack-mobile