Co obnáší nasazení aplikací na Google Play a App Store
Publikace mobilních aplikací na Google Play (Android) a App Store (iOS) je proces, který kombinuje technické kroky (build, podepsání, balení), formální požadavky (metadata, privacy štítky, hodnocení) i provozní disciplínu (testování, řízení releasů, monitoring). Tento článek slouží jako detailní průvodce pro týmy, které chtějí nasazovat bezpečně, opakovatelně a v souladu s pravidly platforem.
Předpoklady: účty, certifikáty, identita aplikace
- Vývojářské účty: Google Play Console (doporučena organizace), Apple Developer Program (jednotlivec/organizace).
- Identifikátory: Android packageName (např.
com.company.app) a iOS Bundle ID (reverzní doména). Po publikaci jsou trvalé. - Signování: Android keystore (upload key) a Play App Signing; iOS Certificates, Provisioning Profiles, Signing Identities (automatické vs. manuální podepisování v Xcode).
- Práva k brandu a obsahu: loga, názvy a licencovaný obsah musí mít vyřešené licence.
Build a balení: AAB/IPA, verze a build čísla
- Android: publikujte Android App Bundle (AAB). Nastavte versionCode (celé číslo, roste) a versionName (např.
2.3.0). - iOS: publikujte IPA přes Xcode/Transporter. Nastavte CFBundleShortVersionString (např.
2.3.0) a CFBundleVersion (build roste). - Architektury: optimalizujte velikost (App Thinning, split APK/ABI řeší Play automaticky z AAB).
- Debug artefakty: pro symbolikaci pádů generujte mapping.txt (ProGuard/R8) a dSYM (iOS).
Podepisování aplikací bezpečně
- Android: používejte Play App Signing. Lokálně držte pouze upload key; zálohujte keystore v HSM/bezpečném trezoru.
- iOS: držte minimální počet Distribution certifikátů, používejte Automatic signing a App Store Connect API Keys pro CI.
- Rotace a audit: dokumentujte držitele klíčů, expirace a proces výměny; logujte přístupy.
Konfigurace schopností a entitlements
- Push notifikace: Android FCM (SHA-1 fingerprints), iOS APNs (Key/Certificate) a správné entitlements.
- Deeplinky: Android App Links (Digital Asset Links), iOS Universal Links (apple-app-site-association).
- Platby: Android Play Billing Library (aktuální major verze), iOS StoreKit (IAP/předplatné).
- Lokalizace: jazykové mutace ve strings a lokalizované obchodní listingy.
Testování: interní sdílení, TestFlight a tracky
- Google Play: Interní testování (okamžité), Uzavřené testování (tracky, skupiny), Otevřené testování (veřejná beta). Internal App Sharing pro rychlé APK/AAB.
- App Store: TestFlight (interní 100 uživatelů bez recenze, externí až 10 000 s krátkou recenzí). Buildy expirují po 90 dnech.
- Automatizace QA: E2E testy (Firebase Test Lab/XCUITest), pre-launch reporty (Android), screenshot bot pro kontrolu UI.
Store listing: metadata, vizuály a lokalizace
- Název, krátký a dlouhý popis (Play) / Subtitle a Description (App Store) – vyvarujte se zakázaných superlativů a klamavých tvrzení.
- Ikona, screenshoty, promo video: pokryjte klíčové scénáře; dodržte specifikaci rozměrů a poměrů stran.
- Alternativní listiny: Google Store listing experiments; Apple Product Page Optimization a Custom Product Pages.
- Klíčová slova (iOS): pečlivě vyberte 100 znaků; nezahrnujte brandy cizích subjektů.
Soukromí a bezpečnost: „privacy nutrition labels“ a Data safety
- Google Play Data safety: deklarace typů sbíraných dat, účelů a sdílení; odkaz na zásady ochrany soukromí (veřejně dostupná URL).
- App Store Privacy: sekce „App Privacy“, kategorie dat (Kontaktní údaje, Poloha, Použití dat…), účely a vazba na uživatele.
- Souhlasy a ATT (iOS): pokud používáte IDFA, implementujte App Tracking Transparency; respektujte volby uživatele.
- Žádost o smazání účtu: pokud aplikace vytváří uživatelské účty, musí umožňovat iniciovat jejich smazání.
Content/age rating a právní otázky
- Google Play: IARC dotazník → věkové hodnocení; citlivý obsah (hazard, uživatelský obsah, alkohol) podléhá zvláštním pravidlům.
- App Store: věkové hodnocení v App Store Connect; Export Compliance (šifrování), Made for Kids pravidla pro dětské aplikace.
- GDPR/CCPA: informujte o zpracování, právech a kontaktech; logujte žádosti o vymazání či přenos dat.
Monetizace: nákupy v aplikaci a předplatné
- Android: Play Billing (produkty, subscription base plans & offers, server-to-server notifikace, pending transactions).
- iOS: StoreKit 2 (spotřebitelné/nespotřebitelné produkty, neobnovitelné/obnovitelné předplatné), Offer Codes, kontrola IAP artefaktů při recenzi.
- Validace na serveru: ověřujte účtenky (Play Developer API / App Store Server API) a ukládejte jejich stav.
Publikační workflow: tracky, phased release a staged rollout
- Google Play: staged rollout v procentech populace; možnost okamžitého rollbacku na předchozí verzi (pokud je aktivní).
- App Store: Phased Release (postupné uvolňování během 7 dní), s možností pozastavení; schválení je podmínkou pro publikaci.
- Teritoria a ceny: nastavte dostupnost zemí a cenové úrovně; respektujte daňová pravidla a měny.
Časté důvody zamítnutí a jak jim předejít
- Nesoulad s politikami: chybějící zásady ochrany soukromí, klamavá metadata, neadekvátní permissions (např. nadlimitní oprávnění).
- Crashes/ANRs: nestabilní buildy, chybějící kompatibilita s posledními verzemi OS.
- Nekompletní testovací účet a instrukce: pro recenzi IAP/funkcí za paywallem musí být přiloženy testovací přístupy.
- Porušení práv na značku/IP: názvy či grafika připomínající jiné značky.
Automatizace CI/CD: podpis, build, odeslání
- Nástroje: Fastlane (pilot/supply), Gradle Tasks, Xcode Cloud, GitHub Actions/GitLab CI.
- Secure secrets: keystores a certifikáty v bezpečných trezorech (HashiCorp Vault, GitHub OIDC → Cloud KMS/Key Vault).
- Artefakty: automatická archivace AAB/IPA, mapping/dSYM a release notes; generování changelogů z PR.
Stabilita po vydání: vitals, crashlytics a observabilita
- Android vitals: sledujte ANR/crash rate, frozen frames, start time; překročení prahů může vést k upozorněním a omezení viditelnosti.
- iOS: Xcode Organizer, Crash Reports, MetricKit; integrujte s Crashlytics/Sentry.
- Alerting: automatické rollbacky/pozastavení phased rollout při překročení prahů.
Kompatibilita a device catalog
- Google Play device catalog: vyloučení nekompatibilních zařízení, požadavky na funkce (OpenGL ES, kameru, GPS).
- Min/Target SDK: držte krok s požadavky platforem (target API level, nová oprávnění a omezení).
- iOS deployment target: zvolte podle tržního podílu a knihoven; starší OS výrazně zvyšuje náklady QA.
Experimentování a optimalizace konverzí
- A/B testy: Play listing experiments vs. App Store PPO (ikona, screenshoty, promo texty).
- Attribution: SKAdNetwork (iOS), Google Install Referrer (Android); dodržujte ATT a mechanismy souhlasu.
- Funnel: míra konverze Store view → instalace → registrace → předplatné; sledujte per-teritorium.
Checklist před odesláním ke schválení
- Build je reprodukovatelný v CI, podepsaný správným profilem/certifikátem.
- Metadata jsou pravdivá a lokalizovaná, screenshoty odpovídají funkcím.
- Privacy/Data safety jsou vyplněné a odkazují na aktuální zásady.
- Věkové hodnocení/IARC jsou hotové; export compliance vyřešeno.
- IAP/předplatné je testovatelné s dodanými přístupy pro recenzi.
- Crash/ANR jsou pod prahem v interním/uzavřeném testu; monitoring připravený.
Rollout strategie a řízení rizik
- Canary: nejdříve interní/uzavřený track či TestFlight externí test na reprezentativním vzorku.
- Fázované uvolnění: postupné navyšování procent; automatické zpomalení při regresi metrik.
- Komunikace: release notes v různých jazycích, changelogy a upozornění v aplikaci u zásadních změn.
Specifika pro herní a multimediální aplikace
- Asset Delivery (Android) a On-Demand Resources (iOS) ke snížení velikosti instalačního balíku.
- Výkon: profilace grafiky (Frame pacing), p95/p99 FPS; detekce zařízení a adaptivní kvalita.
- Monetizace: regionální ceny, dodržování pravidel pro loot boxy a reklamu zaměřenou na děti.
Provozní hygiena a dlouhodobá údržba
- Rotace klíčů, obnova a audit přístupů k účtům (2FA, SSO, role-based přístupy v konzolích).
- Roadmapa SDK: pravidelné upgrady knihoven (billing, reklama, analytika) kvůli deprecations.
- Bezpečnost: kontrola oprávnění (runtime permissions), ochrana proti reverznímu inženýrství (obfuskace, integrity API).
Závěr: operacionalizujte publikaci jako inženýrskou disciplínu
Úspěšné nasazení na Google Play a App Store je opakovatelné, pokud jej pojmete jako „pipeline“ – od verze a signování přes testy, privacy a hodnocení až po řízený rollout a monitoring. Formalizujte kroky v CI/CD, udržujte compliance a iterativně optimalizujte konverze i stabilitu. Tím zkrátíte time-to-market, snížíte rizika zamítnutí a doručíte lepší uživatelský zážitek napříč platformami i teritorii.