İki Mağaza, İki Kültür: App Store ve Google Play Aynı İş Değil
Aynı uygulamayı iki mağazaya da yolladım; süreçler yüzeyde benzer, pratikte bambaşka. İnceleme mantığından test dağıtımına, ret sebeplerinden mağaza sayfasına kadar farkları ve her birine göre nasıl plan yaptığımı yazdım.
Aynı uygulamayı iki mağazaya birden yollamak, ilk bakışta tek işin iki kere yapılması gibi görünüyor. Değil. İki mağazanın inceleme mantığı, hız beklentisi, ret dili ve hatta hangi hataya ne kadar tolerans gösterdiği farklı. Bunu ilk projede öğrenmek zorunda kaldım.
Bu yazı, ikisini de yaşadıktan sonra çıkardığım pratik farklar listesi. Teorik bir karşılaştırma değil — planlamayı neye göre değiştirdiğimi anlatıyor.
Temel fark: kim insan, kim otomatik
En belirleyici fark bu. Apple tarafında incelemenin ciddi bir kısmı insan tarafından yapılıyor; biri uygulamayı gerçekten açıyor, gezip deniyor. Google tarafında ise ilk savunma hattı ağırlıklı olarak otomatik kontroller ve politika taraması.
Bunun pratikteki sonucu şu: Apple’da deneyim takılıyor, Google’da politika ve teknik uyum takılıyor. Apple’dan “bu ekran ne işe yarıyor anlaşılmıyor” diyen bir ret gelebiliyor. Google’dan böyle bir şey neredeyse hiç gelmiyor; oradan gelen şey “şu izni beyan etmediniz” ya da “gizlilik politikanız şu maddeyi karşılamıyor” oluyor.
Apple tarafında “İnceleme Notları” alanı gerçekten okunuyor. Giriş gerektiren bir uygulamada test hesabı bırakmak, özel bir akışın nasıl tetikleneceğini yazmak, incelemecinin takılmasını engelliyor. Google tarafında ise karşılığı yok; oradaki muadili Veri Güvenliği formunu eksiksiz ve doğru doldurmak.
Süre ve ritim
Google tarafında ilk yayın, sonraki güncellemelerden belirgin şekilde uzun sürüyor; hesabın ve uygulamanın ilk kez değerlendirilmesi ayrı bir aşama. Sonraki güncellemeler genelde çok daha hızlı ilerliyor. Apple tarafında ise ilk yayın ile güncelleme arasındaki fark bu kadar keskin değil; her sürüm benzer bir inceleme kuyruğundan geçiyor.
Planlama açısından çıkardığım sonuç: Google’da ilk yayına, Apple’da her yayına pay bırakmak gerekiyor. Bir tarihe yetişmesi gereken bir sürüm varsa Apple tarafı için tamponu daha geniş tutuyorum.
Test dağıtımı
Burada iki taraf da güçlü ama farklı çalışıyor:
| Apple | ||
|---|---|---|
| Araç | TestFlight | Dahili / kapalı / açık test kanalları |
| Davet | E-posta veya genel bağlantı | E-posta listesi, Google grubu veya bağlantı |
| Dahili testçi | Ekip üyeleri — inceleme beklemeden | Dahili test kanalı — dakikalar içinde |
| Dış testçi | İlk yapı için kısa bir inceleme var | Kapalı teste geçişte politika kontrolü var |
| Geri bildirim | Uygulama içinden ekran görüntüsüyle | Ayrı bir kanal kurmak gerekiyor |
TestFlight’ın en sevdiğim yanı, testçinin uygulamadan çıkmadan ekran görüntüsü işaretleyip not gönderebilmesi. Google tarafında bunun karşılığı yok; ben o boşluğu uygulamanın içine küçük bir “geri bildirim gönder” ekranı koyarak kapatıyorum.
Ret sebepleri: benim yediklerim
Gerçekten karşılaştığım kalıpları listeliyorum, çünkü ret açıklamaları çoğu zaman genel bir madde numarası olarak geliyor ve neyin kastedildiğini çıkarmak vakit alıyor:
- İzin açıklaması yetersiz. Konum ya da kamera izni isterken gösterilen metnin, iznin ne için kullanıldığını somut anlatması gerekiyor. “Uygulamanın çalışması için gerekli” kabul edilmiyor.
- Hesap silme yolu yok. Kullanıcı hesabı oluşturulabiliyorsa, uygulama içinden silinebilmesi de gerekiyor. Bunu ayarlara eklemeyi ilk seferde atlamıştım.
- Boş ya da yarım ekran. Henüz içerik girilmemiş bir bölümün boş görünmesi, incelemede “eksik uygulama” izlenimi veriyor. Boş ekranlara açıklayıcı metin ve eylem koymak bunu çözüyor.
- Ekran görüntüleri uygulamayla uyuşmuyor. Mağaza sayfasındaki görselin uygulamada bulunmayan bir ekranı göstermesi doğrudan ret sebebi.
- Gizlilik politikası eksik ya da erişilemiyor. Adresin çalışıyor olması ve uygulamanın gerçekten topladığı veriyi anlatması gerekiyor.
Ret aldığınızda yapılacak en kötü şey, aynı yapıyı küçük bir değişiklikle tekrar göndermek. Ret mesajına cevap yazıp neyi nasıl değiştirdiğinizi anlatmak — ya da neden mevcut halin uygun olduğunu savunmak — çoğu zaman daha hızlı ilerliyor.
Mağaza sayfası: aynı içerik, farklı vitrin
İki mağazanın sayfa yapısı da farklı çalışıyor:
- Anahtar kelime alanı. App Store’da açıklamadan ayrı, gizli bir anahtar kelime alanı var. Google Play’de böyle bir alan yok; anahtar kelimeler doğrudan başlık, kısa açıklama ve uzun açıklamadan çıkarılıyor.
- İlk görünen kısım. App Store’da alt başlık ve ilk ekran görüntüleri öne çıkıyor. Google Play’de kısa açıklama daha belirleyici.
- Ekran görüntüsü sayısı ve boyutları iki tarafta farklı; aynı görsel setini olduğu gibi kullanmak mümkün değil.
- Veri beyanı. Apple’da Gizlilik Etiketleri, Google’da Veri Güvenliği formu. İkisi de uygulamanın gerçekte ne topladığıyla birebir uyuşmalı — burada yanlış beyan en riskli hata.
Kendi kodunuz hiçbir şey toplamıyor olabilir ama eklediğiniz bir analitik ya da reklam kütüphanesi topluyorsa, beyan sizin sorumluluğunuzda. Uygulamaya bir bağımlılık eklerken “bu ne veri gönderiyor” sorusunu sormak, sonradan formu düzeltmekten çok daha ucuz.
Sürüm yönetimi tarafındaki fark
Google Play’de bir sürümü kullanıcıların küçük bir yüzdesiyle başlatıp durdurabiliyorsunuz — sorun görürseniz yayını duraklatıp yeni bir yapı gönderiyorsunuz. Apple tarafında aşamalı yayın var ama kontrolün ayrıntısı daha sınırlı; buna karşılık onaylanmış bir sürümü “ne zaman yayınlanacağını” elinizde tutabiliyorsunuz, bu da bir tarihe göre yayın yapmayı kolaylaştırıyor.
Ben bu farkı şöyle kullanıyorum: riskli değişiklikleri önce Google tarafında kademeli açıyorum, sahadan sinyal topluyorum, sonra Apple sürümünü gönderiyorum. Aynı özellik iki mağazada birkaç gün arayla açılıyor ama hata riski ciddi şekilde düşüyor.
Hangi tarafta ne kadar emek
Toparlarsam, iki mağazaya birden yayın yapacak birine söyleyeceğim şey şu: Apple tarafında uygulamanın kendisine, Google tarafında beyanlara ve politikalara daha çok zaman ayırın. Apple’da hazırlıksız yakalanacağınız yer boş bir ekran ya da anlaşılmayan bir akış; Google’da ise yanlış doldurulmuş bir form ya da eksik bir izin beyanı olacak.
İkisinin ortak noktası da şu: mağaza sayfası, uygulamanın kendisi kadar üzerinde durulmayı hak ediyor. Kullanıcı uygulamayı indirmeden önce sadece o sayfayı görüyor.
- Mobil Geliştirme
- App Store
- Google Play
- Yayın Süreci
Demir Taşdemir
Mobil Uygulama & Web Geliştirici
2018'den beri yazılım geliştiriyorum. App Store ve Google Play'de 11 uygulama yayınladım; şu an 6 mobil uygulama, 1 e-ticaret platformu ve 1 masaüstü oyun üzerinde çalışıyorum.
İlk yayınınızı mı yapacaksınız?
Her iki mağazada da yayın yaptım, ret de yedim. Süreci baştan planlamak, iki hafta kaybetmenizi engelleyebilir. Yayın süreciniz için destek isterseniz iletişim sayfasından yazabilirsiniz.