Co obnáší nasazení aplikací na Google Play a App Store
Publikování mobilních aplikací na Google Play (Android) a App Store (iOS) je proces, který kombinuje technické kroky (build, podepisování, balení), formální náležitosti (metadata, štítky ochrany soukromí, hodnocení) i provozní disciplínu (testování, řízení vydávání, monitoring). Tento článek slouží jako podrobný průvodce pro týmy, které chtějí aplikace 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čuje se účet organizace), Apple Developer Program (Individual/Organization).
- Identifikátory: Android packageName (např.
com.company.app) a iOS Bundle ID (reverzní doména). Po publikování jsou trvalé. - Podepisování: Android keystore (upload key) a Play App Signing; iOS Certificates, Provisioning Profiles, Signing Identities (automatické vs. ruční podepisování v Xcode).
- Práva k značce a obsahu: u log, názvů a licencovaného obsahu musí být vyřešeny licence.
Build a balení: AAB/IPA, verze a čísla buildů
- Android: publikujte Android App Bundle (AAB). Nastavte versionCode (celé číslo, které se zvyšuje) a versionName (např.
2.3.0). - iOS: publikujte IPA prostřednictvím Xcode/Transporter. Nastavte CFBundleShortVersionString (např.
2.3.0) a CFBundleVersion (číslo buildu, které se zvyšuje). - Architektury: optimalizujte velikost (App Thinning, rozdělení APK/ABI zajišťuje Play automaticky z AAB).
- Debug artefakty: pro symbolikaci pádů generujte mapping.txt (ProGuard/R8) a dSYM (iOS).
Bezpečné podepisování aplikací
- Android: používejte Play App Signing. Lokálně uchovávejte pouze upload key; zálohujte keystore v HSM/trezoru tajemství.
- iOS: udržujte minimální počet distribučních certifikátů Distribution, používejte Automatic signing a App Store Connect API Keys pro CI.
- Rotace a audit: dokumentujte držitele klíčů, data expirace a proces obměny; zaznamenávejte přístupy.
Konfigurace schopností a oprávnění entitlements
- Push notifikace: Android FCM (otisky SHA-1), iOS APNs (klíč/certifikát) a správná oprávnění entitlements.
- Deeplinky: Android App Links (Digital Asset Links), iOS Universal Links (apple-app-site-association).
- Platby: Android Play Billing Library (aktuální hlavní verze), iOS StoreKit (IAP/předplatná).
- Lokalizace: jazykové mutace v souborech strings a lokalizované záznamy v obchodech.
Testování: interní sdílení, TestFlight a testovací tracky
- Google Play: Internal testing (okamžitě), Closed testing (tracky, skupiny), Open testing (veřejná beta). Internal App Sharing pro rychlé sdílení APK/AAB.
- App Store: TestFlight (interně až 100 uživatelů bez kontroly, externě až 10 000 s krátkou kontrolou). Buildy expirují po 90 dnech.
- Automatizace QA: E2E testy (Firebase Test Lab/XCUITest), zprávy před spuštěním (Android), screenshot bot pro kontrolu uživatelského rozhraní.
Záznam v obchodě: metadata, vizuály a lokalizace
- Název, krátký a dlouhý popis (Play) / podtitul a popis (App Store) – vyhněte se zakázaným superlativům a zavádějícím tvrzením.
- Ikona, snímky obrazovky, propagační video: zachyťte klíčové postupy používání; dodržte specifikace rozměrů a poměrů stran.
- Alternativní záznamy: Google Store listing experiments; Apple Product Page Optimization a Custom Product Pages.
- Klíčová slova (iOS): pečlivě vyberte 100 znaků; nezahrnujte značky jiných subjektů.
Soukromí a bezpečnost: „štítky ochrany soukromí“ a Data safety
- Google Play Data safety: deklarace typů shromažďovaných údajů, účelů a sdílení; odkaz na zásady ochrany soukromí (veřejně dostupná URL).
- App Store Privacy: oddíl „App Privacy“, kategorie údajů (Contact Info, Location, Usage Data…), účely a vazba na uživatele.
- Souhlasy a ATT (iOS): pokud používáte IDFA, implementujte App Tracking Transparency; respektujte volby uživatelů.
- Žádost o smazání účtu: pokud umožňujete vytvoření účtu, musíte umožnit zahájení jeho smazání z aplikace.
Hodnocení obsahu/věkové hodnocení a právní otázky
- Google Play: dotazník IARC → 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í), pravidla Made for Kids pro dětské aplikace.
- GDPR/CCPA: informujte o zpracování, právech a kontaktech; evidujte žádosti o výmaz/přenositelnost údajů.
Monetizace: nákupy v aplikaci a předplatné
- Android: Play Billing (produkty, základní tarify a nabídky předplatného, oznámení server-to-server, pending transactions).
- iOS: StoreKit 2 (Consumable/Non-Consumable, Non-Renewing/Renewing Subscriptions), Offer Codes, kontrola artefaktů IAP v rámci schvalování.
- Ověřování na serveru: ověřujte účtenky (Play Developer API / App Store Server API) a ukládejte stav.
Publikační workflow: tracky, postupné vydání a staged rollout
- Google Play: staged rollout pro určité procento uživatelů; možnost okamžitého návratu k předchozí verzi (pokud je aktivní).
- App Store: Phased Release (postupné vydávání během 7 dní) s možností pozastavení; vydání podléhá schválení.
- Teritoria a ceny: nastavte dostupnost v jednotlivých zemích a cenové úrovně; respektujte daňová pravidla a měny.
Časté důvody zamítnutí a jak jim předejít
- Nesoulad s pravidly: chybějící zásady ochrany soukromí, zavádějící metadata, nepřiměřená oprávnění (např. přesahující účel aplikace).
- Pády/ANR: nestabilní buildy, chybějící kompatibilita s nejnovějšími verzemi OS.
- Neúplný testovací účet a pokyny: pro kontrolu IAP/funkcí za paywallem musí být přiloženy testovací přístupy.
- Porušení práv ke značce/duševnímu vlastnictví: názvy či grafické prvky připomínající jiné značky.
Automatizace CI/CD: podepisování, build, odeslání
- Nástroje: Fastlane (pilot/supply), úlohy Gradle, Xcode Cloud, GitHub Actions/GitLab CI.
- Zabezpečení tajných údajů: keystory a certifikáty v trezorech (HashiCorp Vault, GitHub OIDC → Cloud KMS/Key Vault/KMS).
- Artefakty: automatická archivace AAB/IPA, mapping/dSYM a poznámek k vydání; generování changelogů z PR.
Stabilita po vydání: vitals, crashlytics a observabilita
- Android vitals: sledujte četnost ANR/pádů, zamrzlé snímky a dobu spuštění; při překročení prahových hodnot mohou být zaslána upozornění a omezena viditelnost aplikace.
- iOS: Xcode Organizer, Crash Reports, MetricKit; integrujte s Crashlytics/Sentry.
- Upozorňování: automatické návraty k předchozí verzi/pozastavení postupného vydávání při překročení prahových hodnot.
Kompatibilita a katalog zařízení
- Google Play device catalog: vylučování nekompatibilních zařízení, požadavky na funkce (OpenGL ES, fotoaparát, GPS).
- Min/Target SDK: dodržujte požadavky platforem (cílová úroveň API, nová oprávnění a omezení).
- iOS deployment target: rozhodujte se podle podílu na trhu a používaných knihoven; podpora starších verzí OS výrazně zvyšuje náklady na QA.
Experimentování a optimalizace konverzí
- A/B testy: experimenty se záznamem aplikace na Play vs. App Store PPO (ikona, snímky obrazovky, propagační texty).
- Atribuce: SKAdNetwork (iOS), Google Install Referrer (Android); soulad s ATT a mechanismy souhlasu.
- Konverzní trychtýř: míra konverze od zobrazení záznamu v obchodě přes instalaci a registraci až po předplatné; sledujte ji podle jednotlivých teritorií.
Kontrolní seznam před odesláním ke schválení
- Build je v CI reprodukovatelný a podepsaný správným profilem/certifikátem.
- Metadata jsou pravdivá a lokalizovaná, snímky obrazovky odpovídají funkcím.
- Informace o ochraně soukromí/Data safety jsou vyplněné a odkazují na aktuální zásady.
- Věkové hodnocení/IARC jsou hotové; export compliance je vyřešena.
- IAP/předplatné jsou testovatelné a jsou dodány přístupy pro schválení.
- Počet pádů/ANR je v interním/uzavřeném testování pod prahovou hodnotou; monitoring je připraven.
Strategie postupného vydávání a řízení rizik
- Canary: nejprve interní/uzavřený track nebo externí testování v TestFlight na reprezentativním vzorku.
- Postupné vydávání: postupné zvyšování procenta uživatelů; automatické zpomalování při zhoršení metrik.
- Komunikace: poznámky k vydání v různých jazycích, changelogy a upozornění v aplikaci při zásadních změnách.
Specifika herních a multimediálních aplikací
- Asset Delivery (Android) a On-Demand Resources (iOS) pro zmenšení instalačního balíčku.
- Výkon: profilace grafiky (Frame pacing), FPS na úrovni p95/p99; detekce zařízení a adaptivní kvalita.
- Monetizace: regionální ceny, soulad s pravidly pro loot boxy a reklamu cílenou na děti.
Provozní hygiena a dlouhodobá údržba
- Rotace klíčů, jejich obnova a audit přístupů k účtům (2FA, SSO, řízení přístupu na základě rolí v konzolích).
- Plán aktualizací SDK: pravidelně aktualizujte knihovny (billing, reklamy, analytika) kvůli ukončování podpory starších verzí.
- Bezpečnost: kontrola oprávnění (runtime permissions), ochrana proti reverznímu inženýrství (obfuskace, integrity API).
Závěr: pojměte publikování jako inženýrskou disciplínu
Úspěšné nasazení na Google Play a App Store je opakovatelné, pokud k němu přistoupíte jako k „pipeline“ – od verzování a podepisování přes testování, ochranu soukromí a hodnocení až po řízené postupné vydávání a monitoring. Formalizujte kroky v CI/CD, udržujte soulad s pravidly a průběžně optimalizujte konverze i stabilitu. Zkrátíte tak dobu uvedení na trh, snížíte riziko zamítnutí a zajistíte lepší uživatelský zážitek napříč platformami i teritorii.
