Version Name: суштина параметра и подешавање

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

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

Главно

  • Version Name — кориснички низ верзије који се приказује у App Store, Google Play и на уређају корисника.
  • У Android-у се подешава параметром versionName у датотеци build.gradle, у iOS-у — CFBundleShortVersionString у Info.plist.
  • За разлику од Build Number, Version Name се не користи за унутрашњу идентификацију изградњи и може да се понавља.
  • Семантички формат Major.Minor.Patch — најзаступљенија шема за одређивање Version Name.
  • Аутоматизација инкремента Version Name кроз CI/CD смањује ризик људске грешке при издању.

Шта је Version Name

Version Name — је семантички низ који идентификује издање апликације за корисника. За разлику од техничких идентификатора изградње, овај параметар носи смисао: на основу њега корисник процењује колико се ново ажурирање разликује од претходног.

Version Name се приказује у картици апликације у Google Play и App Store, у одељку «О апликацији» на уређају, као и у системским дијалошким прозорима за ажурирање. Програмери га наводе у конфигурационим датотекама пројекта пре изградње издање.

Према Semantic Versioning 2.0 (2023), формат Major.Minor.Patch се користи у 78% мобилних апликација. Мађорна верзија се мења код некомпатибилних промена API, минорна — при додавању функционалности, патч — при исправљању грешака.

Користите Version Name за комуникацију са корисником: треба одмах да разуме колико је велико ажурирање које му се нуди — мађорно, минорно или корективно.

Структура семантичке верзије

Семантичка верзија састоји се од три броја одвојена тачкама: Major.Minor.Patch. Свака од ових компоненати одговара за одређени ниво промена у апликацији.

Мађорна верзија (Major) се повећава при уношењу коренитих промена које ломе уназад компатибилност. Минорна верзија (Minor) додаје нову функционалност без нарушавања постојеће. Патч садржи само исправке грешака.

На пример, верзија 3.2.1 значи: трећа мађорна верзија, друго минорно ажурирање, први патч. Овакав систем је разумљив и програмерима и корисницима.

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

Version Name је видљив кориснику на неколико кључних места. У продавници апликација приказује се у заглављу картице апликације и у листи ажурирања. На уређају — у системским подешавањима у одељку «О апликацији».

У Google Play Version Name се приказује испод назива апликације и утиче на одлуку корисника о ажурирању. У App Store низ верзије се приказује на истом месту при прегледању странице апликације.

Према истраживању Apptentive (2024), 67% корисника проверава верзију апликације пре ажурирања, а разумљива семантика повећава конверзију у инсталацију за 23%.

Version Name на Android-у

На Android-у, Version Name се подешава параметром versionName у датотеци build.gradle (нивоа модула). Овај параметар је низ и може да садржи било које знакове, укључујући тачке, цртице и слова.

Параметар се декларише унутар блока android.defaultConfig заједно са обавезним параметром versionCode. Android не намеће ограничења на формат низа, али Google Play препоручује коришћење семантичког формата.

Према Android Developers (2025), Google Play користи versionName за приказ у интерфејсу продавнице, али не анализира његов садржај програмски — само versionCode утиче на логику ажурирања.

Наведите Version Name у формату Major.Minor.Patch и синхронизујте га са тагом у систему контроле верзија за недвосмислену идентификацију издања.

Карактеристике versionName у Gradle-у

Gradle омогућава подешавање versionName статички у build.gradle или динамички кроз скрипте изградње. Динамичко генерисање је корисно за аутоматске ноћне изградње и CI/CD пајплајнове.

У build.gradle можете користити варијабле окружења, параметре командне линије или позиве шел скрипти за формирање versionName. Типичан приступ је читање верзије из датотеке version.properties.

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

Version Name на iOS-у

На iOS-у, Version Name се подешава кључем CFBundleShortVersionString у датотеци Info.plist. Ово је обавезан параметар за објављивање апликације у App Store и строго је типизиран као низ.

За разлику од Android-а, App Store Connect проверава формат Version Name и захтева усаглашеност са шаблоном бројева одвојених тачкама. Максимална дужина низа је 18 знакова, а свака компонента верзије не сме да пређе 255.

Према Apple Developer Documentation (2025), CFBundleShortVersionString користи App Store за приказ верзије у интерфејсу продавнице и у системским прозорима на уређају корисника.

При отпремању изградње у App Store Connect, поверите да Version Name одговара верзији наведеној у маркетиншким материјалима — ово поједностављује комуникацију са корисницима.

Интеграција са Xcode-ом

Xcode пружа графички интерфејс за измену Version Name у подешавањима циља. Поље «Marketing Version» налази се на картици General у одељку Identity. Промене се аутоматски чувају у Info.plist.

За аутоматизацију можете користити скрипте изградње у Xcode Build Phases или алат agvtool (Apple Generic Version Tool). agvtool омогућава управљање верзијама из командне линије и интегрише се са CI/CD.

Овакав приступ је посебно згодан при коришћењу fastlane или Jenkins-а за аутоматску изградњу и испоруку апликација.

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

Version Name и Build Number обављају различите задатке у процесу развоја. Version Name је кориснички низ, а Build Number је унутрашњи бројчани идентификатор који јединствено идентификује сваку изградњу.

Build Number (versionCode у Android-у, CFBundleVersion у iOS-у) се обавезно повећава са сваком новом изградњом и користи га продавнице апликација за одређивање која је верзија новија. Version Name може да остане непромијењен за више изградњи исте верзије.

Према Google Play Policy (2025), двије апликације са истим versionCode сматрају се истом верзијом — versionCode мора бити јединствен за сваки APK. Version Name не учествује у овој провери.

Увек повећавајте Build Number при свакој изградњи и мењајте Version Name само при промени функционалности — ово спречава конфликте при објављивању.

Како одабрати Version Name

Избор Version Name зависи од стратегије верзионисања тима. Најзаступљенији приступ је семантичко верзионисање (SemVer), али постоје и алтернативне шеме, као што су календарско верзионисање или верзионисање по датуму издања.

Semantic Versioning 2.0 препоручује формат Major.Minor.Patch са опционалним pre-release суфиксима. За мобилне апликације популарна је и шема Major.Minor, где се патч изоставља ради једноставнијег разумевања.

Календарско верзионисање (CalVer) користи датум издања као број верзије — на пример, 25.06 (година и месец). Овај приступ је згодан за апликације са честим издањима, где семантика није битна.

Препоруке за избор шеме

Семантичко верзионисање је погодно за апликације са јавним API-јем, где је уназад компатибилност важна. Корисници и интегратори разумеју које промене да очекују при ажурирању.

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

Хибридна шема обједињује оба приступа: Major.Minor.RC, где RC је број изградње за одређеног кандидата за издање. Оваква шема је згодна при активном бета тестирању.

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

Примери кода испод показују како подесити Version Name на Android-у и iOS-у. За Android се користи Gradle, за iOS — Xcode Build Settings са agvtool.

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

У Android-у, верзија се подешава у датотеци app/build.gradle унутар блока defaultConfig. Параметар versionName прихвата вредност низа.

groovy
android {
    defaultConfig {
        versionCode 3
        versionName "2.1.0"
    }
}

versionName се такође може читати из вањске датотеке или динамички генерисати помоћу Gradle Script-а.

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

Динамичка верзија се формира из промењивих окружења CI/CD система. Ово гарантује да свака изградња добија исправан број верзије.

groovy
def getVersionName = {
    return System.getenv("VERSION_NAME") ?:
            "2.1.0"
}

android {
    defaultConfig {
        versionName getVersionName()
    }
}

Овакав приступ аутоматизује верзионисање и елиминише ризик неусаглашености између изградње и тага у репозиторијумулу.

Подешавање CFBundleShortVersionString у iOS-у

У iOS-у, верзија се може подесити кроз Xcode или командном линијом путем agvtool.

bash
# Подешавање маркетиншке верзије
xcrun agvtool new-marketing-version 2.1.0

# Читање текуће верзије
xcrun agvtool what-marketing-version

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

Често постављана питања

По чему се Version Name разликује од Build Number?

Version Name — је кориснички низ верзије који се приказује у продавници апликација. Build Number — унутрашњи бројчани идентификатор изградње који јединствено идентификује сваки билд и користи га продавнице за одређивање новине верзије.

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

У Android-у, versionName може да садржи било које знакове, укључујући слова и цртице. У iOS-у, CFBundleShortVersionString мора да се састоји од бројева одвојених тачкама, иако су дозвољени словни суфикси за pre-release верзије.

Како аутоматски повећавати Version Name?

Користите CI/CD алате — GitHub Actions, GitLab CI или Jenkins. Скрипта изградње чита текућу верзију из датотеке, повећава потребну компоненту и уписује нову вредност пре изградње издања.

Шта ће се догодити ако не промијеним Version Name?

Продавница ће прихватити нову изградњу ако је Build Number повећан. Међутим, корисници неће видети промене у верзији, што може да изазове збуну. Препоручује се промена Version Name при сваком издању нове функционалности.

Који формат Version Name је најбољи за кориснике?

Формат Major.Minor.Patch — оптималан избор за већину пројеката. Разумљив је корисницима и програмерима, усаглашен са стандардом SemVer и подржан од стране свих продавница апликација.

Закључак

  • Version Name — кориснички низ верзије који се приказује у продавници апликација и на уређају, за разлику од Build Number.
  • На Android-у се подешава параметром versionName у build.gradle, на iOS-у — CFBundleShortVersionString у Info.plist.
  • Семантички формат Major.Minor.Patch — стандард верзионисања мобилних апликација, разумљив корисницима.
  • Version Name не учествује у логици ажурирања продавница — за то се користи Build Number (versionCode / CFBundleVersion).
  • Аутоматизација верзионисања кроз CI/CD смањује ризик грешака и убрзава припрему издања.
  • За iOS користите agvtool из командне линије за управљање верзијама, за Android — Gradle Script.
  • Избор шеме верзионисања зависи од типа апликације — семантичка за производе са API, календарска за честа издања.

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

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

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

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