Staged Rollout, Google Play’de uygulamaların kademeli olarak yayınlanmasını sağlayan ve güncellemenin belirli bir yüzde kullanıcıya dağıtılmasına olanak tanıyan bir mekanizmadır. Geliştirici dağıtım hızını kontrol eder ve yeni bir derleme yayınlamadan değişiklikleri geri alabilir. Google Play Console Help, 2024’e göre, geliştiricilerin %85’i güncelleme yayınlarken riskleri en aza indirmek için aşamalı yayınlamaları kullanıyor. Bu, modern Android geliştirmede dağıtım standardıdır.
Anahtar Noktalar
Staged Rollout, uygulama güncellemelerini kademeli olarak dağıtmak için Google Play Console’un bir özelliğidir. Geliştirici, yeni sürümü alacak kullanıcıların yüzdesini belirler ve kararlılık ile kalite metriklerini izlerken kademeli olarak kapsamı artırır. Tüm kullanıcılara tam yayınlama, yalnızca kritik sorun olmadığı onaylandıktan sonra yapılır.
Mekanizma, uygulama mağazası düzeyinde çalışır: Google Play, güncellemeyi seçilen yüzde oranındaki cihazlara otomatik olarak dağıtır. Kullanıcılar hiçbir fark görmez — onlar için bu, mağazadan normal bir güncellemedir. Seçilen segment içinde kullanıcılar rastgele seçilir ve temsili bir örneklem sağlanır.
Google, Staged Rollout’u 2015 yılında Google Play Developer Console’un bir parçası olarak tanıttı. Bu özellikten önce, geliştiriciler güncellemeleri tüm kullanıcılara aynı anda yayınlıyordu ve bu da hatalar durumunda toplu çökmelere yol açıyordu. Google I/O 2023 verilerine göre, aşamalı yayınlamaların benimsenmesi, Android uygulamalarındaki kritik olay sayısını %60 oranında azalttı.
Aşamalı yayınlama, önemli değişiklikler yayınlanırken kullanılır: yeni tasarım, mimari değişikliği, SDK güncellemesi, veritabanı geçişi veya yeni bir API sürümüne yükseltme. Staged Rollout, tam dağıtımdan önce A/B test üretim metrikleri için de önerilir.
Google Play Console’a bir APK veya App Bundle yükledikten sonra, geliştirici tam yayınlama yerine Staged Rollout’u seçer. Sistem, %5’ten %100’e kadar %5’lik artışlarla bir kullanıcı yüzdesi belirtilmesini ister. Google Play, güncellemeyi rastgele seçilen kullanıcıların belirtilen yüzdesine otomatik olarak dağıtır.
Google Play, cihaz tanımlayıcısına ve kod sürüm numarasına dayalı deterministik bir algoritma kullanır. Bu, %10’da güncellemeyi alan bir kullanıcının, yüzde %20’ye çıktığında bunu kaybetmemesini sağlar. Dağıtım kararlıdır: kullanıcı ya sürümü zaten almıştır ya da bir sonraki kapsam artışında alacaktır.
// build.gradle — Staged Rollout için sürümleme
android {
defaultConfig {
versionCode 42
versionName "2.4.0-staged"
}
}
// Kararlılık onaylandıktan sonra — tam yayınlama
// versionCode aynı kalır, versionName → "2.4.0"
Staged Rollout başlatıldıktan sonra, temel göstergeleri izlemek gerekir: ANR sayısı, çökme oranı, derecelendirme ve kullanıcı yorumları. Google Play Console, gerçek zamanlı metrik paneli sağlar. Eşikler aşılırsa, yayınlamanın derhal durdurulması ve rollback yapılması önerilir.
Staged Rollout kurulumu üç adımda tamamlanır ve uygulama kodunda değişiklik gerektirmez. Derlemeyi Google Play Console’a yükleyin ve aşamalı yayınlama seçeneğini seçin. Aşağıda, arayüzün belirli bölümlerini gösteren adım adım bir kılavuz bulunmaktadır.
İlk aşama için kullanıcıların %5–10’u seçilmelidir. Bu, kritik hataları belirlemek için minimum temsili örneklemdir. Sorun yoksa, yüzde 24–48 saat aralıklarla %25, %50 ve %100’e yükseltilir. Hızlı kapsam artışı yalnızca küçük değişiklikler için haklıdır.
Özellik yalnızca Google Play’deki üretim yayınlamaları için kullanılabilir. Açık test ve kapalı track’ler için ayrı mekanizmalar kullanılır. Staged Rollout, tek tek ülkelere veya bölgelere uygulanamaz — yüzde, toplam uygulama hedef kitlesinden hesaplanır. Coğrafi hedefleme için ülkeye özel yayınlamalar kullanılır. Farklı dağıtım kanalları için farklı yüzdeler belirlemek de mümkün değildir — tüm kullanıcılar, kurulum kaynağından bağımsız olarak rastgele seçilir.
Staged Rollout, küçük bir kullanıcı örnekleminde sorunların tespit edilmesine izin vererek yayınlama risklerini azaltır. Dahili track’lerdeki testlerin aksine, üretim trafiği, QA ortamında tekrarlanamayan gerçek kullanım senaryolarını ortaya çıkarır. Google Play Console analizine (2024) göre, kritik hataların %70’i tam olarak aşamalı yayınlama aşamasında tespit edilir.
| Avantaj | Açıklama | Etki |
|---|---|---|
| Risk minimizasyonu | Hata yalnızca kitlenin %’sini etkiler | Hasarı 10–20 kat azaltma |
| Hızlı rollback | Dakikalar içinde kararlı sürüme dönüş | |
| Hızlı rollback | Dakikalar içinde kararlı sürüme dönüş | Tepki süresi — 15 dakika |
| Üretim metrikleri | Kullanıcı cihazlarından gerçek veriler | Tespit doğruluğu — %95 |
| Hız kontrolü | Programa göre kapsam artırma | Dağıtım esnekliği |
Rollback, Google Play’de bir uygulamanın önceki kararlı sürümüne dönüştür. Staged Rollout sırasında kritik bir hata keşfedilirse, geliştirici dağıtımı durdurabilir ve tüm kullanıcıları önceki sürüme geri döndürebilir. İşlem, yeni bir derleme yayınlamadan Google Play Console’da gerçekleştirilir.
Geri almak için Release → Production bölümüne gidin ve Rollback to previous release seçeneğini seçin. Google Play, mevcut sürümün dağıtımını otomatik olarak durdurur ve kullanıcıları önceki kararlı sürüme döndürür. Segmente giren tüm yeni kullanıcılar da bir sonraki mağaza güncellemesinde eski sürüme geçer.
Önceki sürüm Google Play’den kaldırılmışsa veya süresi dolmuşsa, rollback mümkün değildir. Production bölümünde her zaman en az bir kararlı sürüm bulundurulması önerilir. Süresi dolmuş bir sürüm, Google Play Console desteği aracılığıyla geçici olarak geri yüklenebilir.
Google Play Console, çökme oranı veya ANR eşikleri aşıldığında otomatik rollback yapılandırmanıza olanak tanır. Release → Production bölümünde tetikleyiciler ayarlayın: çökme oranı %1’i aşarsa, Google Play otomatik olarak Staged Rollout’u durdurur ve önceki sürüme döner. Bu, geliştirici müdahalesi olmadan olay müdahale süresini birkaç dakikaya düşürür. Tetikleyicileri yapılandırmak için Düzenleyici veya Yönetici rolüne sahip bir hesap gerekir.
Staged Rollout ile tam yayınlama arasındaki seçim, değişikliklerin türüne ve risk seviyesine bağlıdır. Tam yayınlama, küçük düzeltmeler ve mantık değişikliği olmayan bağımlılık güncellemeleri için uygundur. Aşamalı yayınlama, büyük güncellemeler, mimari değişiklikleri ve güvenlik veya kullanıcı verilerini etkileyen değişiklikler için zorunludur.
| Parametre | Staged Rollout | Tam yayınlama |
|---|---|---|
| Kapsam | %5–100 kademeli | %100 hemen |
| Dağıtım süresi | 24–72 saat | 2–4 saat |
| Metrik kontrolü | Aşamalar arası | Yayınlamadan sonra |
| Risk | Düşük | Yüksek |
| Rollback | Anlık | Yeni derleme gerektirir |
Kodun %20’sinden fazlasını etkileyen güncellemeler için Staged Rollout zorunludur. UI ve UX değişiklikleri de kullanıcı tepkisini değerlendirmek için aşamalı dağıtım gerektirir. Tam yayınlama, dize düzeltmeleri, API değişikliği olmayan SDK güncellemeleri ve düşük gerileme riskli güvenlik yamaları için kabul edilebilir. Şüphe durumunda, her zaman aşamalı yayınlamayı seçin — bir rollback’in maliyeti, toplu üretim sürümü arızasının potansiyel hasarından önemli ölçüde düşüktür.
Sıkça Sorulan Sorular
Standart kapsam artışı (%5’ten %100’e) ile tam bir aşamalı yayınlama döngüsü 24–72 saat sürer. Her aşamada, metrik toplamak ve sorunları belirlemek için 24–48 saat beklenmesi önerilir. Acil güncellemeler için süre 8–12 saate düşürülebilir.
Optimum başlangıç yüzdesi, toplam hedef kitlenin %5–10’udur. Bu, temsili bir örneklem elde etmek ve kritik hataları belirlemek için yeterlidir. 10.000’den az kullanıcısı olan uygulamalar için %10–15 ile başlanabilir.
Google Play Console üzerinden derhal önceki kararlı sürüme rollback yapın. Ardından hatayı düzeltin, yeni bir derleme yükleyin ve minimum kapsam yüzdesinden Staged Rollout’u yeniden başlatın. Düzeltmeyi hemen %100 kullanıcıya yayınlamayın.
Evet, dolaylı olarak etkiler. Aşamalı yayınlama sırasında bir hata bulunursa, yalnızca hedef kitlenin %5–10’unu etkileyerek olumsuz yorumları en aza indirir. Kararlı ve tutarlı yayınlamalar, uygulamanın Google Play’deki itibarını olumlu yönde etkiler.
Evet, ancak bunlar farklı mekanizmalardır. Önce, güvenilir bir hedef kitlede test için derlemeyi kapalı veya açık beta track’ine yayınlayın. Kararlılığı onayladıktan sonra, aynı sürümü Staged Rollout ile Production’a taşıyın. Her track bağımsız olarak yönetilir. Staged Rollout yalnızca üretim yayınlamasına uygulanırken, beta track’leri test sürümlerine uygulanır.
Özet
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.
Ayrıca okuyun