Version Name: parametr mohiyati va o‘rnatilishi

Muallif: IT Sectr Nashr etilgan: 2026-04-18 O'qish vaqti: 8 daq

Version Name — bu foydalanuvchi do’konda va qurilmada ko‘radigan ilova versiyasining satridir. Build Number-dan farqli o‘laroq, bu parametr semantik ahamiyatga ega va o‘zgarishlarning muhimligini aks ettiradi. Android Developers, 2025 ma’lumotlariga ko‘ra, Version Name dan to‘g‘ri foydalanish foydalanuvchilarga yangilanishlarning dolzarbligini tushunishga va ishlanma jarayoniga ishonishga yordam beradi.

Asosiy

  • Version Name — App Store, Google Play va foydalanuvchi qurilmasida ko‘rsatiladigan foydalanuvchi versiya satri.
  • Android-da build.gradle faylida versionName parametri bilan, iOS-da esa Info.plist-da CFBundleShortVersionString bilan o‘rnatiladi.
  • Build Number-dan farqli o‘laroq, Version Name qurilmalarning ichki identifikatsiyasi uchun ishlatilmaydi va takrorlanishi mumkin.
  • Semantik format Major.Minor.Patch — Version Name ni belgilashning eng keng tarqalgan sxemasi.
  • CI/CD orqali Version Name inkrementatsiyasini avtomatlashtirish chiqarishda inson xatosi xavfini kamaytiradi.

Version Name nima

Version Name — bu ilova chiqarilishini foydalanuvchi uchun identifikatsiyalovchi semantik satrdir. Texnik qurilma identifikatorlaridan farqli o‘laroq, bu parametr ma’no yukiga ega: uning asosida foydalanuvchi yangi yangilanish avvalgisidan qanchalik farq qilishini baholaydi.

Version Name Google Play va App Store-da ilova kartasida, qurilmadagi „Ilova haqida” bo‘limida, shuningdek tizim yangilanish dialoglarida ko‘rsatiladi. Dasturchilar uni reliz versiyasini yig‘ishdan oldin loyihaning konfiguratsiya fayllarida ko‘rsatadilar.

Semantic Versioning 2.0 (2023) ma’lumotlariga ko‘ra, Major.Minor.Patch formati mobil ilovalarning 78 foizida qo‘llaniladi. Major versiya API-dagi mos kelmaydigan o‘zgarishlarda, minor — funksionallik qo‘shilganda, patch — xatolar tuzatilganda o‘zgaradi.

Version Name dan foydalanuvchi bilan muloqot qilish uchun foydalaning: u darhol qanday hajmdagi yangilanish taklif qilinayotganini tushunishi kerak — major, minor yoki tuzatuvchi.

Semantik versiya tuzilishi

Semantik versiya nuqtalar bilan ajratilgan uchta raqamdan iborat: Major.Minor.Patch. Ushbu komponentlarning har biri ilovadagi o‘zgarishlarning ma’lum darajasiga javob beradi.

Major versiya (Major) orqaga qaytariluvchanlikni buzadigan tub o‘zgarishlar kiritilganda oshadi. Minor versiya (Minor) mavjud funksionallikni buzmasdan yangi funksiyalar qo‘shadi. Patch faqat xato tuzatishlarini o‘z ichiga oladi.

Masalan, 3.2.1 versiyasi: uchinchi major versiya, ikkinchi minor yangilanish, birinchi patch. Bu tizim ham dasturchilar, ham foydalanuvchilar uchun tushunarli.

Version Name qayerda ko‘rsatiladi

Version Name foydalanuvchi uchun bir nechta asosiy joylarda ko‘rinadi. Ilovalar do‘konida ilova kartasi sarlavhasida va yangilanishlar ro‘yxatida ko‘rsatiladi. Qurilmada — „Ilova haqida” bo‘limidagi tizim sozlamalarida.

Google Play da Version Name ilova nomi ostida ko‘rsatiladi va foydalanuvchining yangilanish haqidagi qaroriga ta’sir qiladi. App Store-da versiya satri ilova sahifasini ko‘rishda xuddi shu joyda ko‘rsatiladi.

Apptentive (2024) tadqiqotiga ko‘ra, foydalanuvchilarning 67 foizi yangilashdan oldin ilova versiyasini tekshiradi va tushunarli semantika o‘rnatish konversiyasini 23 foizga oshiradi.

Android-da Version Name

Android da Version Name build.gradle faylida (modul darajasida) versionName parametri bilan o‘rnatiladi. Bu parametr satr bo‘lib, nuqtalar, defislar va harflarni o‘z ichiga olgan holda istalgan belgilarni o‘z ichiga olishi mumkin.

Parametr majburiy versionCode parametri bilan birga android.defaultConfig bloki ichida e’lon qilinadi. Android satr formatiga cheklovlar qo‘ymaydi, ammo Google Play semantik formatdan foydalanishni tavsiya qiladi.

Android Developers (2025) ma’lumotlariga ko‘ra, Google Play versionName dan do‘kon interfeysida ko‘rsatish uchun foydalanadi, lekin uning mazmunini dasturiy tahlil qilmaydi — faqat versionCode yangilanish mantiqiga ta’sir qiladi.

Version Name ni Major.Minor.Patch formatida ko‘rsating va chiqarishni aniq identifikatsiyalash uchun versiyani boshqarish tizimidagi teg bilan sinxronlashtiring.

Gradle-da versionName xususiyatlari

Gradle versionName ni build.gradle-da statik yoki yig‘ish skriptlari orqali dinamik o‘rnatishga imkon beradi. Dinamik generatsiya avtomatik tungi qurilmalar va CI/CD quvurlari uchun foydalidir.

build.gradle da versionName yaratish uchun atrof-muhit o‘zgaruvchilari, buyruq satri parametrlari yoki shell skript chaqiruvlaridan foydalanishingiz mumkin. Oddiy yondashuv version.properties faylidan versiyani o‘qishdir.

Bunday moslashuvchanlik jamoalarga versiyalash jarayonini avtomatlashtirish va chiqarishni tayyorlashda inson omilini bartaraf etish imkonini beradi.

iOS-da Version Name

iOS da Version Name Info.plist faylida CFBundleShortVersionString kaliti bilan o‘rnatiladi. Bu App Store-da ilovani nashr etish uchun majburiy parametr bo‘lib, qat’iy satr sifatida tiplangan.

Android-dan farqli o‘laroq, App Store Connect Version Name formatini tekshiradi va nuqtalar bilan ajratilgan raqamlar shabloniga moslikni talab qiladi. Satrning maksimal uzunligi 18 belgi va versiyaning har bir komponenti 255 dan oshmasligi kerak.

Apple Developer Documentation (2025) ma’lumotlariga ko‘ra, CFBundleShortVersionString App Store tomonidan do‘kon interfeysida va foydalanuvchi qurilmasidagi tizim dialoglarida versiyani ko‘rsatish uchun ishlatiladi.

App Store Connect ga qurilma yuklashda Version Name marketing materiallarida ko‘rsatilgan versiyaga mos kelishiga ishonch hosil qiling — bu foydalanuvchilar bilan muloqotni soddalashtiradi.

Xcode bilan integratsiya

Xcode target sozlamalarida Version Name ni o‘zgartirish uchun grafik interfeysni taqdim etadi. „Marketing Version” maydoni Identity bo‘limidagi General varag‘ida joylashgan. O‘zgarishlar avtomatik ravishda Info.plist da saqlanadi.

Avtomatlashtirish uchun Xcode Build Phases da yig‘ish skriptlari yoki agvtool (Apple Generic Version Tool) yordam dasturidan foydalanishingiz mumkin. agvtool buyruq satridan versiyalarni boshqarish va CI/CD bilan integratsiyalash imkonini beradi.

Bunday yondashuv avtomatik qurish va ilovalarni yetkazib berish uchun fastlane yoki Jenkins dan foydalanishda ayniqsa qulaydir.

Version Name va Build Number o‘rtasidagi farqlar

Version Name va Build Number ishlanma jarayonida turli vazifalarni bajaradi. Version Name foydalanuvchi satri, Build Number esa har bir qurilmani noyob tarzda identifikatsiyalovchi ichki raqamli identifikatordir.

Build Number (Android-da versionCode, iOS-da CFBundleVersion) har bir yangi qurilma bilan majburiy oshiriladi va ilovalar do‘konlari tomonidan qaysi versiya yangi ekanligini aniqlash uchun ishlatiladi. Version Name bir xil versiyaning bir nechta qurilmalari uchun o‘zgarmas qolishi mumkin.

Google Play Policy (2025) ga ko‘ra, bir xil versionCode ga ega ikkita ilova bir xil versiya hisoblanadi — versionCode har bir APK uchun noyob bo‘lishi kerak. Version Name bu tekshiruvda ishtirok etmaydi.

Har bir qurilmada Build Number ni oshiring va Version Name ni faqat funksionallik o‘zgarganda o‘zgartiring — bu nashr paytida ziddiyatlarning oldini oladi.

Version Name ni qanday tanlash kerak

Version Name ni tanlash jamoaning versiyalash strategiyasiga bog‘liq. Eng keng tarqalgan yondashuv semantik versiyalash (SemVer) dir, ammo kalendar versiyalash yoki chiqarish sanasi bo‘yicha versiyalash kabi muqobil sxemalar ham mavjud.

Semantic Versioning 2.0 ixtiyoriy pre-release suffikslari bilan Major.Minor.Patch formatini tavsiya qiladi. Mobil ilovalar uchun idrokni soddalashtirish uchun patch versiyasi tushirib qoldiriladigan Major.Minor sxemasi ham mashhur.

Kalendar versiyalash (CalVer) versiya raqami sifatida chiqarish sanasidan foydalanadi — masalan, 25.06 (yil va oy). Bu yondashuv semantika ahamiyatli bo‘lmagan tez-tez chiqariladigan ilovalar uchun qulaydir.

Sxemani tanlash bo‘yicha tavsiyalar

Semantik versiyalash orqaga qaytariluvchanlik muhim bo‘lgan ochiq API li ilovalar uchun mos keladi. Foydalanuvchilar va integratorlar yangilanishda qanday o‘zgarishlarni kutish kerakligini tushunadilar.

Kalendar versiyalash foydalanuvchi uchun o‘zgarishlar hajmi emas, balki chiqarishning yangiligi muhim bo‘lgan ilovalar uchun tanlanadi. Masalan, yangiliklar agregatorlari yoki ob-havo ilovalari.

Gibrid sxema ikkala yondashuvni birlashtiradi: Major.Minor.RC, bu erda RC ma’lum bir chiqarish nomzodi uchun qurilma raqamidir. Bunday sxema faol beta-testlashda qulaydir.

Version Name sozlash misollari

Kod misollari quyida Android va iOS da Version Name ni qanday o‘rnatishni ko‘rsatadi. Android uchun Gradle, iOS uchun agvtool bilan Xcode Build Settings ishlatiladi.

Android da versionName sozlash

Android da versiya app/build.gradle faylida defaultConfig bloki ichida o‘rnatiladi. versionName parametri satr qiymatini qabul qiladi.

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

versionName shuningdek tashqi fayldan o‘qilishi yoki Gradle Script yordamida dinamik yaratilishi mumkin.

versionName ni dinamik generatsiyasi

Dinamik versiya CI/CD tizimining atrof-muhit o‘zgaruvchilaridan shakllantiriladi. Bu har bir qurilmaning to‘g‘ri versiya raqamini olishini kafolatlaydi.

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

android {
    defaultConfig {
        versionName getVersionName()
    }
}

Bunday yondashuv versiyalashni avtomatlashtiradi va qurilma bilan repozitordagi teg o‘rtasidagi nomuvofiqlik xavfini bartaraf etadi.

iOS da CFBundleShortVersionString sozlash

iOS da versiyani Xcode orqali yoki agvtool bilan buyruq satridan o‘rnatish mumkin.

bash
# Marketing versiyasini o‘rnatish
xcrun agvtool new-marketing-version 2.1.0

# Joriy versiyani o‘qish
xcrun agvtool what-marketing-version

agvtool avtomatik ravishda Info.plist ni yangilaydi va versiyani Xcode loyihasidagi barcha targetlar o‘rtasida sinxronlashtiradi.

Tez-tez so‘raladigan savollar

Version Name Build Number dan qanday farq qiladi?

Version Name — ilovalar do‘konida ko‘rsatiladigan foydalanuvchi versiya satri. Build Number — har bir qurilmani noyob tarzda identifikatsiyalovchi va do‘konlar tomonidan versiyaning yangiligini aniqlash uchun ishlatiladigan ichki raqamli identifikator.

Version Name da harflardan foydalanish mumkinmi?

Android da versionName harflar va defislarni o‘z ichiga olgan holda istalgan belgilarni o‘z ichiga olishi mumkin. iOS da CFBundleShortVersionString nuqtalar bilan ajratilgan raqamlardan iborat bo‘lishi kerak, garchi pre-release versiyalar uchun harfli suffikslarga ruxsat berilgan bo‘lsa ham.

Version Name ni avtomatik ravishda qanday oshirish mumkin?

CI/CD vositalaridan foydalaning — GitHub Actions, GitLab CI yoki Jenkins. Qurilma skripti fayldan joriy versiyani o‘qiydi, kerakli komponentni oshiradi va chiqarish qurilmasidan oldin yangi qiymatni yozadi.

Version Name o‘zgartirilmasa nima bo‘ladi?

Do‘kon yangi qurilmani qabul qiladi, agar Build Number oshirilgan bo‘lsa. Biroq foydalanuvchilar versiyadagi o‘zgarishlarni ko‘rmaydilar, bu chalkashlikka olib kelishi mumkin. Har bir yangi funksionallik chiqarilishida Version Name ni o‘zgartirish tavsiya etiladi.

Qaysi Version Name formati foydalanuvchilar uchun yaxshiroq?

Major.Minor.Patch formati — aksariyat loyihalar uchun optimal tanlov. Foydalanuvchilar va dasturchilar uchun tushunarli, SemVer standartiga mos keladi va barcha ilovalar do‘konlari tomonidan qo‘llab-quvvatlanadi.

Xulosa

  • Version Name — Build Number dan farqli o‘laroq, ilovalar do‘konida va qurilmada ko‘rsatiladigan foydalanuvchi versiya satri.
  • Android da build.gradle da versionName parametri bilan, iOS da esa Info.plist da CFBundleShortVersionString bilan o‘rnatiladi.
  • Semantik format Major.Minor.Patch — foydalanuvchilar uchun tushunarli bo‘lgan mobil ilovalarni versiyalash standarti.
  • Version Name do‘konlarning yangilanish mantiqida ishtirok etmaydi — buning uchun Build Number (versionCode / CFBundleVersion) ishlatiladi.
  • CI/CD orqali versiyalashni avtomatlashtirish xatolar xavfini kamaytiradi va chiqarish tayyorlashni tezlashtiradi.
  • iOS uchun versiyalarni boshqarish uchun buyruq satridan agvtool, Android uchun esa Gradle Script dan foydalaning.
  • Sxema tanlash ilova turiga bog‘liq — API li mahsulotlar uchun semantik, tez-tez chiqarishlar uchun kalendar.

Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz

IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.

Loyihani muhokama qilish

Shuningdek o'qing