Marketing Version — то је верзија апликације видљива кориснику, која се приказује у продавницама апликација и на уређају. За разлику од Build Number, овај параметар је оријентисан на перцепцију корисника и има семантичко значење. Према Apple Developer, 2025, правилно коришћење Marketing Version повећава поверење корисника у ажурирања.
Главно
Marketing Version — је семантички низ који представља верзију апликације за крајњег корисника. У iOS-у се поставља кључем CFBundleShortVersionString, у Android-у — параметром versionName.
Термин „Marketing Version" се званично користи у Xcode: у интерфејсу подешавања target-a поље се зове „Marketing Version", а у Info.plist одговара CFBundleShortVersionString. На Android-у је аналог versionName, иако се термин ређе користи.
Према Apple Developer Documentation (2025), Marketing Version треба да се састоји од највише три броја раздвојених тачкама, без размака и специјалних знакова. Сваки број не сме да прелази 255.
Бирајте Marketing Version тако да одражава значај промена: мајор ажурирања за радикалне промене, минор — за нове функционалности.
Marketing Version се суштински разликује од Build Number по намени: први обавештава корисника, други — идентификује билд за продавницу. Build Number може да расте без промене Marketing Version.
На пример, при исправљању критичне грешке у објављеном издању, тим може да поново састави апликацију са истом Marketing Version (1.2.0), али са повећаним Build Number (са 15 на 16). Корисник ће видети исту верзију, али продавница ће разумети да је билд новији.
Таква флексибилност омогућава програмерима да објављују исправке без обавештавања корисника о промени верзије.
Marketing Version се приказује на неколико кључних тачака интеракције корисника са апликацијом. У продавници апликација видљива је у картици апликације, у опису ажурирања и у историји верзија.
На уређају Marketing Version се приказује у системским подешавањима (одељак „О апликацији" или „Апликације"), у дијалозима ажурирања путем App Store или Google Play, као и унутар саме апликације на екрану „О програму".
Разумљива Marketing Version помаже кориснику да процени актуелност инсталиране верзије и донесе одлуку о ажурирању.
На iOS-у Marketing Version се поставља у Xcode-у кроз поље „Marketing Version" на картици General подешавања target-а. Вредност се чува у Info.plist као CFBundleShortVersionString.
Формат верзије је строго регулисан од стране Apple-а: низ мора да садржи од једног до три броја раздвојених тачкама (на пример, 1, 1.2 или 1.2.3). Максимална дужина — 18 знакова. Сваки број не прелази 255.
Према Apple App Store Review Guidelines (2025), App Store Connect не дозвољава отпремање билда ако се Marketing Version разликује од претходно објављене верзије за више од једне мајор или минор вредности — ово штити кориснике од пропуштених ажурирања.
Користите agvtool за управљање Marketing Version из командне линије — ово поједностављује интеграцију са CI/CD системима и гарантује синхронизацију са Build Number.
На Android-у Marketing Version се поставља параметром versionName у датотеци build.gradle. За разлику од iOS-а, Android не намеће строга ограничења на формат низа верзије.
versionName може да садржи било које знакове: слова, бројеве, цртице и тачке. Google Play приказује овај низ у картици апликације и на листи ажурирања, али га не проверава у односу на било који шаблон.
Међутим, Google Play препоручује придржавање семантичког формата Major.Minor.Patch ради једнообразности. Ово поједностављује перцепцију верзије од стране корисника и омогућава аутоматизацију анализе ажурирања.
Наведите versionName који јасно одражава тип издања — мајор ажурирање, минор или пач. Ово помаже корисницима да брзо процене значај промена.
versionName на Android-у може да се генерише динамички на основу Git tag-ова или CI/CD променљивих. Ово поједностављује процес верзионисања и елиминише неслагања између репозиторијума и билда.
Типичан приступ — читање Git tag-а (на пример, v2.1.0) и коришћење његове вредности као versionName. Ако tag не постоји, верзија се може генерисати на основу датума и броја комита.
Такав приступ гарантује да versionName увек одговара стању изворног кода и не захтева ручно ажурирање.
Marketing Version и Build Number — то су два независна параметра која решавају различите задатке. Marketing Version обавештава корисника, а Build Number технички идентификује билд.
Кључна разлика — јединственост. Build Number мора бити јединствен за сваки билд. Marketing Version може да се понавља: неколико билдова исте верзије имају исти Marketing Version, али различит Build Number.
Према Google Play Policy (2025), ако се отпреме два APK-а са истим Marketing Version али различитим Build Number, Google Play ће прихватити оба као различите билдове исте верзије. За App Store важи слично правило.
Запамтите: Build Number — за машине, Marketing Version — за људе. Аутоматизујте прво и пажљиво планирајте друго.
Избор стратегије верзионисања зависи од типа апликације, публике и процеса издања. Три главне шеме — семантичка, календарска и хибридна — покривају већину сценарија.
Семантичка верзија (SemVer) користи формат Major.Minor.Patch и строго одређује када који компонент повећати. Идеална је за апликације са јавним API-јем и сложеном интеграцијом.
Према semver.org (2023), верзија 2.0.0 спецификације SemVer користи се у 89% open-source мобилних пројеката и подржана је од свих менаџера пакета.
Календарско верзионисање (CalVer) користи датум издања као верзију — на пример, 25.06 за јун 2025. године. Овај приступ је популаран у апликацијама са честим ажурирањима.
CalVer не носи информацију о значају промена, али одлично показује свежину верзије. Корисник одмах разуме да је верзија 25.06 новија од 25.03.
Бирајте календарско верзионисање ако се ваша апликација често ажурира и корисницима је важнија актуелност података од обима промена.
За MVP и стартапове одговара једноставна семантичка верзија без пача (Major.Minor). За зреле производе са дуготрајном подршком — пуна SemVer. За апликације са континуираним издањима — CalVer.
Никада не користите датум као Build Number — то може довести до конфликата при више билдова дневно. Build Number треба да буде секвенцијалан или сложен, али увек монотоно растући.
Типична грешка — прескакање компоненте верзије при преласку на нову мајор линију. На пример, после верзије 1.9.9 следећа треба да буде 2.0.0, а не 1.10.0. Ово нарушава семантику и збуњује кориснике.
Други чест проблем — неслагање Marketing Version у коду и у продавници апликација. Увек проверавајте да се versionName у build.gradle поклапа са верзијом наведеном у Google Play Console или App Store Connect пре слања билда на рецензију.
Примери кода показују како поставити Marketing Version на обе платформе и аутоматизовати њено ажурирање.
У Android-у versionName се поставља у build.gradle. Вредност може бити статичка или прочитана из променљиве окружења.
android {
defaultConfig {
versionCode 15
versionName "2.1.0"
}
}
// Читање верзије из Git tag-а
def getVersionNameFromGit = {
def tag = "git describe --tags".execute().
text.trim()
return tag.startsWith("v") ? tag.substring(1) : tag
}
versionName се издваја из Git tag-а, што гарантује подударање између верзије у репозиторијуму и у компајлираној апликацији.
У iOS-у Marketing Version се поставља кроз Xcode или agvtool. Команда испод поставља нову маркетиншку верзију.
# Постављање Marketing Version
xcrun agvtool new-marketing-version 2.1.0
# Аутоматско повећање
xcrun agvtool next-marketing-version
agvtool аутоматски ажурира Info.plist и синхронизује верзију између свих target-ова Xcode пројекта.
Fastlane омогућава управљање Marketing Version на обе платформе из једног скрипта, што поједностављује подршку за cross-platform пројекте.
# Постављање маркетиншке верзије
increment_version_number(
version_number: "2.1.0"
)
# Аутоматско повећање минор верзије
increment_version_number(
bump_type: "minor"
)
Fastlane ради на обе платформе и подржан је од већине CI/CD сервиса.
Често постављана питања
Marketing Version — то је верзија за корисника (приказује се у продавници), Build Number — интерни идентификатор билда. Marketing Version може да се понавља, Build Number мора бити јединствен за сваки билд.
При сваком издању нове функционалности, промени API-ја или великој исправци. За корективна издања (hotfix) Marketing Version се не мора мењати — довољно је повећати Build Number.
На Android-у — да, versionName може садржати било које знакове. На iOS-у — само бројеве и тачке. Apple препоручује придржавање нумеричког формата ради компатибилности са App Store-ом.
Не препоручује се. Продавнице апликација не подржавају враћање верзије. Уместо тога, објавите нову верзију са исправкама и повећајте patч компоненту. Корисници ће се аутоматски пребацити на нову верзију.
Користите заједничку конфигурациону датотеку у корену пројекта (на пример, version.properties). Скриптови за изградњу на обе платформе читају верзију из ове датотеке, гарантујући синхронизацију вредности.
Резиме
Развићемо мобилну апликацију под кључ
IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.
Прочитајте такође