Marketing Version: nedir, Build Number'dan farkı ve yapılandırma

Yazar: IT Sectr Yayınlanma: 2026-04-18 Okuma süresi: 8 dk

Marketing Version, uygulama mağazalarında ve cihazda görüntülenen, kullanıcıya yönelik uygulama sürüm dizesidir. Build Number'dan farklı olarak, bu parametre kullanıcı algısına yöneliktir ve anlamsal bir öneme sahiptir. Apple Developer, 2025'e göre, Marketing Version'ın doğru kullanımı, kullanıcıların güncellemelere olan güvenini artırır.

Önemli Noktalar

  • Marketing Version, kullanıcının App Store, Google Play ve cihazda gördüğü sürüm dizesidir.
  • iOS'ta CFBundleShortVersionString olarak, Android'de build.gradle içinde versionName olarak ayarlanır.
  • Build Number'dan farklı olarak, Marketing Version benzersiz olmak zorunda değildir ve birden çok derleme için tekrarlanabilir.
  • Anlamsal biçim Major.Minor.Patch, kullanıcılar için en yaygın ve anlaşılır şemadır.
  • Marketing Version, tutarlılık için App Store Connect ve Google Play Console'daki sürüm numarasıyla senkronize edilir.

Marketing Version Nedir

Marketing Version, son kullanıcı için uygulama sürümünü temsil eden anlamsal bir dizedir. iOS'ta CFBundleShortVersionString anahtarıyla, Android'de versionName ile ayarlanır.

“Marketing Version” terimi resmi olarak Xcode'da kullanılır: hedef ayarları arayüzünde alan adı “Marketing Version” olarak geçer ve Info.plist'te CFBundleShortVersionString'e karşılık gelir. Android'de karşılığı versionName'dir, ancak bu terim daha az kullanılır.

Apple Developer Belgeleri (2025)'ne göre, Marketing Version en fazla noktalarla ayrılmış üç sayıdan oluşmalı, boşluk veya özel karakter içermemelidir. Her sayı 255'i geçmemelidir.

Marketing Version'ınızı değişikliklerin önemini yansıtacak şekilde seçin: temel değişiklikler için ana sürüm, yeni işlevler için alt sürüm.

Dahili Build Number'dan Farkı

Marketing Version, amaç açısından Build Number'dan temel olarak farklıdır: birincisi kullanıcıyı bilgilendirir, ikincisi derlemeyi mağaza için tanımlar. Build Number, Marketing Version değiştirilmeden artırılabilir.

Örneğin, yayınlanmış bir sürümdeki kritik bir hatayı düzeltirken, ekip aynı Marketing Version (1.2.0) ile ancak daha yüksek bir Build Number (15'ten 16'ya) ile uygulamayı yeniden derleyebilir. Kullanıcı aynı sürümü görecek, ancak mağaza derlemenin daha yeni olduğunu bilecektir.

Bu esneklik, geliştiricilerin sürüm değişikliği hakkında kullanıcıları bilgilendirmeden düzeltmeler yayınlamasına olanak tanır.

Marketing Version Nerede Görüntülenir

Marketing Version, kullanıcının uygulamayla etkileşiminin birkaç önemli noktasında görünür. Uygulama mağazasında, uygulama kartında, güncelleme açıklamasında ve sürüm geçmişinde görünür.

Cihazda, Marketing Version sistem ayarlarında (“Hakkında” veya “Uygulamalar” bölümü), App Store veya Google Play üzerinden güncelleme iletişim kutularında ve uygulamanın içindeki “Hakkında” ekranında gösterilir.

Net bir Marketing Version, kullanıcıların yüklü sürümün güncelliğini değerlendirmesine ve güncelleme kararı almasına yardımcı olur.

iOS'ta Marketing Version

iOS'ta Marketing Version, Xcode'da hedef ayarlarının General sekmesindeki “Marketing Version” alanıyla ayarlanır. Değer Info.plist'te CFBundleShortVersionString olarak kaydedilir.

Sürüm biçimi Apple tarafından sıkı bir şekilde düzenlenmiştir: dize, noktalarla ayrılmış bir ila üç sayı içermelidir (örneğin, 1, 1.2 veya 1.2.3). Maksimum uzunluk 18 karakterdir. Her sayı 255'i geçmemelidir.

Apple App Store İnceleme Yönergeleri (2025)'ne göre, App Store Connect, Marketing Version önceki yayınlanmış sürümden bir ana veya alt değerden fazla farklılık gösteriyorsa bir derlemenin yüklenmesine izin vermez — bu, kullanıcıları kaçırılan güncellemelerden korur.

Komut satırından Marketing Version'ı yönetmek için agvtool kullanın — CI/CD entegrasyonunu basitleştirir ve Build Number ile senkronizasyonu garanti eder.

Android'de Marketing Version

Android'de Marketing Version, build.gradle dosyasındaki versionName parametresiyle ayarlanır. iOS'tan farklı olarak Android, sürüm dizesi biçimine katı kısıtlamalar getirmez.

versionName herhangi bir karakter içerebilir: harfler, rakamlar, tireler ve noktalar. Google Play bu dizeyi uygulama kartında ve güncelleme listesinde görüntüler, ancak herhangi bir kalıba göre doğrulama yapmaz.

Ancak Google Play, tutarlılık için anlamsal Major.Minor.Patch biçimini izlemeyi önerir. Bu, kullanıcıların sürümü anlamasını kolaylaştırır ve otomatik güncelleme analizine olanak tanır.

Sürüm türünü — ana, alt veya yama — açıkça yansıtan bir versionName belirleyin. Bu, kullanıcıların değişikliklerin önemini hızlıca değerlendirmesine yardımcı olur.

Dinamik versionName Oluşturma

Android'de versionName, Git etiketlerine veya CI/CD değişkenlerine dayalı olarak dinamik bir şekilde oluşturulabilir. Bu, sürümleme sürecini basitleştirir ve depo ile derleme arasındaki tutarsızlıkları ortadan kaldırır.

Tipik bir yaklaşım, bir Git etiketi (örneğin, v2.1.0) okumak ve değerini versionName olarak kullanmaktır. Etiket yoksa, tarih ve commit numarasına dayalı bir sürüm oluşturulabilir.

Bu yaklaşım, versionName'in her zaman kaynak kod durumuyla eşleşmesini ve manuel güncelleme gerektirmemesini sağlar.

Marketing Version ve Build Number Karşılaştırması

Marketing Version ve Build Number, farklı amaçlara hizmet eden iki bağımsız parametredir. Marketing Version kullanıcıyı bilgilendirirken, Build Number teknik olarak derlemeyi tanımlar.

Temel fark benzersizliktir. Build Number her derleme için benzersiz olmalıdır. Marketing Version tekrarlanabilir: aynı sürümün birden çok derlemesi aynı Marketing Version'ı paylaşır ancak farklı Build Number'lara sahiptir.

Google Play Politikası (2025)'ne göre, aynı Marketing Version ancak farklı Build Number'lara sahip iki APK yüklerseniz, Google Play her ikisini de aynı sürümün farklı derlemeleri olarak kabul eder. App Store için de aynı kural geçerlidir.

Unutmayın: Build Number makineler içindir, Marketing Version insanlar içindir. İlkini otomatikleştirin ve ikincisini dikkatlice planlayın.

Sürümleme Stratejileri

Bir strateji seçmek, uygulama türüne, hedef kitleye ve yayınlama sürecine bağlıdır. Üç ana şema — anlamsal, takvim ve hibrit — çoğu senaryoyu kapsar.

Anlamsal Sürümleme (SemVer), Major.Minor.Patch biçimini kullanır ve her bileşenin ne zaman artırılacağını kesin olarak tanımlar. Genel API ve karmaşık entegrasyona sahip uygulamalar için idealdir.

semver.org (2023)'e göre, SemVer belirtiminin 2.0.0 sürümü, açık kaynak mobil projelerinin %89'unda kullanılır ve tüm paket yöneticileri tarafından desteklenir.

Takvim Sürümlemesi

Takvim Sürümlemesi (CalVer), yayın tarihini sürüm olarak kullanır — örneğin, Haziran 2025 için 25.06. Bu yaklaşım, sık güncellenen uygulamalarda popülerdir.

CalVer, değişikliklerin önemi hakkında bilgi iletmez, ancak sürümün güncelliğini açıkça gösterir. Kullanıcılar, 25.06 sürümünün 25.03'ten daha yeni olduğunu hemen anlar.

Uygulamanız sık sık güncelleniyorsa ve kullanıcılar değişikliklerin kapsamından çok veri güncelliğini önemsiyorsa takvim sürümlemesini seçin.

Seçim Önerileri

MVP ve startup'lar için yamasız basit bir anlamsal sürüm (Major.Minor) uygundur. Uzun vadeli destekli olgun ürünler için — tam SemVer. Sürekli yayın yapan uygulamalar için — CalVer.

Asla tarihi Build Number olarak kullanmayın — bu, günde birden çok derleme olduğunda çakışmalara yol açabilir. Build Number sıralı veya bileşik olmalı, ancak her zaman tekdüze artan olmalıdır.

Marketing Version'da Sık Yapılan Hatalar

Tipik bir hata, yeni bir ana hatta geçerken sürüm bileşenini atlamaktır. Örneğin, 1.9.9 sürümünden sonraki sürüm 2.0.0 olmalıdır, 1.10.0 değil. Bu, anlambilimi bozar ve kullanıcıların kafasını karıştırır.

Diğer bir yaygın sorun, kod ile uygulama mağazası arasındaki Marketing Version uyuşmazlığıdır. İnceleme için bir derleme göndermeden önce build.gradle'daki versionName'in Google Play Console veya App Store Connect'te belirtilen sürümle eşleştiğini her zaman doğrulayın.

Marketing Version Kurulum Örnekleri

Kod örnekleri, her iki platformda Marketing Version'ın nasıl ayarlanacağını ve güncellemesinin nasıl otomatikleştirileceğini gösterir.

Android Gradle'da versionName Ayarlama

Android'de versionName, build.gradle'da ayarlanır. Değer statik olabilir veya bir ortam değişkeninden okunabilir.

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

// Git etiketinden sürüm okuma
def getVersionNameFromGit = {
    def tag = "git describe --tags".execute().
        text.trim()
    return tag.startsWith("v") ? tag.substring(1) : tag
}

versionName, bir Git etiketinden çıkarılır ve depo sürümü ile derlenmiş uygulama arasında uyum sağlar.

Xcode'da Marketing Version Yönetimi

iOS'ta Marketing Version, Xcode veya agvtool aracılığıyla ayarlanır. Aşağıdaki komut yeni bir pazarlama sürümü belirler.

bash
# Marketing Version'ı ayarla
xcrun agvtool new-marketing-version 2.1.0

# Otomatik artırım
xcrun agvtool next-marketing-version

agvtool, Info.plist'i otomatik olarak günceller ve sürümü Xcode projesinin tüm hedefleri arasında senkronize eder.

Her İki Platform için Fastlane

Fastlane, tek bir betikten her iki platformda Marketing Version'ı yönetmeye olanak tanıyarak çapraz platform proje bakımını basitleştirir.

ruby
# Pazarlama sürümünü ayarla
increment_version_number(
    version_number: "2.1.0"
)

# Alt sürümün otomatik artırımı
increment_version_number(
    bump_type: "minor"
)

Fastlane her iki platformda da çalışır ve çoğu CI/CD hizmeti tarafından desteklenir.

Sıkça Sorulan Sorular

Marketing Version, Build Number'dan nasıl farklıdır?

Marketing Version kullanıcıya görünen sürümdür (mağazada gösterilir), Build Number ise dahili bir derleme tanımlayıcısıdır. Marketing Version tekrarlanabilir, Build Number her derleme için benzersiz olmalıdır.

Marketing Version'ı ne sıklıkla değiştirmeliyim?

Her yeni işlev yayınında, API değişikliğinde veya büyük düzeltmede. Acil düzeltme (hotfix) yayınlarında Marketing Version değişmeden kalabilir — sadece Build Number'ı artırın.

Marketing Version'da harf kullanabilir miyim?

Android'de — evet, versionName herhangi bir karakter içerebilir. iOS'ta — yalnızca sayılar ve noktalar. Apple, App Store uyumluluğu için sayısal bir biçim kullanılmasını önerir.

Marketing Version'ı nasıl geri alırım?

Önerilmez. Uygulama mağazaları sürüm geri almayı desteklemez. Bunun yerine, düzeltmelerle yeni bir sürüm yayınlayın ve yama bileşenini artırın. Kullanıcılar otomatik olarak yeni sürüme geçecektir.

iOS ve Android arasında Marketing Version nasıl senkronize edilir?

Proje kökünde paylaşılan bir yapılandırma dosyası (örneğin, version.properties) kullanın. Her iki platformdaki derleme betikleri sürümü bu dosyadan okur ve değer senkronizasyonunu sağlar.

Özet

  • Marketing Version, mağazalarda ve cihazda görüntülenen, insan algısı için tasarlanmış kullanıcıya yönelik sürümdür.
  • iOS'ta Xcode'da CFBundleShortVersionString ile, Android'de build.gradle'da versionName ile ayarlanır.
  • Marketing Version, benzersiz olması gereken Build Number'ın aksine birden çok derlemede tekrarlanabilir.
  • Anlamsal Sürümleme Major.Minor.Patch, genel API'ye sahip mobil uygulamalar için standarttır.
  • Takvim Sürümlemesi, veri güncelliğinin önemli olduğu sık güncellenen uygulamalar için uygundur.
  • agvtool, Gradle veya fastlane ile otomasyon, depo ile derleme arasındaki tutarsızlıkları ortadan kaldırır.
  • Build Number ve Marketing Version bağımsız parametrelerdir — her birini ayrı ayrı yönetin.

Anahtar teslim bir mobil uygulama geliştireceğiz

IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.

Projeyi tartış

Ayrıca okuyun