Marketing Version — je uživatelská verze aplikace, která se zobrazuje v obchodech s aplikacemi a na zařízení. Na rozdíl od Build Number je tento parametr orientován na vnímání uživatelem a má sémantický význam. Podle Apple Developer, 2025 správné používání Marketing Version zvyšuje důvěru uživatelů v aktualizace.
Hlavní body
Marketing Version — je sémantický řetězec, který představuje verzi aplikace pro koncového uživatele. V iOS se nastavuje klíčem CFBundleShortVersionString, v Androidu parametrem versionName.
Termín „Marketing Version" se oficiálně používá v Xcode: v rozhraní nastavení targetu se pole nazývá „Marketing Version" a v Info.plist odpovídá CFBundleShortVersionString. V Androidu je analogií versionName, i když se termín používá méně často.
Podle Apple Developer Documentation (2025) by Marketing Version měla obsahovat maximálně tři čísla oddělená tečkami, bez mezer a speciálních znaků. Každé číslo by nemělo přesáhnout 255.
Vyberte Marketing Version tak, aby odrážela důležitost změn: major aktualizace pro zásadní změny, minor pro nové funkce.
Marketing Version se zásadně liší od Build Number účelem: první informuje uživatele, druhý — identifikuje sestavení pro obchod. Build Number může růst bez změny Marketing Version.
Například při opravě kritické chyby ve vydané verzi může tým znovu sestavit aplikaci se stejnou Marketing Version (1.2.0), ale se zvýšeným Build Number (z 15 na 16). Uživatel uvidí stejnou verzi, ale obchod pochopí, že sestavení je novější.
Tato flexibilita umožňuje vývojářům vydávat opravy bez informování uživatelů o změně verze.
Marketing Version se zobrazuje na několika klíčových místech interakce uživatele s aplikací. V obchodě s aplikacemi je viditelná v kartě aplikace, v popisu aktualizace a v historii verzí.
Na zařízení se Marketing Version zobrazuje v systémových nastaveních (sekce „O aplikaci" nebo „Aplikace"), v dialogových oknech aktualizace přes App Store nebo Google Play a také uvnitř samotné aplikace na obrazovce „O programu".
Srozumitelná Marketing Version pomáhá uživateli posoudit aktuálnost nainstalované verze a rozhodnout se o aktualizaci.
Na iOS se Marketing Version nastavuje v Xcode pomocí pole „Marketing Version" na kartě General v nastavení targetu. Hodnota se ukládá do Info.plist jako CFBundleShortVersionString.
Formát verze je přísně regulován společností Apple: řetězec musí obsahovat jedno až tři čísla oddělená tečkami (např. 1, 1.2 nebo 1.2.3). Maximální délka — 18 znaků. Každé číslo nepřesahuje 255.
Podle Apple App Store Review Guidelines (2025) App Store Connect neumožňuje nahrát sestavení, pokud se Marketing Version liší od předchozí publikované verze o více než jednu major nebo minor hodnotu — to chrání uživatele před zmeškanými aktualizacemi.
Použijte agvtool pro správu Marketing Version z příkazového řádku — to zjednodušuje integraci s CI/CD systémy a zaručuje synchronizaci s Build Number.
Na Androidu se Marketing Version nastavuje parametrem versionName v souboru build.gradle. Na rozdíl od iOS neklade Android přísná omezení na formát řetězce verze.
versionName může obsahovat libovolné znaky: písmena, číslice, pomlčky a tečky. Google Play zobrazuje tento řetězec v kartě aplikace a v seznamu aktualizací, ale nekontroluje jej podle žádné šablony.
Nicméně Google Play doporučuje dodržovat sémantický formát Major.Minor.Patch pro jednotnost. To zjednodušuje vnímání verze uživateli a umožňuje automatizovanou analýzu aktualizací.
Zadejte versionName, který jasně odráží typ vydání — major aktualizaci, minor nebo patch. To pomáhá uživatelům rychle posoudit důležitost změn.
versionName na Androidu může být generováno dynamicky na základě Git tagů nebo CI/CD proměnných. To zjednodušuje proces verzování a odstraňuje nesrovnalosti mezi repozitářem a sestavením.
Typický přístup — čtení Gitu tagu (např. v2.1.0) a použití jeho hodnoty jako versionName. Pokud tag neexistuje, lze verzi vygenerovat na základě data a čísla commitu.
Takový přístup zaručuje, že versionName vždy odpovídá stavu zdrojového kódu a nevyžaduje ruční aktualizaci.
Marketing Version a Build Number — jsou dva nezávislé parametry, které řeší různé úkoly. Marketing Version informuje uživatele a Build Number technicky identifikuje sestavení.
Klíčový rozdíl — jedinečnost. Build Number musí být jedinečný pro každé sestavení. Marketing Version se může opakovat: několik sestavení stejné verze má stejnou Marketing Version, ale různé Build Number.
Podle Google Play Policy (2025), pokud jsou nahrány dva APK se stejnou Marketing Version, ale různým Build Number, Google Play přijme obě jako různá sestavení stejné verze. Pro App Store platí podobné pravidlo.
Pamatujte: Build Number — pro stroje, Marketing Version — pro lidi. Automatizujte první a pečlivě plánujte druhé.
Výběr strategie verzování závisí na typu aplikace, publiku a procesu vydávání. Tři hlavní schémata — sémantické, kalendářní a hybridní — pokrývají většinu scénářů.
Sémantické verzování (SemVer) používá formát Major.Minor.Patch a přísně určuje, kdy která složka zvýšit. Je ideální pro aplikace s veřejným API a složitou integrací.
Podle semver.org (2023) se verze 2.0.0 specifikace SemVer používá v 89% open-source mobilních projektů a je podporována všemi správci balíčků.
Kalendářní verzování (CalVer) používá datum vydání jako verzi — například 25.06 pro červen 2025. Tento přístup je populární u aplikací s častými aktualizacemi.
CalVer nenese informaci o důležitosti změn, ale výborně ukazuje čerstvost verze. Uživatel okamžitě pochopí, že verze 25.06 je novější než 25.03.
Zvolte kalendářní verzování, pokud se vaše aplikace často aktualizuje a pro uživatele je důležitější aktuálnost dat než rozsah změn.
Pro MVP a startupy je vhodná jednoduchá sémantická verze bez patche (Major.Minor). Pro zralé produkty s dlouhodobou podporou — plné SemVer. Pro aplikace s kontinuálním vydáváním — CalVer.
Nikdy nepoužívejte datum jako Build Number — může to vést ke konfliktům při několika sestaveních denně. Build Number by měl být sekvenční nebo složený, ale vždy monotónně rostoucí.
Typická chyba — vynechání složky verze při přechodu na novou major řadu. Například po verzi 1.9.9 by další měla být 2.0.0, nikoli 1.10.0. To narušuje sémantiku a mate uživatele.
Další častý problém — nesoulad Marketing Version v kódu a v obchodě s aplikacemi. Vždy zkontrolujte, že versionName v build.gradle odpovídá verzi uvedené v Google Play Console nebo App Store Connect před odesláním sestavení ke kontrole.
Příklady kódu ukazují, jak nastavit Marketing Version na obou platformách a automatizovat její aktualizaci.
V Androidu se versionName nastavuje v build.gradle. Hodnota může být statická nebo čtená z proměnné prostředí.
android {
defaultConfig {
versionCode 15
versionName "2.1.0"
}
}
// Čtení verze z Git tagu
def getVersionNameFromGit = {
def tag = "git describe --tags".execute().
text.trim()
return tag.startsWith("v") ? tag.substring(1) : tag
}
versionName je extrahován z Git tagu, což zaručuje shodu mezi verzí v repozitáři a v zkompilované aplikaci.
V iOS se Marketing Version nastavuje přes Xcode nebo agvtool. Níže uvedený příkaz nastavuje novou marketingovou verzi.
# Nastavení Marketing Version
xcrun agvtool new-marketing-version 2.1.0
# Automatické zvýšení
xcrun agvtool next-marketing-version
agvtool automaticky aktualizuje Info.plist a synchronizuje verzi mezi všemi targety projektu Xcode.
Fastlane umožňuje spravovat Marketing Version na obou platformách z jednoho skriptu, což zjednodušuje podporu cross-platform projektů.
# Nastavení marketingové verze
increment_version_number(
version_number: "2.1.0"
)
# Automatické zvýšení minor verze
increment_version_number(
bump_type: "minor"
)
Fastlane funguje na obou platformách a je podporován většinou CI/CD služeb.
Často kladené dotazy
Marketing Version — je verze pro uživatele (zobrazuje se v obchodě), Build Number — interní identifikátor sestavení. Marketing Version se může opakovat, Build Number musí být jedinečný pro každé sestavení.
Při každém vydání nové funkce, změně API nebo velké opravě. Pro korekční vydání (hotfix) není nutné Marketing Version měnit — stačí zvýšit Build Number.
Na Androidu — ano, versionName může obsahovat libovolné znaky. Na iOS — pouze číslice a tečky. Apple doporučuje dodržovat číselný formát pro kompatibilitu s App Store.
Nedoporučuje se. Obchody s aplikacemi nepodporují vrácení verze. Místo toho vydějte novou verzi s opravami a zvyšte patch komponent. Uživatelé se automaticky přepnou na novou verzi.
Použijte společný konfigurační soubor v kořeni projektu (např. version.properties). Build skripty na obou platformách čtou verzi z tohoto souboru a zaručují synchronizaci hodnot.
Souhrn
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é