Nasazení na Google Play a App Store
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í náležitosti (metadata, privacy štítky, ratingy) 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 (organizace doporučena), Apple Developer Program (Individual/Organization).
- 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 (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 build čísla
- 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 (build roste). - Architektury: optimalizujte velikost (App Thinning, split APK/ABI řeší Play automaticky z AAB).
- Debug artefakty: pro crash symbolikaci 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/trezoru tajemství.
- 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 obmě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/Subscriptions).
- Lokalizace: jazykové mutace ve strings a lokalizované store listingy.
Testování: interní sdílení, TestFlight a tracky
- Google Play: Internal testing (okamžitý), Closed testing (tracky, 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ých superlativů a klamavých tvrzení.
- Ikona, screenshoty, promo video: pokryjte klíčové flow; 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 brand 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í (URL veřejně dostupná).
- App Store Privacy: sekce „App Privacy“, kategorie dat (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živatele.
- Žádost o smazání účtu: když vytváříte účet, musíte umožnit iniciovat smazání z aplikace.
Content/age rating 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: age rating 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 výmaz/portability.
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 review.
- Validace na serveru: ověřujte účtenky (Play Developer API / App Store Server API) a ukládejte 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é 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ěny.
Časté důvody zamítnutí a jak jim předejít
- Nesoulad s politikami: chybějící privacy policy, klamavé metadata, neadekvátní permissions (např. přesahující účel).
- Crashes/ANRs: nestabilní buildy, chybějící kompatibilita s posledními OS verzemi.
- Nekompletní test účet a instrukce: pro review IAP/feature za paywallem musí být přiloženy testovací přístupy.
- Porušení brandu/IP: názvy či 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.
- Secure secrets: 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; integrujte s Crashlytics/Sentry.
- Alerting: automatické roll-backy/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: rozhodujte podle podílu trhu a knihoven; starší OS výrazně zvyšuje QA náklady.
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 per-teritorium.
Checklist před odesláním na review
- Build je reproducibilní 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 hotové; export compliance vyř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 track či TestFlight externí test na reprezentativním vzorku.
- Fázované uvolnění: postupné navyšování procent; automatické brzdění 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íčů, obnovy a audit přístupů k účtům (2FA, SSO, role-based přístup v konzolích).
- Roadmapa SDK: pravidelné upgrady knihoven (billing, ads, analytics) kvůli deprecations.
- Bezpečnost: kontrola povolení (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é, když jej pojmete jako „pipeline“ – od verze a signování přes testy, privacy a ratingy až po řízený rollout a monitorování. 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ší zážitek uživatelům napříč platformami i teritorii.