Co obnáší nasazení aplikací na Google Play a App Store
Publikace mobilních aplikací na Google Play (Android) a App Store (iOS) je proces kombinující technické kroky (build, podepsání, balení), formální náležitosti (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 (Individual/Organization).
- Identifikátory: Android packageName (např.
com.company.app) a iOS Bundle ID (reverzní doména). Po publikaci jsou trvalé. - Podepisování: Android keystore (upload key) a Play App Signing; iOS certifikáty, Provisioning Profiles, Signing Identities (automatic vs. manual signing 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 čísla buildů
- Android: publikujte Android App Bundle (AAB). Nastavte versionCode (integer, roste) a versionName (např.
2.3.0). - iOS: publikujte IPA přes Xcode/Transporter. Nastavte CFBundleShortVersionString (např.
2.3.0) a CFBundleVersion (číslo buildu roste). - Architektury: optimalizujte velikost (App Thinning, split APK/ABI řeší Play automaticky z AAB).
- Debug artefakty: pro symbolizaci 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; keystore zálohujte v HSM/trezoru tajemství.
- iOS: minimalizujte 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 obměny; logujte přístupy.
Konfigurace schopností a entitlements
- Push notifikace: Android FCM (SHA-1 fingerprinty), 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 v strings a lokalizované store listingy.
Testování: interní sdílení, TestFlight a kanály
- Google Play: Internal testing (okamžité), Closed testing (kanály, skupiny), Open testing (veřejná beta). Internal App Sharing pro rychlé APK/AAB.
- App Store: TestFlight (interně 100 uživatelů bez review, externě až 10 000 s krátkým review). 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ým superlativům a klamavým tvrzením.
- Ikona, screenshoty, promo video: pokryjte klíčové toky; dodržujte specifikovaná rozměry a poměry stran.
- Alternativní varianty: Google Store listing experiments; Apple Product Page Optimization a Custom Product Pages.
- Klíčová slova (iOS): pečlivě vyberte 100 znaků; nezahrnujte cizí brandy.
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 (kontakt, poloha, uživatelská data…), úč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: při vytváření účtu umožněte iniciovat smazání z aplikace.
Hodnocení obsahu/věk a právní otázky
- Google Play: IARC dotazník → věkové hodnocení; citlivý obsah (hazard, uživatelský obsah, alkohol) má zvláštní pravidla.
- App Store: věkové hodnocení v App Store Connect; Export Compliance (šifrování), Made for Kids pravidla pro aplikace pro děti.
- GDPR/CCPA: informujte o zpracování, právech a kontaktech; logujte žádosti o výmaz/portabilitu.
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 (Consumable/Non-Consumable, Non-Renewing/Renewing Subscriptions), Offer Codes, přezkoušení IAP artefaktů v recenzi.
- Validace na serveru: ověřujte účtenky (Play Developer API / App Store Server API) a ukládejte stav.
Publikační workflow: kanály, phased release a staged rollout
- Google Play: staged rollout vyjádřený v procentech populace; možnost okamžitého rollbacku na předchozí verzi (pokud je aktivní).
- App Store: Phased Release (postupné uvolnění během 7 dní) s možností pozastavení; schválení je podmínkou pro release.
- Teritoria a ceny: nastavte dostupnost zemí a cenové úrovně; respektujte daňová pravidla a měnu.
Č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í oprávnění (např. přesahující účel).
- Crashes/ANRs: nestabilní buildy, nekompatibilita s posledními verzemi OS.
- Nekompletní testovací účet a instrukce: pro recenzi IAP/feature za paywallem musí být přiloženy testovací přístupy.
- Porušení brandu/IP: názvy nebo ikonografie 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.
- Bezpečné uchování tajemství: keystores a certifikáty v trezorech (HashiCorp Vault, GitHub OIDC → Cloud KMS/Key Vault/KMS).
- Artefakty: automatická archivace AAB/IPA, mapping/dSYM a release notes; generování changelogů z PR.
Stabilita po release: vitals, crashlytics a observabilita
- Android vitals: sledujte ANR/crash rate, frozen frames, start time; prahy mohou vyústit v upozornění a omezení viditelnosti.
- iOS: Xcode Organizer, Crash Reports, MetricKit; integrace s Crashlytics/Sentry.
- Alerting: automatické roll-backy/pozastavení phased rollout při překročení prahů.
Kompatibilita a katalog zařízení
- Google Play device catalog: vyloučení nekompatibilních zařízení, požadavky na funkce (OpenGL ES, kamera, GPS).
- Min/Target SDK: držte krok s požadavky platforem (target API level, nová oprávnění a omezení).
- iOS deployment target: rozhodujte podle podílu trhu a knihoven; podpora starších OS výrazně zvyšuje náklady na 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); soulad s ATT a consent mechanikou.
- Funnel: míra konverze Store view → instalace → registrace → předplatné; sledujte podle teritorium.
Checklist před odesláním ke kontrole
- 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.
- Age rating/IARC jsou vyřešené; export compliance řešen.
- IAP/Subscription testovatelné s dodanými přístupy pro review.
- Crash/ANR pod prahem v interním/uzavřeném testu; monitoring připraven.
Rollout strategie a řízení rizik
- Canary: nejdříve interní/closed kanál či TestFlight externí test na reprezentativním vzorku.
- Fázované uvolnění: postupné navyšování procent; automatické zastavení při regresi metrik.
- Komunikace: release notes pro různé jazyky, changelogy a upozornění v aplikaci u breaking změn.
Specifika pro herní a multimediální aplikace
- Asset Delivery (Android) a On-Demand Resources (iOS) pro 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, compliance s pravidly pro loot boxy a reklamu na děti.
Provozní hygiena a dlouhodobá údržba
- Rotace klíčů, obnova a audit přístupů k účtům (2FA, SSO, role-based přístup v konzolích).
- Roadmapa SDK: pravidelné upgrady knihoven (billing, reklama, analytika) kvůli deprecations.
- Bezpečnost: kontrola oprávnění (runtime permissions), ochrana proti reverse engineeringu (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 podepisová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. Tak zkrátíte time-to-market, snížíte rizika zamítnutí a doručíte lepší uživatelský zážitek napříč platformami a teritorii.