Version Name — istifadəçinin mağazada və cihazda gördüyü tətbiq versiyası sətridir. Build Number-dan fərqli olaraq, bu parametr semantik məna daşıyır və dəyişikliklərin əhəmiyyətini əks etdirir. Android Developers, 2025-in məlumatlarına görə, Version Name-in düzgün istifadəsi istifadəçilərə yeniləmələrin aktuallığını anlamağa və inkişaf prosesinə güvənməyə kömək edir.
Başlıca
Version Name — tətbiqin buraxılışını istifadəçi üçün müyyənləşdirən semantik sətirdir. Texniki qurma identifikatorlarından fərqli olaraq, bu parametr məna yükü daşıyır: onun vasitəsilə istifadəçi yeni yeniləmənin əvvəlkindən nə qədər fərqləndiyini qiymətləndirir.
Version Name Google Play və App Store-da tətbiq kartında, cihazda „Tətbiq haqqında” bölməsində, həmçinin sistem yeniləmə dialoqlarında göstərilir. Tərtibatçılar buraxılış versiyasını yığmadan əvvəl onu layihənin konfiqurasiya fayllarında qeyd edirlər.
Semantic Versioning 2.0 (2023)-in məlumatlarına görə, Major.Minor.Patch formatı mobil tətbiqlərin 78%-də istifadə olunur. Major versiya API-də uyğunsuz dəyişikliklər olduqda, minor — funksionallıq əlavə edildikdə, patch — səhvlər düzəldildikdə dəyişir.
Version Name-dən istifadəçi ilə ünsiyyət üçün istifadə edin: o, dərhal anlamalıdır ki, ona hansı ölçüdə yeniləmə təklif olunur — major, minor və ya düzəliş.
Semantik versiya nöqtələrlə ayrılan üç rəqəmdən ibarətdir: Major.Minor.Patch. Bu komponentlərin hər biri tətbiqdə müəyyən dəyişiklik səviyyəsinə cavabdehdir.
Major versiya (Major) geriyə uyğunluğu pozan köklü dəyişikliklər edildikdə artır. Minor versiya (Minor) mövcud funksionallığı pozmadan yeni funksiyalar əlavə edir. Patch yalnız səhv düzəlişlərini ehtiva edir.
Məsələn, 3.2.1 versiyası deməkdir: üçüncü major versiya, ikinci minor yeniləmə, birinci patch. Bu sistem həm tərtibatçılar, həm də istifadəçilər üçün başa düşüləndir.
Version Name istifadəçi üçün bir neçə əsas yerdə görünür. Tətbiq mağazasında tətbiq kartının başlığında və yeniləmələr siyahısında göstərilir. Cihazda — „Tətbiq haqqında” bölməsindəki sistem parametrlərində.
Google Play-də Version Name tətbiqin adı altında göstərilir və istifadəçinin yeniləmə qərarına təsir edir. App Store-da versiya sətri tətbiq səhifəsinə baxarkın eyni yerdə göstərilir.
Apptentive (2024) tərəfindən aparılan araşdırmaya görə, istifadəçilərin 67%-i yeniləmədən əvvəl tətbiqin versiyasını yoxlayır və başa düşülən semantika quraşdırma konversiyasını 23% artırır.
Android-də Version Name build.gradle faylında (modul səviyyəsində) versionName parametri ilə təyin edilir. Bu parametr sətirdir və nöqtələr, defislər və hərflər daxil olmaqla istənilən simvolları ehtiva edə bilər.
Parametr məcburi versionCode parametri ilə birlikdə android.defaultConfig bloku daxilində elan edilir. Android sətir formatına məhdudiyyət qoymur, lakin Google Play semantik formatdan istifadə etməyi tövsiyə edir.
Android Developers (2025)-in məlumatlarına görə, Google Play versionName-dən mağaza interfeysində göstərmək üçün istifadə edir, lakin onun məzmununu proqram şəkildə təhlil etmir — yalnız versionCode yeniləmə məntiqinə təsir edir.
Version Name-i Major.Minor.Patch formatında qeyd edin və buraxılışın dəqiq müyyənləşdirilməsi üçün versiya idarəetmə sistemindəki tag ilə sinxronlaşdırın.
Gradle versionName-in build.gradle-da statik və ya yığma skriptləri vasitəsilə dinamik olaraq təyin edilməsinə imkan verir. Dinamik generasiya avtomatik gecə qurmaları və CI/CD pipeline-ları üçün faydalıdır.
build.gradle-də versionName yaratmaq üçün ətraf mühit dəyişənləri, komanda sətri parametrləri və ya shell skript çağırışlarından istifadə edə bilərsiniz. Tipik yanaşma version.properties faylından versiyanı oxumaqdır.
Belə elastiklik komandalara versiyalaşdırma prosesini avtomatlaşdırmağa və buraxılış hazırlığı zamanı insan faktorunu aradan qaldırmağa imkan verir.
iOS-da Version Name Info.plist faylında CFBundleShortVersionString açarı ilə təyin edilir. Bu, App Store-da tətbiq dərc etmək üçün məcburi parametrdir və ciddi şəkildə sətr kimi tipləşdirilir.
Android-dən fərqli olaraq, App Store Connect Version Name formatını yoxlayır və nöqtələrlə ayrılan rəqəm şablonuna uyğunluq tələb edir. Sətrin maksimum uzunluğu 18 simvoldur və versiyanın hər bir komponenti 255-i keçə bilməz.
Apple Developer Documentation (2025)-in məlumatlarına görə, CFBundleShortVersionString App Store tərəfindən mağaza interfeysində və istifadəçinin cihazındakı sistem dialoqlarında versiyanı göstərmək üçün istifadə olunur.
App Store Connect-ə qurma yükləyərkən Version Name-in marketinq materiallarında göstərilən versiyaya uyğun olduğuna əmin olun — bu, istifadəçilərlə ünsiyyəti asanlaşdırır.
Xcode target parametrlərində Version Name-i dəyişdirmək üçün qrafik interfeys təqdim edir. „Marketing Version” sahəsi Identity bölməsində General vərəqində yerləşir. Dəyişikliklər avtomatik olaraq Info.plist-də saxlanılır.
Avtomatlaşdırma üçün Xcode Build Phases-da yığma skriptləri və ya agvtool (Apple Generic Version Tool) yardımçı proqramından istifadə edə bilərsiniz. agvtool komanda sətrindən versiyaları idarə etməyə və CI/CD ilə inteqrasiyaya imkan verir.
Belə yanaşma avtomatik qurma və tətbiqlərin çatdırılması üçün fastlane və ya Jenkins istifadə edərkən xüsusilə rahatdır.
Version Name və Build Number inkişaf prosesində müxtəlif vəzifələri yerinə yetirir. Version Name istifadəçi sətri, Build Number isə hər bir qurmanı unikal şəkildə müyyənləşdirən daxili rəqəmsal identifikatordur.
Build Number (Android-də versionCode, iOS-da CFBundleVersion) hər yeni qurma ilə mütləq artırılmalıdır və tətbiq mağazaları tərəfindən hansı versiyanın daha yeni olduğunu müyyənləşdirmək üçün istifadə olunur. Version Name eyni versiyanın bir neçə qurması üçün dəyişməz qala bilər.
Google Play Policy (2025)-yə görə, eyni versionCode-a malik iki tətbiq eyni versiya hesab olunur — versionCode hər APK üçün unikal olmalıdır. Version Name bu yoxlamada iştirak etmir.
Hər qurmada Build Number-i artırın və Version Name-i yalnız funksionallıq dəyişərkən dəyişdirin — bu, nəşr zamanı münaqişələrin qarşısını alır.
Version Name seçimi komandanın versiyalaşdırma strategiyasından asılıdır. Ən geniş yayılmış yanaşma semantik versiyalaşdırmadır (SemVer), lakin təqvim versiyalaşdırması və ya buraxılış tarixinə görə versiyalaşdırma kimi alternativ sxemlər də mövcuddur.
Semantic Versioning 2.0 isteğə bağlı pre-release suffiksləri ilə Major.Minor.Patch formatını tövsiyə edir. Mobil tətbiqlər üçün qavrayışı asanlaşdırmaq üçün patch versiyasının buraxıldığı Major.Minor sxemi də populyardır.
Təqvim versiyalaşdırması (CalVer) versiya nömrəsi kimi buraxılış tarixindən istifadə edir — məsələn, 25.06 (il və ay). Bu yanaşma semantikanın əhəmiyyət kəsb etmədiyi tez-tez buraxılışları olan tətbiqlər üçün əlverişlidir.
Semantik versiyalaşdırma geriyə uyğunluğun vacib olduğu açıq API-si olan tətbiqlər üçün uyğundur. İstifadəçilər və inteqratorlar yeniləmə zamanı hansı dəyişikliklərin gözlənildiyini başa düşürlər.
Təqvim versiyalaşdırması istifadəçi üçün dəyişikliklərin həcmi deyil, buraxılışın təzəliyinin vacib olduğu tətbiqlər üçün seçilir. Məsələn, xəbər toplayıcıları və ya hava proqnozu tətbiqləri.
Hibrid sxem hər iki yanaşmanı birləşdirir: Major.Minor.RC, burada RC konkret buraxılış namizədi üçün qurma nömrəsidir. Belə sxem aktiv beta-test zamanı rahatdır.
Kod nümunələri aşağıda Android və iOS-da Version Name-in necə təyin edildiyini göstərir. Android üçün Gradle, iOS üçün isə agvtool ilə Xcode Build Settings istifadə olunur.
Android-də versiya app/build.gradle faylında defaultConfig bloku daxilində təyin edilir. versionName parametri sətr dəyəri qəbul edir.
android {
defaultConfig {
versionCode 3
versionName "2.1.0"
}
}
versionName həmçinin xarici fayldan oxuna və ya Gradle Script vasitəsilə dinamik olaraq yaradıla bilər.
Dinamik versiya CI/CD sisteminin ətraf mühit dəyişənlərindən formalaşdırılır. Bu, hər bir qurmanın düzgün versiya nömrəsi almasını təmin edir.
def getVersionName = {
return System.getenv("VERSION_NAME") ?:
"2.1.0"
}
android {
defaultConfig {
versionName getVersionName()
}
}
Belə yanaşma versiyalaşdırmanı avtomatlaşdırır və qurma ilə depodakı tag arasında uyğunsuzluq riskini aradan qaldırır.
iOS-da versiyanı Xcode vasitəsilə və ya agvtool ilə komanda sətrindən təyin etmək olar.
# Marketinq versiyasının qurulması
xcrun agvtool new-marketing-version 2.1.0
# Cari versiyanın oxunması
xcrun agvtool what-marketing-version
agvtool avtomatik olaraq Info.plist-i yeniləyir və versiyanı Xcode layihəsindəki bütün targetlər arasında sinxronlaşdırır.
Tez-tez verilən suallar
Version Name — tətbiq mağazasında göstərilən istifadəçi versiya sətridir. Build Number — hər bir qurmanı unikal şəkildə müyyənləşdirən və mağazalar tərəfindən versiyanın yeniliyini müyyənləşdirmək üçün istifadə olunan daxili rəqəmsal identifikatordur.
Android-də versionName hərflər və defislər daxil olmaqla istənilən simvolları ehtiva edə bilər. iOS-da CFBundleShortVersionString nöqtələrlə ayrılan rəqəmlərdən ibarət olmalıdır, baxmayaraq ki, pre-release versiyalar üçün hərf suffikslərinə icazə verilir.
CI/CD alətlərindən istifadə edin — GitHub Actions, GitLab CI və ya Jenkins. Qurma skripti fayldan cari versiyanı oxuyur, lazımi komponenti artırır və buraxılış qurmasından əvvəl yeni dəyəri yazır.
Build Number artırılıbsa, mağaza yeni qurmanı qəbul edəcək. Lakin istifadəçilər versiyada dəyişiklik görməyəcək, bu da qarışıqlığa səbəb ola bilər. Hər yeni funksionallıq buraxılışında Version Name-in dəyişdirilməsi tövsiyə olunur.
Major.Minor.Patch formatı əksər layihələr üçün optimal seçimdir. İstifadəçilər və tərtibatçılar üçün başa düşüləndir, SemVer standartına uyğundur və bütün tətbiq mağazaları tərəfindən dəstəklənir.
Nəticə
Açar təslim mobil tətbiq hazırlayacağıq
IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.
Həm də oxuyun