Version Name: सार, पैरामीटर का अर्थ और सेटअप

लेखक: IT Sectr प्रकाशित: 2026-04-18 पढ़ने का समय: 8 मिनट

Version Name वह वर्जन स्ट्रिंग है जिसे उपयोगकर्ता स्टोर और डिवाइस पर देखता है। Build Number के विपरीत, इस पैरामीटर का सिमैंटिक अर्थ होता है और यह बदलावों के महत्व को दर्शाता है। Android Developers, 2025 के अनुसार, Version Name का सही उपयोग उपयोगकर्ताओं को अपडेट की प्रासंगिकता समझने और डेवलपमेंट प्रक्रिया पर भरोसा करने में मदद करता है।

मुख्य बिंदु

  • Version Name एक उपयोगकर्ता-सामना वाली वर्जन स्ट्रिंग है, जो App Store, Google Play और उपयोगकर्ता के डिवाइस पर प्रदर्शित होती है।
  • Android में यह build.gradle फ़ाइल में versionName पैरामीटर द्वारा सेट किया जाता है, iOS में — Info.plist में CFBundleShortVersionString द्वारा।
  • Build Number के विपरीत, Version Name उपयोग नहीं किया जाता आंतरिक बिल्ड पहचान के लिए और इसे दोहराया जा सकता है।
  • सिमैंटिक प्रारूप Major.Minor.Patch Version Name परिभाषित करने के लिए सबसे सामान्य योजना है।
  • CI/CD के माध्यम से Version Name इंक्रीमेंट का ऑटोमेशन रिलीज़ के दौरान मानवीय त्रुटि के जोखिम को कम करता है।

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) मौजूदा कार्यक्षमता को तोड़े बिना नई कार्यक्षमता जोड़ता है। पैच (Patch) में केवल बग फिक्स होते हैं।

उदाहरण के लिए, वर्जन 3.2.1 का अर्थ है: तीसरा मेजर वर्जन, दूसरा माइनर अपडेट, पहला पैच। यह प्रणाली डेवलपर्स और उपयोगकर्ताओं दोनों के लिए समझने योग्य है।

Version Name कहाँ प्रदर्शित होता है

Version Name कई प्रमुख स्थानों पर उपयोगकर्ता को दिखाई देता है। ऐप स्टोर में, यह एप्लिकेशन कार्ड हेडर और अपडेट सूची में दिखाई देता है। डिवाइस पर, यह "ऐप के बारे में" अनुभाग में सिस्टम सेटिंग्स में दिखाई देता है।

Google Play पर, Version Name एप्लिकेशन नाम के नीचे दिखाया जाता है और उपयोगकर्ता के अपडेट करने के निर्णय को प्रभावित करता है। App Store में, वर्जन स्ट्रिंग एप्लिकेशन पेज देखते समय उसी स्थान पर प्रदर्शित होती है।

Apptentive (2024) शोध के अनुसार, 67% उपयोगकर्ता अपडेट करने से पहले ऐप वर्जन की जाँच करते हैं, और स्पष्ट सिमैंटिक्स इंस्टॉल कन्वर्ज़न को 23% तक बढ़ाते हैं।

Android पर Version Name

Android पर, Version Name build.gradle फ़ाइल (मॉड्यूल स्तर) में versionName पैरामीटर द्वारा सेट किया जाता है। यह पैरामीटर एक स्ट्रिंग है और इसमें बिंदु, हाइफ़न और अक्षर सहित कोई भी वर्ण हो सकते हैं।

पैरामीटर अनिवार्य versionCode पैरामीटर के साथ android.defaultConfig ब्लॉक के अंदर घोषित किया जाता है। Android स्ट्रिंग प्रारूप पर कोई प्रतिबंध नहीं लगाता है, लेकिन Google Play सिमैंटिक प्रारूप का उपयोग करने की अनुशंसा करता है।

Android Developers (2025) के अनुसार, Google Play स्टोर इंटरफ़ेस में प्रदर्शन के लिए versionName का उपयोग करता है लेकिन प्रोग्रामेटिक रूप से इसकी सामग्री का विश्लेषण नहीं करता — केवल versionCode अपडेट तर्क को प्रभावित करता है।

Version Name को Major.Minor.Patch प्रारूप में निर्दिष्ट करें और असंदिग्ध रिलीज़ पहचान के लिए इसे वर्जन कंट्रोल सिस्टम में टैग के साथ सिंक्रोनाइज़ करें।

Gradle में versionName की विशेषताएँ

Gradle build.gradle में स्थिर रूप से या बिल्ड स्क्रिप्ट के माध्यम से गतिशील रूप से versionName सेट करने की अनुमति देता है। गतिशील जनरेशन स्वचालित रात्रिकालीन बिल्ड और CI/CD पाइपलाइनों के लिए उपयोगी है।

build.gradle में, versionName बनाने के लिए पर्यावरण चर, कमांड-लाइन पैरामीटर या शेल स्क्रिप्ट कॉल का उपयोग किया जा सकता है। एक विशिष्ट दृष्टिकोण version.properties फ़ाइल से वर्जन पढ़ना है।

यह लचीलापन टीमों को वर्जनिंग प्रक्रिया को स्वचालित करने और रिलीज़ तैयारी के दौरान मानवीय त्रुटि को समाप्त करने की अनुमति देता है।

iOS पर Version Name

iOS पर, Version Name Info.plist फ़ाइल में CFBundleShortVersionString कुंजी द्वारा सेट किया जाता है। 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" फ़ील्ड Identity के अंतर्गत General टैब पर स्थित है। परिवर्तन स्वचालित रूप से 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 (Android में versionCode, iOS में CFBundleVersion) प्रत्येक नए बिल्ड के साथ बढ़ना चाहिए और इसका उपयोग ऐप स्टोर द्वारा यह निर्धारित करने के लिए किया जाता है कि कौन सा वर्जन नया है। 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 प्रारूप की अनुशंसा करता है। मोबाइल एप्लिकेशन के लिए, Major.Minor योजना भी लोकप्रिय है, जहाँ धारणा को सरल बनाने के लिए पैच वर्जन छोड़ दिया जाता है।

कैलेंडर वर्जनिंग (CalVer) रिलीज़ तिथि को वर्जन नंबर के रूप में उपयोग करती है — उदाहरण के लिए, 25.06 (वर्ष और महीना)। यह दृष्टिकोण बार-बार रिलीज़ वाले एप्लिकेशन के लिए सुविधाजनक है जहाँ सिमैंटिक्स का कोई अर्थ नहीं है।

योजना चुनने के लिए सिफारिशें

सिमैंटिक वर्जनिंग सार्वजनिक API वाले एप्लिकेशन के लिए उपयुक्त है जहाँ बैकवर्ड कम्पैटिबिलिटी महत्वपूर्ण है। उपयोगकर्ता और एकीकरणकर्ता समझते हैं कि अपडेट के साथ क्या बदलाव अपेक्षित हैं।

कैलेंडर वर्जनिंग उन एप्लिकेशन के लिए चुनी जाती है जहाँ उपयोगकर्ता के लिए रिलीज़ की ताज़गी परिवर्तनों के दायरे से अधिक महत्वपूर्ण है। उदाहरण के लिए, समाचार एग्रीगेटर या मौसम एप्लिकेशन।

हाइब्रिड योजना दोनों दृष्टिकोणों को जोड़ती है: Major.Minor.RC, जहाँ RC एक विशिष्ट रिलीज़ कैंडिडेट के लिए बिल्ड नंबर है। यह योजना सक्रिय बीटा परीक्षण के दौरान सुविधाजनक है।

Version Name कॉन्फ़िगरेशन उदाहरण

नीचे कोड उदाहरण दिखाते हैं कि Android और iOS पर Version Name कैसे सेट करें। Android के लिए Gradle का उपयोग किया जाता है, iOS के लिए — agvtool के साथ Xcode Build Settings।

Android में versionName सेट करना

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()
    }
}

यह दृष्टिकोण वर्जनिंग को स्वचालित करता है और बिल्ड और रिपॉजिटरी टैग के बीच बेमेल के जोखिम को समाप्त करता है।

iOS में CFBundleShortVersionString सेट करना

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 में बिंदुओं से अलग संख्याएँ होनी चाहिए, हालाँकि प्री-रिलीज़ वर्जन के लिए अक्षर प्रत्ययों की अनुमति है।

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 पर यह build.gradle में versionName के माध्यम से सेट किया जाता है, iOS पर — Info.plist में CFBundleShortVersionString के माध्यम से।
  • सिमैंटिक प्रारूप Major.Minor.Patch मोबाइल ऐप वर्जनिंग के लिए मानक है, जो उपयोगकर्ताओं के लिए समझने योग्य है।
  • Version Name स्टोर अपडेट तर्क में भाग नहीं लेता — इसके लिए Build Number (versionCode / CFBundleVersion) का उपयोग किया जाता है।
  • CI/CD के माध्यम से वर्जनिंग का ऑटोमेशन त्रुटियों के जोखिम को कम करता है और रिलीज़ तैयारी को गति देता है।
  • iOS के लिए, वर्जन प्रबंधन के लिए कमांड लाइन से agvtool का उपयोग करें; Android के लिए, Gradle Script का उपयोग करें।
  • योजना का चुनाव एप्लिकेशन प्रकार पर निर्भर करता है — API वाले उत्पादों के लिए सिमैंटिक, बार-बार रिलीज़ के लिए कैलेंडर।

हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे

IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।

परियोजना पर चर्चा करें

यह भी पढ़ें