Version Name: parametrin mahiyyəti və qurulması

Müəllif: IT Sectr Dərc olunub: 2026-04-18 Oxuma vaxtı: 8 dəq

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 — App Store, Google Play və istifadəçinin cihazında göstərilən istifadəçi versiya sətri.
  • Android-də build.gradle faylında versionName parametri ilə, iOS-da isə Info.plist-də CFBundleShortVersionString ilə təyin edilir.
  • Build Number-dan fərqli olaraq, Version Name istifadə edilmir qurmaların daxili identifikasiyası üçün və təkrarlana bilər.
  • Semantik format Major.Minor.Patch — Version Name təyin etmək üçün ən geniş yayılmış sxem.
  • CI/CD vasitəsilə Version Name-in artırılmasının avtomatlaşdırılması buraxılış zamanı insan səhvi riskini azaldır.

Version Name nədir

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 versiyanın strukturu

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 harada göstərilir

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

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-də versionName-in xüsusiyyətləri

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

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 ilə inteqrasiya

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 arasındakı fərqlə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 necə seçilməli

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.

Sxem seçimi üzrə tövsiyələr

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.

Version Name konfiqurasiya nümunələri

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ə versionName konfiqurasiyası

Android-də versiya app/build.gradle faylında defaultConfig bloku daxilində təyin edilir. versionName parametri sətr dəyəri qəbul edir.

groovy
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.

versionName-in dinamik generasiyası

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.

groovy
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 CFBundleShortVersionString konfiqurasiyası

iOS-da versiyanı Xcode vasitəsilə və ya agvtool ilə komanda sətrindən təyin etmək olar.

bash
# 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 Build Number-dan nə ilə fərqlənir?

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.

Version Name-də hərflərdən istifadə etmək olarmı?

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.

Version Name-i avtomatik olaraq necə artırmaq olar?

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.

Version Name dəyişdirilməsə nə olar?

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.

Hansı Version Name formatı istifadəçilər üçün daha yaxşıdır?

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ə

  • Version Name — Build Number-dan fərqli olaraq, tətbiq mağazasında və cihazda göstərilən istifadəçi versiya sətridir.
  • Android-də build.gradle-da versionName parametri, iOS-da isə Info.plist-də CFBundleShortVersionString ilə təyin edilir.
  • Semantik format Major.Minor.Patch — istifadəçilər üçün başa düşülən mobil tətbiq versiyalaşdırma standartıdır.
  • Version Name mağaza yeniləmə məntiqində iştirak etmir — bunun üçün Build Number (versionCode / CFBundleVersion) istifadə olunur.
  • CI/CD vasitəsilə versiyalaşdırmanın avtomatlaşdırılması səhv riskini azaldır və buraxılış hazırlığını sürətləndirir.
  • iOS üçün versiyaları idarə etmək üçün komanda sətrindən agvtool, Android üçün isə Gradle Script istifadə edin.
  • Sxem seçimi tətbiqin növündən asılıdır — API olan məhsullar üçün semantik, tez-tez buraxılışlar üçün təqvim.

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.

Layihəni müzakirə et

Həm də oxuyun