Marketing Version ایپلیکیشن کا صارف کے سامنے والا ورژن سٹرنگ ہے جو ایپ اسٹورز اور ڈیوائس پر ظاہر ہوتا ہے۔ Build Number کے برعکس، یہ پیرامیٹر صارف کے ادراک پر مبنی ہوتا ہے اور اس کی معنوی اہمیت ہوتی ہے۔ Apple Developer، 2025 کے مطابق، Marketing Version کا صحیح استعمال صارفین کے اپ ڈیٹس پر اعتماد میں اضافہ کرتا ہے۔
اہم نکات
Marketing Version ایک معنوی سٹرنگ ہے جو آخری صارف کے لیے ایپلیکیشن ورژن کی نمائندگی کرتی ہے۔ iOS میں یہ CFBundleShortVersionString کلید کے ذریعے، Android میں versionName کے ذریعے سیٹ کیا جاتا ہے۔
“Marketing Version” کی اصطلاح سرکاری طور پر Xcode میں استعمال ہوتی ہے: ٹارگٹ سیٹنگز انٹرفیس میں فیلڈ کا نام “Marketing Version” ہے اور Info.plist میں یہ CFBundleShortVersionString سے مطابقت رکھتا ہے۔ Android میں مساوی versionName ہے، اگرچہ یہ اصطلاح کم استعمال ہوتی ہے۔
Apple Developer دستاویز (2025) کے مطابق، Marketing Version زیادہ سے زیادہ تین نمبروں پر مشتمل ہونا چاہیے جو ڈاٹ سے الگ ہوں، بغیر خالی جگہ یا خاص حروف کے۔ ہر نمبر 255 سے زیادہ نہیں ہونا چاہیے۔
اپنی Marketing Version اس طرح منتخب کریں کہ وہ تبدیلیوں کی اہمیت کو ظاہر کرے: بنیادی تبدیلیوں کے لیے میجر اپ ڈیٹ، نئی فعالیت کے لیے مائنر اپ ڈیٹ۔
Marketing Version مقصد کے لحاظ سے Build Number سے بنیادی طور پر مختلف ہے: پہلا صارف کو مطلع کرتا ہے، دوسرا اسٹور کے لیے بلڈ کی شناخت کرتا ہے۔ Build Number کو Marketing Version تبدیل کیے بغیر بڑھایا جا سکتا ہے۔
مثال کے طور پر، شائع شدہ ریلیز میں کسی سنگین بگ کو ٹھیک کرتے وقت، ٹیم اسی Marketing Version (1.2.0) کے ساتھ لیکن بڑھے ہوئے Build Number (15 سے 16) کے ساتھ ایپلیکیشن کو دوبارہ بنا سکتی ہے۔ صارف وہی ورژن دیکھے گا، لیکن اسٹور کو معلوم ہوگا کہ بلڈ نیا ہے۔
یہ لچک ڈیویلپرز کو ورژن تبدیل کرنے کی اطلاع دیے بغیر اصلاحات جاری کرنے کی اجازت دیتی ہے۔
Marketing Version صارف کے ایپلیکیشن کے ساتھ تعامل کے کئی اہم مقامات پر ظاہر ہوتی ہے۔ ایپ اسٹور میں، یہ ایپ کارڈ، اپ ڈیٹ کی تفصیل اور ورژن ہسٹری میں نظر آتی ہے۔
ڈیوائس پر، Marketing Version سسٹم سیٹنگز (“کے بارے میں” یا “ایپس” سیکشن)، App Store یا Google Play کے ذریعے اپ ڈیٹ ڈائیلاگ، اور ایپ کے اندر “کے بارے میں” اسکرین پر دکھائی جاتی ہے۔
واضح Marketing Version صارفین کو انسٹال کردہ ورژن کی موجودہ حیثیت کا جائزہ لینے اور اپ ڈیٹ کا فیصلہ کرنے میں مدد دیتی ہے۔
iOS پر، Marketing Version Xcode میں ٹارگٹ سیٹنگز کے General ٹیب پر “Marketing Version” فیلڈ کے ذریعے سیٹ کی جاتی ہے۔ قدر Info.plist میں CFBundleShortVersionString کے طور پر محفوظ ہوتی ہے۔
ورژن فارمیٹ Apple کے ذریعے سخت ضابطہ ہے: سٹرنگ میں ڈاٹ سے الگ کردہ ایک سے تین نمبر ہونے چاہئیں (مثلاً، 1، 1.2 یا 1.2.3)۔ زیادہ سے زیادہ لمبائی 18 حروف ہے۔ ہر نمبر 255 سے زیادہ نہیں ہونا چاہیے۔
Apple App Store Review Guidelines (2025) کے مطابق، App Store Connect ایک بلڈ اپ لوڈ کرنے کی اجازت نہیں دیتا اگر Marketing Version پچھلے شائع شدہ ورژن سے ایک میجر یا مائنر ویلیو سے زیادہ مختلف ہو — یہ صارفین کو چھوٹے ہوئے اپ ڈیٹس سے بچاتا ہے۔
کمانڈ لائن سے Marketing Version کو منظم کرنے کے لیے agvtool استعمال کریں — یہ CI/CD کے ساتھ انضمام کو آسان بناتا ہے اور Build Number کے ساتھ ہم آہنگی کو یقینی بناتا ہے۔
Android پر، Marketing Version build.gradle فائل میں versionName پیرامیٹر کے ذریعے سیٹ کی جاتی ہے۔ iOS کے برعکس، Android ورژن سٹرنگ فارمیٹ پر سخت پابندیاں عائد نہیں کرتا۔
versionName میں کوئی بھی حرف ہو سکتے ہیں: حروف، ہندسے، ڈیش اور ڈاٹ۔ Google Play اس سٹرنگ کو ایپ کارڈ اور اپ ڈیٹ لسٹ میں ظاہر کرتا ہے، لیکن اسے کسی پیٹرن کے خلاف توثیق نہیں کرتا۔
تاہم، Google Play یکسانیت کے لیے معنوی Major.Minor.Patch فارمیٹ پر عمل کرنے کی سفارش کرتا ہے۔ اس سے صارفین کے لیے ورژن کو سمجھنا آسان ہو جاتا ہے اور خودکار اپ ڈیٹ تجزیہ ممکن ہو جاتا ہے۔
ایسا versionName سیٹ کریں جو ریلیز کی قسم — میجر، مائنر یا پیچ — کو واضح طور پر ظاہر کرے۔ اس سے صارفین کو تبدیلیوں کی اہمیت کا فوری جائزہ لینے میں مدد ملتی ہے۔
Android پر versionName Git ٹیگز یا CI/CD متغیرات کی بنیاد پر متحرک طور پر تیار کیا جا سکتا ہے۔ اس سے ورژننگ کا عمل آسان ہو جاتا ہے اور ریپوزٹری اور بلڈ کے درمیان تفاوت ختم ہو جاتا ہے۔
ایک عام طریقہ Git ٹیگ (مثلاً، v2.1.0) پڑھنا اور اس کی قدر کو versionName کے طور پر استعمال کرنا ہے۔ اگر ٹیگ موجود نہیں ہے، تو تاریخ اور کمٹ نمبر کی بنیاد پر ورژن تیار کیا جا سکتا ہے۔
یہ طریقہ یقینی بناتا ہے کہ versionName ہمیشہ سورس کوڈ کی حالت سے مطابقت رکھتا ہے اور دستی اپ ڈیٹ کی ضرورت نہیں ہے۔
Marketing Version اور Build Number دو آزاد پیرامیٹر ہیں جو مختلف مقاصد پورے کرتے ہیں۔ Marketing Version صارف کو مطلع کرتی ہے، جبکہ Build Number تکنیکی طور پر بلڈ کی شناخت کرتا ہے۔
بنیادی فرق انفرادیت ہے۔ Build Number ہر بلڈ کے لیے منفرد ہونا چاہیے۔ Marketing Version دہرائی جا سکتی ہے: ایک ہی ورژن کے متعدد بلڈز میں ایک ہی Marketing Version لیکن مختلف Build Numbers ہوتے ہیں۔
Google Play پالیسی (2025) کے مطابق، اگر آپ ایک ہی Marketing Version لیکن مختلف Build Numbers والے دو APK اپ لوڈ کرتے ہیں، تو Google Play دونوں کو ایک ہی ورژن کے مختلف بلڈز کے طور پر قبول کرے گا۔ App Store کے لیے بھی یہی اصول لاگو ہوتا ہے۔
یاد رکھیں: Build Number مشینوں کے لیے ہے، Marketing Version لوگوں کے لیے ہے۔ پہلے کو خودکار بنائیں اور دوسرے کی احتیاط سے منصوبہ بندی کریں۔
حکمت عملی کا انتخاب ایپلیکیشن کی قسم، سامعین اور ریلیز کے عمل پر منحصر ہے۔ تین اہم اسکیما — معنوی، کیلنڈر اور ہائبرڈ — زیادہ تر منظرناموں کو احاطہ کرتے ہیں۔
معنوی ورژننگ (SemVer) Major.Minor.Patch فارمیٹ استعمال کرتی ہے اور سختی سے طے کرتی ہے کہ ہر جزو کو کب بڑھایا جائے۔ یہ عوامی API اور پیچیدہ انضمام والی ایپلیکیشنز کے لیے مثالی ہے۔
semver.org (2023) کے مطابق، SemVer تصریح کا ورژن 2.0.0 اوپن سورس موبائل منصوبوں کے 89% میں استعمال ہوتا ہے اور تمام پیکیج مینیجرز کے ذریعے معاون ہے۔
کیلنڈر ورژننگ (CalVer) ریلیز کی تاریخ کو ورژن کے طور پر استعمال کرتی ہے — مثلاً، جون 2025 کے لیے 25.06۔ یہ طریقہ بار بار اپ ڈیٹ ہونے والی ایپلیکیشنز میں مقبول ہے۔
CalVer تبدیلیوں کی اہمیت کے بارے میں معلومات فراہم نہیں کرتی، لیکن ورژن کی تازگی کو واضح طور پر ظاہر کرتی ہے۔ صارف فوری طور پر سمجھ جاتے ہیں کہ ورژن 25.06، 25.03 سے نیا ہے۔
کیلنڈر ورژننگ کا انتخاب کریں اگر آپ کی ایپ بار بار اپ ڈیٹ ہوتی ہے اور صارف تبدیلیوں کی وسعت سے زیادہ ڈیٹا کی تازگی کی پرواہ کرتے ہیں۔
MVP اور سٹارٹ اپ کے لیے، پیچ کے بغیر ایک سادہ معنوی ورژن (Major.Minor) موزوں ہے۔ طویل مدتی معاونت والی پختہ مصنوعات کے لیے — مکمل SemVer۔ مسلسل ریلیز والی ایپس کے لیے — CalVer۔
کبھی تاریخ کو Build Number کے طور پر استعمال نہ کریں — اس سے دن میں متعدد بلڈز کے ساتھ تنازع ہو سکتا ہے۔ Build Number ترتیبی یا مرکب ہونا چاہیے، لیکن ہمیشہ یک طرفہ طور پر بڑھتا ہوا۔
ایک عام غلطی نئی میجر لائن پر جاتے وقت ورژن کے جزو کو چھوڑنا ہے۔ مثال کے طور پر، ورژن 1.9.9 کے بعد، اگلا 2.0.0 ہونا چاہیے، 1.10.0 نہیں۔ یہ معنویات کو توڑتا ہے اور صارفین کو الجھاتا ہے۔
ایک اور عام مسئلہ کوڈ اور ایپ اسٹور میں Marketing Version کا مماثل نہ ہونا ہے۔ جائزے کے لیے بلڈ جمع کرانے سے پہلے ہمیشہ تصدیق کریں کہ build.gradle میں versionName Google Play Console یا App Store Connect میں مخصوص کردہ ورژن سے مطابقت رکھتا ہے۔
کوڈ کی مثالیں دکھاتی ہیں کہ دونوں پلیٹ فارمز پر Marketing Version کیسے سیٹ کریں اور اس کی اپ ڈیٹ کو خودکار بنائیں۔
Android میں، versionName build.gradle میں سیٹ کیا جاتا ہے۔ قدر جامد ہو سکتی ہے یا ماحولیاتی متغیر سے پڑھی جا سکتی ہے۔
android {
defaultConfig {
versionCode 15
versionName "2.1.0"
}
}
// Git ٹیگ سے ورژن پڑھنا
def getVersionNameFromGit = {
def tag = "git describe --tags".execute().
text.trim()
return tag.startsWith("v") ? tag.substring(1) : tag
}
versionName Git ٹیگ سے نکالا جاتا ہے، جو ریپوزٹری ورژن اور بنائی گئی ایپلیکیشن کے درمیان مطابقت کو یقینی بناتا ہے۔
iOS پر، Marketing Version Xcode یا agvtool کے ذریعے سیٹ کی جاتی ہے۔ نیچے دیا گیا کمانڈ ایک نیا مارکیٹنگ ورژن سیٹ کرتا ہے۔
# Marketing Version سیٹ کریں
xcrun agvtool new-marketing-version 2.1.0
# خودکار اضافہ
xcrun agvtool next-marketing-version
agvtool خودبخود Info.plist کو اپ ڈیٹ کرتا ہے اور Xcode پروجیکٹ کے تمام ٹارگٹس میں ورژن کو ہم آہنگ کرتا ہے۔
Fastlane ایک اسکرپٹ سے دونوں پلیٹ فارمز پر Marketing Version کو منظم کرنے کی اجازت دیتا ہے، جو کراس پلیٹ فارم پروجیکٹ کی دیکھ بھال کو آسان بناتا ہے۔
# مارکیٹنگ ورژن سیٹ کریں
increment_version_number(
version_number: "2.1.0"
)
# مائنر ورژن کا خودکار اضافہ
increment_version_number(
bump_type: "minor"
)
Fastlane دونوں پلیٹ فارمز پر کام کرتا ہے اور زیادہ تر CI/CD خدمات کے ذریعے معاون ہے۔
اکثر پوچھے جانے والے سوالات
Marketing Version صارف کو نظر آنے والا ورژن ہے (اسٹور میں دکھایا جاتا ہے)، جبکہ Build Number ایک اندرونی بلڈ شناخت کنندہ ہے۔ Marketing Version دہرائی جا سکتی ہے، Build Number ہر بلڈ کے لیے منفرد ہونا چاہیے۔
ہر نئی فعالیت کی ریلیز، API تبدیلی یا بڑی اصلاح کے ساتھ۔ ہاٹ فکس ریلیز کے لیے، Marketing Version کو تبدیل کیے بغیر رکھا جا سکتا ہے — صرف Build Number بڑھائیں۔
Android پر — ہاں، versionName میں کوئی بھی حرف ہو سکتے ہیں۔ iOS پر — صرف نمبر اور ڈاٹ۔ Apple App Store مطابقت کے لیے عددی فارمیٹ استعمال کرنے کی سفارش کرتا ہے۔
سفارش نہیں کی جاتی۔ ایپ اسٹورز ورژن واپس لوٹانے کی حمایت نہیں کرتے۔ اس کے بجائے، اصلاحات کے ساتھ ایک نیا ورژن جاری کریں اور پیچ کے جزو کو بڑھائیں۔ صارف خودبخود نئے ورژن پر منتقل ہو جائیں گے۔
پروجیکٹ کی جڑ میں مشترکہ ترتیب فائل (مثلاً، version.properties) استعمال کریں۔ دونوں پلیٹ فارمز پر بلڈ اسکرپٹ اس فائل سے ورژن پڑھتے ہیں، قدروں کی ہم آہنگی کو یقینی بناتے ہوئے۔
خلاصہ
ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے
IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔
مزید پڑھیں