Marketing Version: шта је то, разлика од Build Number и инсталација

Аутор: IT Sectr Објављено: 2026-04-18 Време читања: 8 мин

Marketing Version — то је верзија апликације видљива кориснику, која се приказује у продавницама апликација и на уређају. За разлику од Build Number, овај параметар је оријентисан на перцепцију корисника и има семантичко значење. Према Apple Developer, 2025, правилно коришћење Marketing Version повећава поверење корисника у ажурирања.

Главно

  • Marketing Version — низ верзије апликације који корисник види у App Store, Google Play и на уређају.
  • У iOS-у се поставља као CFBundleShortVersionString, у Android-у — као versionName у build.gradle.
  • За разлику од Build Number, Marketing Version не мора да буде јединствена и може се понављати за неколико билдова.
  • Семантички формат Major.Minor.Patch — најраспрострањенија шема, разумљива корисницима.
  • Marketing Version се синхронизује са бројем издања у App Store Connect и Google Play Console ради једнообразности.

Шта је 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 тако да одражава значај промена: мајор ажурирања за радикалне промене, минор — за нове функционалности.

Разлика од интерног Build Number

Marketing Version се суштински разликује од Build Number по намени: први обавештава корисника, други — идентификује билд за продавницу. Build Number може да расте без промене Marketing Version.

На пример, при исправљању критичне грешке у објављеном издању, тим може да поново састави апликацију са истом Marketing Version (1.2.0), али са повећаним Build Number (са 15 на 16). Корисник ће видети исту верзију, али продавница ће разумети да је билд новији.

Таква флексибилност омогућава програмерима да објављују исправке без обавештавања корисника о промени верзије.

Где се приказује Marketing Version

Marketing Version се приказује на неколико кључних тачака интеракције корисника са апликацијом. У продавници апликација видљива је у картици апликације, у опису ажурирања и у историји верзија.

На уређају Marketing Version се приказује у системским подешавањима (одељак „О апликацији" или „Апликације"), у дијалозима ажурирања путем App Store или Google Play, као и унутар саме апликације на екрану „О програму".

Разумљива Marketing Version помаже кориснику да процени актуелност инсталиране верзије и донесе одлуку о ажурирању.

Marketing Version на iOS-у

На 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.

Marketing Version на Android-у

На Android-у Marketing Version се поставља параметром versionName у датотеци build.gradle. За разлику од iOS-а, Android не намеће строга ограничења на формат низа верзије.

versionName може да садржи било које знакове: слова, бројеве, цртице и тачке. Google Play приказује овај низ у картици апликације и на листи ажурирања, али га не проверава у односу на било који шаблон.

Међутим, Google Play препоручује придржавање семантичког формата Major.Minor.Patch ради једнообразности. Ово поједностављује перцепцију верзије од стране корисника и омогућава аутоматизацију анализе ажурирања.

Наведите versionName који јасно одражава тип издања — мајор ажурирање, минор или пач. Ово помаже корисницима да брзо процене значај промена.

Динамичко генерисање versionName

versionName на Android-у може да се генерише динамички на основу Git tag-ова или CI/CD променљивих. Ово поједностављује процес верзионисања и елиминише неслагања између репозиторијума и билда.

Типичан приступ — читање Git tag-а (на пример, v2.1.0) и коришћење његове вредности као versionName. Ако tag не постоји, верзија се може генерисати на основу датума и броја комита.

Такав приступ гарантује да versionName увек одговара стању изворног кода и не захтева ручно ажурирање.

Разлика између Marketing Version и Build Number

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 треба да буде секвенцијалан или сложен, али увек монотоно растући.

Грешке при избору Marketing Version

Типична грешка — прескакање компоненте верзије при преласку на нову мајор линију. На пример, после верзије 1.9.9 следећа треба да буде 2.0.0, а не 1.10.0. Ово нарушава семантику и збуњује кориснике.

Други чест проблем — неслагање Marketing Version у коду и у продавници апликација. Увек проверавајте да се versionName у build.gradle поклапа са верзијом наведеном у Google Play Console или App Store Connect пре слања билда на рецензију.

Примери подешавања Marketing Version

Примери кода показују како поставити Marketing Version на обе платформе и аутоматизовати њено ажурирање.

Подешавање versionName у Android Gradle-у

У Android-у versionName се поставља у build.gradle. Вредност може бити статичка или прочитана из променљиве окружења.

groovy
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-а, што гарантује подударање између верзије у репозиторијуму и у компајлираној апликацији.

Управљање Marketing Version у Xcode-у

У iOS-у Marketing Version се поставља кроз Xcode или agvtool. Команда испод поставља нову маркетиншку верзију.

bash
# Постављање Marketing Version
xcrun agvtool new-marketing-version 2.1.0

# Аутоматско повећање
xcrun agvtool next-marketing-version

agvtool аутоматски ажурира Info.plist и синхронизује верзију између свих target-ова Xcode пројекта.

Fastlane за обе платформе

Fastlane омогућава управљање Marketing Version на обе платформе из једног скрипта, што поједностављује подршку за cross-platform пројекте.

ruby
# Постављање маркетиншке верзије
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 — интерни идентификатор билда. Marketing Version може да се понавља, Build Number мора бити јединствен за сваки билд.

Колико често треба мењати Marketing Version?

При сваком издању нове функционалности, промени API-ја или великој исправци. За корективна издања (hotfix) Marketing Version се не мора мењати — довољно је повећати Build Number.

Могу ли се користити слова у Marketing Version?

На Android-у — да, versionName може садржати било које знакове. На iOS-у — само бројеве и тачке. Apple препоручује придржавање нумеричког формата ради компатибилности са App Store-ом.

Како извршити повраћај Marketing Version?

Не препоручује се. Продавнице апликација не подржавају враћање верзије. Уместо тога, објавите нову верзију са исправкама и повећајте patч компоненту. Корисници ће се аутоматски пребацити на нову верзију.

Како синхронизовати Marketing Version између iOS-а и Android-а?

Користите заједничку конфигурациону датотеку у корену пројекта (на пример, version.properties). Скриптови за изградњу на обе платформе читају верзију из ове датотеке, гарантујући синхронизацију вредности.

Резиме

  • Marketing Version — корисничка верзија апликације, приказана у продавницама и на уређају, оријентисана на перцепцију човека.
  • На iOS-у се поставља кроз CFBundleShortVersionString у Xcode-у, на Android-у — кроз versionName у build.gradle.
  • Marketing Version може да се понавља за неколико билдова, за разлику од јединственог Build Number.
  • Семантичка верзија Major.Minor.Patch — стандард за мобилне апликације са јавним API-јем.
  • Календарско верзионисање одговара апликацијама са честим ажурирањима, где је важна свежина података.
  • Аутоматизација путем agvtool, Gradle или fastlane елиминише неслагања између репозиторијума и билда.
  • Build Number и Marketing Version — независни параметри: управљајте сваким посебно.

Развићемо мобилну апликацију под кључ

IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.

Разговарајте о пројекту

Прочитајте такође