Version Name — је низ верзије апликације који корисник види у продавници и на уређају. За разлику од Build Number, овај параметар има семантичко значење и одражава важност промена. Према Android Developers, 2025, правилно коришћење 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 је видљив кориснику на неколико кључних места. У продавници апликација приказује се у заглављу картице апликације и у листи ажурирања. На уређају — у системским подешавањима у одељку «О апликацији».
У Google Play Version Name се приказује испод назива апликације и утиче на одлуку корисника о ажурирању. У App Store низ верзије се приказује на истом месту при прегледању странице апликације.
Према истраживању Apptentive (2024), 67% корисника проверава верзију апликације пре ажурирања, а разумљива семантика повећава конверзију у инсталацију за 23%.
На Android-у, Version Name се подешава параметром versionName у датотеци build.gradle (нивоа модула). Овај параметар је низ и може да садржи било које знакове, укључујући тачке, цртице и слова.
Параметар се декларише унутар блока android.defaultConfig заједно са обавезним параметром versionCode. Android не намеће ограничења на формат низа, али Google Play препоручује коришћење семантичког формата.
Према Android Developers (2025), Google Play користи versionName за приказ у интерфејсу продавнице, али не анализира његов садржај програмски — само versionCode утиче на логику ажурирања.
Наведите Version Name у формату Major.Minor.Patch и синхронизујте га са тагом у систему контроле верзија за недвосмислену идентификацију издања.
Gradle омогућава подешавање versionName статички у build.gradle или динамички кроз скрипте изградње. Динамичко генерисање је корисно за аутоматске ноћне изградње и CI/CD пајплајнове.
У build.gradle можете користити варијабле окружења, параметре командне линије или позиве шел скрипти за формирање versionName. Типичан приступ је читање верзије из датотеке version.properties.
Оваква флексибилност омогућава тимовима да аутоматизују процес верзионисања и елиминишу људски фактор при припреми издања.
На 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 пружа графички интерфејс за измену 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 је унутрашњи бројчани идентификатор који јединствено идентификује сваку изградњу.
Build Number (versionCode у Android-у, CFBundleVersion у iOS-у) се обавезно повећава са сваком новом изградњом и користи га продавнице апликација за одређивање која је верзија новија. Version Name може да остане непромијењен за више изградњи исте верзије.
Према Google Play Policy (2025), двије апликације са истим versionCode сматрају се истом верзијом — versionCode мора бити јединствен за сваки APK. Version Name не учествује у овој провери.
Увек повећавајте Build Number при свакој изградњи и мењајте 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 на Android-у и iOS-у. За Android се користи Gradle, за iOS — Xcode Build Settings са agvtool.
У Android-у, верзија се подешава у датотеци app/build.gradle унутар блока defaultConfig. Параметар versionName прихвата вредност низа.
android {
defaultConfig {
versionCode 3
versionName "2.1.0"
}
}
versionName се такође може читати из вањске датотеке или динамички генерисати помоћу Gradle Script-а.
Динамичка верзија се формира из промењивих окружења CI/CD система. Ово гарантује да свака изградња добија исправан број верзије.
def getVersionName = {
return System.getenv("VERSION_NAME") ?:
"2.1.0"
}
android {
defaultConfig {
versionName getVersionName()
}
}
Овакав приступ аутоматизује верзионисање и елиминише ризик неусаглашености између изградње и тага у репозиторијумулу.
У iOS-у, верзија се може подесити кроз Xcode или командном линијом путем agvtool.
# Подешавање маркетиншке верзије
xcrun agvtool new-marketing-version 2.1.0
# Читање текуће верзије
xcrun agvtool what-marketing-version
agvtool аутоматски ажурира Info.plist и синхронизује верзију између свих циљева у Xcode пројекту.
Често постављана питања
Version Name — је кориснички низ верзије који се приказује у продавници апликација. Build Number — унутрашњи бројчани идентификатор изградње који јединствено идентификује сваки билд и користи га продавнице за одређивање новине верзије.
У Android-у, versionName може да садржи било које знакове, укључујући слова и цртице. У iOS-у, CFBundleShortVersionString мора да се састоји од бројева одвојених тачкама, иако су дозвољени словни суфикси за pre-release верзије.
Користите CI/CD алате — GitHub Actions, GitLab CI или Jenkins. Скрипта изградње чита текућу верзију из датотеке, повећава потребну компоненту и уписује нову вредност пре изградње издања.
Продавница ће прихватити нову изградњу ако је Build Number повећан. Међутим, корисници неће видети промене у верзији, што може да изазове збуну. Препоручује се промена Version Name при сваком издању нове функционалности.
Формат Major.Minor.Patch — оптималан избор за већину пројеката. Разумљив је корисницима и програмерима, усаглашен са стандардом SemVer и подржан од стране свих продавница апликација.
Закључак
Развићемо мобилну апликацију под кључ
IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.
Прочитајте такође