Nasazení aplikací na Google Play a App Store: komplexní průvodce distribucí
Publikace mobilních aplikací na platformách Google Play (Android) a App Store (iOS) představuje vícestupňový proces, který zahrnuje nejen technické aspekty jako build, podepisování a balení aplikací, ale i formální požadavky týkající se metadat, štítků soukromí a hodnocení. Zároveň je nezbytné aplikovat provozní disciplínu, zahrnující testování, řízení verzí i monitorování výkonu. Tento průvodce poskytuje detailní návod pro vývojové týmy, které chtějí zabezpečit opakovatelné, bezpečné a pravidlům platforem odpovídající nasazení aplikací.
Požadavky před zahájením nasazení aplikace
Vývojářské účty a přístupy
- Google Play Console: Pro organizace se doporučuje správa účtů s propracovanou strukturou rolí pro bezpečný přístup.
- Apple Developer Program: Registrace může být buď jako jednotlivec, nebo jako organizace s rozšířenými možnostmi správy.
Identifikátory aplikací
- Android: Jedinečný packageName například
com.company.app, který je po prvním publikování neměnný. - iOS: Reverzně doménové Bundle ID, které identifikuje aplikaci v rámci App Store.
Certifikáty a podepisování
- Android: Správa keystore (upload key) a implementace Play App Signing pro vyšší bezpečnost.
- iOS: Používání Certificates, Provisioning Profiles a volba mezi Automatic a Manual signing v Xcode.
Licencování a práva k obsahu
Veškerá loga, názvy i licencovaný obsah musí být pokryté příslušnými licencemi a právními náležitostmi.
Proces buildování a balení aplikací
Specifika formátů
- Android: Publikace v podobě Android App Bundle (AAB) podporuje optimalizaci distribuce. Nutné správně nastavovat versionCode (číselná hodnota růstu) a versionName (například
2.3.0). - iOS: Aplikace je balena jako IPA a nahrávána přes Xcode či Transporter. Správné nastavení zahrnuje CFBundleShortVersionString a zvyšující se CFBundleVersion.
Optimalizace a velikost balíku
U Androidu probíhá automatické řešení velikosti skrze App Thinning a rozdělení podle architektur (split APK/ABI). Pro iOS lze použít On-Demand Resources.
Debug a symbolikace chyb
- Pro Android generujte mapping.txt soubory (ProGuard/R8) pro zpracování stack trace.
- Na iOS nezapomeňte na dSYM soubory pro přesnou symbolikaci během ladění.
Bezpečné podepisování aplikací
- Android: Preferujte Play App Signing, uchovávejte upload key bezpečně a zálohujte v bezpečných úložištích jako HSM nebo hardwarový trezor.
- iOS: Minimalizujte počet Distribution certifikátů, vyhradil si automatické podepisování a využívejte API klíče pro CI/CD integraci.
- Audit a rotace klíčů: Dokumentujte vlastníky klíčů, jejich expiraci a procesy obměny; zabezpečte logování přístupů k nim.
Konfigurace schopností aplikace a entitlements
Push notifikace
Pro Android využijte Firebase Cloud Messaging (SHA-1 fingerprinty), pro iOS APNs s příslušnými certifikáty a nastavením entitlements.
Deep linking a univerzální odkazy
- Android: Implementace App Links s Digital Asset Links ověřením.
- iOS: Universal Links pomocí souboru
apple-app-site-association.
Platby a nákupy v aplikaci
Pro Android se využívá Play Billing Library aktuální verze, zatímco iOS spoléhá na StoreKit (IAP a předplatné).
Lokalizace
Zajistěte překlady reťazců přímo v aplikaci a také lokalizaci v popisech v obchodních katalozích.
Testování a příprava před nasazením
Testování na Google Play
- Interní testování (rychlé a bez omezení).
- Uzavřené testovací tracky pro vybrané skupiny uživatelů.
- Veřejné bety pomocí Open testingu.
- Internal App Sharing pro rychlé sdílení buildů.
TestFlight na iOS
Umožňuje interní testování až pro 100 uživatelů bez nutnosti přezkoušení a externí testy až pro 10 000 uživatelů s krátkým schvalovacím procesem. Buildy expirují po 90 dnech.
Automatizované testy a kontrola kvality
- End-to-end testování pomocí nástrojů jako Firebase Test Lab a XCUITest.
- Pre-launch reporty na Androidu vyhodnocující stabilitu a kompatibilitu.
- Automatické screenshot boti pro ověření UI konzistence.
Správa store listingu aplikace
Vytváření textového obsahu
- Google Play: Název, krátký a dlouhý popis s vyvarováním se zakázaných tvrzení.
- App Store: Subtitle a detailní Description s dodržením pravidel.
Vizuální obsah
- Ikony, screenshoty a promo videa, které prezentují klíčové funkce aplikace.
- Dodržování specifikací rozměrů a poměrů stran dle platformy.
Experimentování a přizpůsobení
Google Play nabízí Store Listing Experiments, zatímco Apple umožňuje Product Page Optimization a vlastní produktové stránky (Custom Product Pages).
Optimalizace klíčových slov na iOS
Vyberte pečlivě až 100 znaků klíčových slov bez zahrnutí cizích značek pro lepší vyhledatelnost v App Store.
Ochrana soukromí a bezpečnost dat aplikace
Google Play Data safety
Vyžaduje deklaraci všech typů sbíraných dat, účelu zpracování a případného sdílení dat. Odkaz na zásady ochrany soukromí musí být veřejně dostupný.
App Store soukromí
Oddíl „App Privacy“ klasifikuje sbíraná data (kontakt, lokalizace, využití), jejich účely a vztah k uživateli.
App Tracking Transparency (ATT)
Pokud aplikace využívá IDFA, je nutné implementovat ATT framework respektující preference uživatelů ohledně sledování.
Možnost smazání účtu uživatele
Při vytváření uživatelského účtu musí aplikace umožnit uživatelům iniciovat jeho vymazání přímo z aplikace v souladu s GDPR požadavky.
Hodnocení obsahu a právní aspekty
- Google Play: Použití IARC formuláře pro stanovení věkového hodnocení a specifická pravidla pro hazard, uživatelský obsah či alkohol.
- App Store: Nastavení věkového hodnocení v App Store Connect a zajištění shody s pravidly Export Compliance a certifikacemi pro dětské aplikace.
- Právní povinnosti: Dodržování GDPR a dalších zákonů o ochraně osobních údajů včetně informování o právech uživatelů a evidování žádostí o výmaz či přenos dat.
Monetizace aplikací a správa in-app nákupů
- Android: Integrace Play Billing API s podporou produktů, předplatného a notifikací server-server včetně řešení pending transactions.
- iOS: Využití StoreKit 2, rozlišení mezi spotřebními a nespotřebními produkty, správa předplatného a nabídky kódů.
- Validace transakcí: Ověřování účtenek pomocí Play Developer API či App Store Server API a ukládání jejich stavu na serveru.
Workflow publikace: správa verzí a uvolnění
- Google Play: Staged rollout dle procent populace s možností okamžitého rollbacku na předchozí verzi za určitých podmínek.
- App Store: Fázované uvolňování během 7 dní s možností pozastavení a nutností schválení před vydáním.
- Teritoriální dostupnost a pricing: Nastavte dostupná území, ceny a řešte daňové odlišnosti v souladu s místní legislativou.
Běžné důvody zamítnutí a jejich prevence
- Porušení pravidel platformy: Nedostatečná zásada ochrany soukromí, nepravdivá metadata, neoprávněný přístup k datům.
- Technická nestabilita: Pády aplikace, výskyt ANR, nekompatibilita s aktuálními verzemi OS.
- Nedostatečné podmínky pro review: Chybějící testovací účty nebo neúplné instrukce pro testování placených funkcí.
- Porušení ochranných známek: Použití názvů a grafiky, které mohou být zaměněny za jiné značky nebo obsah.
Automatizace procesů CI/CD při publikaci
- Nástroje: Fastlane (pilot, supply), Gradle, Xcode Cloud, GitHub Actions nebo GitLab CI pro automatizaci buildů, podepisování a publikace.
- Bezpečné uložení tajemství: Ukládání keystore a certifikátů v bezpečných trezorech jako HashiCorp Vault nebo cloudové služby KMS/Key Vault.
- Testování před publikací: Automatizované testy integrovány do pipeline pro snadné odhalení chyb ještě před odesláním do obchodů.
- Verzování a tagování: Používání verzovacích strategií a tagů v repozitáři pro přehlednost vydání a snadnou navigaci mezi verzemi.
- Notifikace a monitoring: Implementace upozornění na stav buildů, nasazení a případné chyby v produkci pomocí nástrojů jako Slack nebo Sentry.
Nasazení mobilních aplikací na Google Play a App Store je komplexní proces, který vyžaduje precizní plánování a dodržování pravidel obou platforem. Díky správné přípravě, důkladnému testování a optimalizaci store listingu lze výrazně zvýšit šance na úspěch aplikace a její spokojené uživatele.
Věnování pozornosti i právním a bezpečnostním aspektům zabezpečí ochranu dat a důvěru uživatelů, což je klíčové pro dlouhodobý rozvoj a reputaci vaší aplikace.