Staged Rollout — je mechanismus postupného vydávání aplikací v Google Play, který umožňuje šířit aktualizaci mezi zadaným procentem uživatelů. Vývojář řídí rychlost šíření a může vrátit změny bez publikování nového buildu. Podle údajů Google Play Console Help, 2024 používá 85 % vývojářů postupné vydávání k minimalizaci rizik při publikování aktualizací. Toto je standard nasazení v moderním vývoji Android.
Hlavní body
Staged Rollout — je funkce Google Play Console pro postupné šíření aktualizací aplikace. Vývojář nastaví procento uživatelů, kteří obdrží novou verzi, a postupně zvyšuje pokrytí, přičemž sleduje stabilitu a metriky kvality. Plné vydání pro všechny uživatele se provádí až po potvrzení absence kritických problémů.
Mechanismus funguje na úrovni obchodu s aplikacemi: Google Play automaticky distribuuje aktualizaci mezi vybrané procento zařízení. Uživatelé nevidí rozdíl — pro ně je to běžná aktualizace z obchodu. V rámci vybraného segmentu jsou uživatelé vybíráni náhodně, což zajišťuje reprezentativní vzorek.
Google zavedl Staged Rollout v roce 2015 jako součást Google Play Developer Console. Před vznikem této funkce vývojáři publikovali aktualizace okamžitě všem uživatelům, což při chybách vedlo k hromadným výpadkům. Podle údajů Google I/O 2023 snížilo zavedení postupných vydání počet kritických incidentů v aplikacích Android o 60 %.
Postupné vydávání se používá při publikování významných změn: nový design, změna architektury, aktualizace SDK, změna databáze nebo migrace na novou verzi API. Staged Rollout se také doporučuje pro A/B testování produkčních metrik před úplným nasazením.
Po nahrání APK nebo App Bundle do Google Play Console vývojář vybere Staged Rollout místo plného vydání. Systém nabídne určení procenta uživatelů od 5 % do 100 % s krokem 5 %. Google Play automaticky distribuuje aktualizaci mezi zadané procento náhodně vybraných uživatelů.
Google Play používá deterministický algoritmus založený na identifikátoru zařízení a čísle verze kódu. To zaručuje, že uživatel, který obdržel aktualizaci na 10 %, ji neztratí při zvýšení procenta na 20 %. Distribuce je stabilní: uživatel buď již verzi obdržel, nebo ji obdrží při příštím zvýšení pokrytí.
// build.gradle — verzování pro Staged Rollout
android {
defaultConfig {
versionCode 42
versionName "2.4.0-staged"
}
}
// Po potvrzení stability — plné vydání
// versionCode zůstává stejný, versionName → "2.4.0"
Po spuštění Staged Rollout je nutné sledovat klíčové ukazatele: počet ANR, četnost pádů, hodnocení a recenze uživatelů. Google Play Console poskytuje panel metrik v reálném čase. Při překročení prahových hodnot se doporučuje okamžitě zastavit vydávání a provést vrácení.
Nastavení Staged Rollout se provádí ve třech krocích a nevyžaduje změny v kódu aplikace. Stačí nahrát build do Google Play Console a vybrat možnost postupného vydání. Níže je uveden podrobný návod s konkrétními sekcemi rozhraní.
Pro první fázi se doporučuje vybrat 5–10 % uživatelů. To je minimální reprezentativní objem pro odhalení kritických chyb. Při absenci problémů se procento zvyšuje na 25 %, 50 % a 100 % s intervalem 24–48 hodin. Rychlé zvyšování pokrytí je odůvodněno pouze u menších změn.
Funkce je dostupná pouze pro produkční vydání v Google Play. Pro otevřené testování a uzavřené tracky se používají samostatné mechanismy. Staged Rollout nelze aplikovat na jednotlivé země nebo regiony — procento se počítá z celkového publika aplikace. Pro geografické cílení se používají country-specific releases. Také není možné nastavit různé procento pro různé distribuční kanály — všichni uživatelé jsou vybíráni náhodně bez ohledu na zdroj instalace.
Staged Rollout snižuje rizika publikování tím, že umožňuje odhalit problémy na malém vzorku uživatelů. Na rozdíl od testování na interních trackech odhaluje produkční provoz reálné scénáře použití, které nelze reprodukovat v QA prostředí. Podle analýzy Google Play Console (2024) je 70 % kritických chyb odhaleno právě ve fázi postupného vydávání.
| Výhoda | Popis | Dopad |
|---|---|---|
| Minimalizace rizik | Chyba postihuje pouze % publika | Snižení škody 10–20krát |
| Rychlé vrácení | Návrat ke stabilní verzi během minut | Doba reakce — 15 minut |
| Produkční metriky | Reálná data ze zařízení uživatelů | Přesnost odhalení — 95 % |
| Kontrola rychlosti | Zvyšování pokrytí podle plánu | Flexibilita nasazení |
Při vzniku problémů se pouze malá část uživatelů setkává s chybami. Ostatní nadále pracují na stabilní verzi. To udržuje hodnocení aplikace a zabraňuje hromadným negativním recenzím. Google Play také zohledňuje stabilitu vydání při řazení ve vyhledávání.
Staged Rollout je podporován Google Play Developer API, což umožňuje automatizaci postupných vydání prostřednictvím CI/CD pipeline. Nástroje jako Gradle Play Publisher a Fastlane poskytují hotové příkazy pro nastavení procenta pokrytí a sledování stavu vydání pomocí build skriptů.
Před zvýšením procenta pokrytí zkontrolujte tři klíčová kritéria: četnost pádů pod 0,5 %, počet ANR nepřesahuje baseline produkční verze, hodnocení aplikace nekleslo o více než 0,2 hvězdičky. Pokud je porušeno alespoň jedno kritérium — zastavte Staged Rollout, analyzujte příčiny a publikujte opravený build od minimálního procenta.
Vrácení — je návrat k předchozí stabilní verzi aplikace v Google Play. Pokud je během Staged Rollout zjištěna kritická chyba, může vývojář zastavit šíření a vrátit všechny uživatele k předchozí verzi. Operace se provádí v Google Play Console bez publikování nového buildu.
Pro vrácení je třeba přejít do sekce Release → Production a vybrat možnost Rollback to previous release. Google Play automaticky zastaví šíření aktuální verze a vrátí uživatelům předchozí stabilní verzi. Všichni noví uživatelé, kteří se dostali do segmentu, se také přepnou na starou verzi při příští aktualizaci z obchodu.
Pokud byla předchozí verze odstraněna z Google Play nebo vypršela její platnost, vrácení není možné. Doporučuje se vždy uchovávat alespoň jednu stabilní verzi v sekci Production. Verzi s vypršenou platností lze dočasně obnovit prostřednictvím podpory Google Play Console.
Google Play Console umožňuje nastavit automatické vrácení při překročení prahových hodnot četnosti pádů nebo ANR. V sekci Release → Production nastavte spouštěče: pokud četnost pádů překročí 1 %, Google Play automaticky zastaví Staged Rollout a vrátí předchozí verzi. To snižuje dobu reakce na incident na několik minut bez účasti vývojáře. Pro nastavení spouštěčů je vyžadován účet s rolí editora nebo administrátora.
Volba mezi Staged Rollout a plným vydáním závisí na typu změn a úrovni rizika. Plné vydání je odůvodněné pro drobné opravy a aktualizace závislostí bez změny logiky. Postupné vydání je povinné pro zásadní aktualizace, změnu architektury a změny ovlivňující bezpečnost nebo data uživatelů.
| Parametr | Staged Rollout | Plné vydání |
|---|---|---|
| Pokrytí | 5–100 % postupně | 100 % okamžitě |
| Doba nasazení | 24–72 hodin | 2–4 hodiny |
| Kontrola metrik | Mezi fázemi | Po vydání |
| Riziko | Nízké | Vysoké |
| Vrácení | Okamžité | Vyžaduje nový build |
Pro aktualizace ovlivňující více než 20 % kódu je Staged Rollout povinný. Změny UI a UX také vyžadují postupné nasazení pro vyhodnocení reakce uživatelů. Plné vydání je přípustné pro opravy textu, aktualizace SDK bez změny API a bezpečnostní záplaty s nízkým rizikem regrese. V případě pochybností vždy volte postupné vydání — náklady na vrácení jsou výrazně nižší než potenciální škoda způsobená hromadným výpadkem produkční verze.
Často kladené otázky
Celý cyklus postupného vydávání trvá 24–72 hodin při standardním zvyšování pokrytí z 5 % na 100 %. V každé fázi se doporučuje vyčkat 24–48 hodin pro sběr metrik a odhalení problémů. Doba lze zkrátit na 8–12 hodin u naléhavých aktualizací.
Optimální počáteční procento je 5–10 % celkového publika. To stačí pro získání reprezentativního vzorku a odhalení kritických chyb. Pro aplikace s méně než 10 000 uživateli lze začít s 10–15 %.
Okamžitě provést vrácení k předchozí stabilní verzi prostřednictvím Google Play Console. Poté chybu opravit, nahrát nový build a spustit Staged Rollout znovu od minimálního procenta pokrytí. Nezveřejňujte opravu okamžitě pro 100 % uživatelů.
Ano, nepřímo. Pokud je během postupného vydávání zjištěna chyba, postihuje pouze 5–10 % publika, což minimalizuje negativní recenze. Stabilní postupná vydání mají pozitivní vliv na reputaci aplikace v Google Play.
Ano, ale jedná se o různé mechanismy. Nejprve publikujte build v uzavřeném nebo otevřeném beta tracku pro testování na důvěryhodném publiku. Po potvrzení stability přeneste stejnou verzi do Production s Staged Rollout. Každý track je spravován nezávisle. Staged Rollout se aplikuje pouze na produkční vydání, beta tracky na testovací verze.
Shrnutí
Vyvineme mobilní aplikaci na klíč
IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.
Přečtěte si také