Version Name — je řetězec verze aplikace, který uživatel vidí v obchodě a na zařízení. Na rozdíl od Build Number má tento parametr sémantický význam a odráží důležitost změn. Podle Android Developers, 2025, správné používání Version Name pomáhá uživatelům chápat aktuálnost aktualizací a důvěřovat procesu vývoje.
Hlavní
Version Name — je sémantický řetězec, který identifikuje vydání aplikace pro uživatele. Na rozdíl od technických identifikátorů sestavení nese tento parametr význam: na jeho základě uživatel hodnotí, jak moc se nová aktualizace liší od předchozí.
Version Name se zobrazuje v kartě aplikace v Google Play a App Store, v sekci „O aplikaci” na zařízení a také v systémových dialozích aktualizace. Vývojáři jej uvádějí v konfiguračních souborech projektu před sestavením verze vydání.
Podle Semantic Versioning 2.0 (2023) se formát Major.Minor.Patch používá v 78% mobilních aplikací. Major verze se mění při nekompatibilních změnách API, minor — při přidávání funkčnosti, patch — při opravách chyb.
Používejte Version Name pro komunikaci s uživatelem: měl by okamžitě chápat, jak velkou aktualizaci dostává — major, minor nebo korekční.
Sémantická verze se skládá ze tří čísel oddělených tečkami: Major.Minor.Patch. Každá z těchto komponent odpovídá za určitou úroveň změn v aplikaci.
Major verze (Major) se zvyšuje při zásadních změnách, které porušují zpětnou kompatibilitu. Minor verze (Minor) přidává novou funkčnost bez narušení stávající. Patch obsahuje pouze opravy chyb.
Například verze 3.2.1 znamená: třetí major verze, druhá minor aktualizace, první patch. Tento systém je srozumitelný jak vývojářům, tak uživatelům.
Version Name je viditelný uživateli na několika klíčových místech. V obchodě s aplikacemi se zobrazuje v záhlaví karty aplikace a v seznamu aktualizací. Na zařízení — v systémových nastaveních v sekci „O aplikaci”.
V Google Play se Version Name zobrazuje pod názvem aplikace a ovlivňuje rozhodnutí uživatele o aktualizaci. V App Store se řetězec verze zobrazuje na stejném místě při prohlížení stránky aplikace.
Podle výzkumu Apptentive (2024) 67% uživatelů kontroluje verzi aplikace před aktualizací a srozumitelná sémantika zvyšuje konverzi na instalaci o 23%.
Na Android se Version Name nastavuje parametrem versionName v souboru build.gradle (úroveň modulu). Tento parametr je řetězec a může obsahovat libovolné znaky, včetně teček, pomlček a písmen.
Parametr se deklaruje uvnitř bloku android.defaultConfig spolu s povinným parametrem versionCode. Android neukládá omezení na formát řetězce, ale Google Play doporučuje používání sémantického formátu.
Podle Android Developers (2025) Google Play používá versionName pro zobrazení v rozhraní obchodu, ale neanalyzuje jeho obsah programově — pouze versionCode ovlivňuje logiku aktualizace.
Uvádějte Version Name ve formátu Major.Minor.Patch a synchronizujte jej s tagem v systému řízení verzí pro jednoznačnou identifikaci vydání.
Gradle umožňuje nastavit versionName staticky v build.gradle nebo dynamicky prostřednictvím skriptů sestavení. Dynamické generování je užitečné pro automatická noční sestavení a CI/CD pipeline.
V build.gradle můžete použít proměnné prostředí, parametry příkazového řádku nebo volání shell skriptů pro vytvoření versionName. Typický přístup je čtení verze ze souboru version.properties.
Tato flexibilita umožňuje týmům automatizovat proces verzování a eliminovat lidský faktor při přípravě vydání.
Na iOS se Version Name nastavuje klíčem CFBundleShortVersionString v souboru Info.plist. Toto je povinný parametr pro publikaci aplikace v App Store a je přísně typován jako řetězec.
Na rozdíl od Android App Store Connect kontroluje formát Version Name a vyžaduje shodu se vzorem čísel oddělených tečkami. Maximální délka řetězce je 18 znaků a každá komponenta verze nesmí přesáhnout 255.
Podle Apple Developer Documentation (2025) používá App Store CFBundleShortVersionString pro zobrazení verze v rozhraní obchodu a v systémových dialozích na zařízení uživatele.
Při nahrávání sestavení do App Store Connect se ujistěte, že Version Name odpovídá verzi uvedené v marketingových materiálech — to zjednodušuje komunikaci s uživateli.
Xcode poskytuje grafické rozhraní pro změnu Version Name v nastavení targetu. Pole „Marketing Version” se nachází na záložce General v sekci Identity. Změny se automaticky ukládají do Info.plist.
Pro automatizaci můžete použít skripty sestavení v Xcode Build Phases nebo nástroj agvtool (Apple Generic Version Tool). agvtool umožňuje správu verzí z příkazového řádku a integraci s CI/CD.
Takový přístup je obzvláště vhodný při použití fastlane nebo Jenkins pro automatické sestavení a doručování aplikací.
Version Name a Build Number plní různé úkoly v procesu vývoje. Version Name je uživatelský řetězec a Build Number je interní číselný identifikátor, který jednoznačně identifikuje každé sestavení.
Build Number (versionCode v Android, CFBundleVersion v iOS) se musí zvyšovat s každým novým sestavením a používají ho obchody s aplikacemi k určení, která verze je novější. Version Name může zůstat nezměněn pro několik sestavení stejné verze.
Podle Google Play Policy (2025) jsou dvě aplikace se stejným versionCode považovány za stejnou verzi — versionCode musí být jedinečný pro každý APK. Version Name se tohoto ověření neúčastní.
Vždy zvyšujte Build Number při každém sestavení a měňte Version Name pouze při změně funkčnosti — to předchází konfliktům při publikování.
Výběr Version Name závisí na strategii verzování týmu. Nejběžnějším přístupem je sémantické verzování (SemVer), ale existují i alternativní schémata, jako je kalendářní verzování nebo verzování podle data vydání.
Semantic Versioning 2.0 doporučuje formát Major.Minor.Patch s volitelnými pre-release příponami. Pro mobilní aplikace je populární také schéma Major.Minor, kde se patch vynechává pro zjednodušení vnímání.
Kalendářní verzování (CalVer) používá datum vydání jako číslo verze — například 25.06 (rok a měsíc). Tento přístup je vhodný pro aplikace s častými vydáními, kde sémantika není důležitá.
Semantické verzování je vhodné pro aplikace s veřejným API, kde je důležitá zpětná kompatibilita. Uživatelé a integrátoři chápou, jaké změny očekávat při aktualizaci.
Kalendářní verzování se volí pro aplikace, kde je pro uživatele důležitá čerstvost vydání, nikoli rozsah změn. Například agregátory zpráv nebo meteoaplikace.
Hybridní schéma kombinuje oba přístupy: Major.Minor.RC, kde RC je číslo sestavení pro konkrétního kandidáta vydání. Toto schéma je vhodné při aktivním beta testování.
Příklady kódu níže ukazují, jak nastavit Version Name na Android a iOS. Pro Android se používá Gradle, pro iOS — Xcode Build Settings s agvtool.
V Android se verze nastavuje v souboru app/build.gradle uvnitř bloku defaultConfig. Parametr versionName přijímá hodnotu řetězce.
android {
defaultConfig {
versionCode 3
versionName "2.1.0"
}
}
versionName lze také číst z externího souboru nebo dynamicky generovat pomocí Gradle Script.
Dynamická verze je tvořena z proměnných prostředí CI/CD systému. To zaručuje, že každé sestavení obdrží správné číslo verze.
def getVersionName = {
return System.getenv("VERSION_NAME") ?:
"2.1.0"
}
android {
defaultConfig {
versionName getVersionName()
}
}
Takový přístup automatizuje verzování a eliminuje riziko nesouladu mezi sestavením a tagem v repozitáři.
V iOS lze verzi nastavit prostřednictvím Xcode nebo příkazového řádku pomocí agvtool.
# Nastavení marketingové verze
xcrun agvtool new-marketing-version 2.1.0
# Čtení aktuální verze
xcrun agvtool what-marketing-version
agvtool automaticky aktualizuje Info.plist a synchronizuje verzi mezi všemi targety v projektu Xcode.
Často kladené otázky
Version Name — uživatelský řetězec verze zobrazovaný v obchodě s aplikacemi. Build Number — interní číselný identifikátor sestavení, který jednoznačně identifikuje každý build a používají ho obchody k určení novosti verze.
V Android může versionName obsahovat libovolné znaky, včetně písmen a pomlček. V iOS musí CFBundleShortVersionString sestávat z čísel oddělených tečkami, i když jsou písmenné přípony povoleny pro pre-release verze.
Použijte CI/CD nástroje — GitHub Actions, GitLab CI nebo Jenkins. Skript sestavení přečte aktuální verzi ze souboru, zvýší požadovanou komponentu a zapíše novou hodnotu před sestavením vydání.
Obchod přijme nové sestavení, pokud byl Build Number zvýšen. Uživatelé však neuvidí změny ve verzi, což může způsobit zmatek. Doporučuje se měnit Version Name při každém vydání nové funkčnosti.
Formát Major.Minor.Patch — optimální volba pro většinu projektů. Je srozumitelný uživatelům i vývojářům, odpovídá standardu SemVer a je podporovaný všemi obchody s aplikacemi.
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é