Tüm yazılar Mobil Geliştirme

App Store'a Uygulama Yüklerken Öğrendiğim 7 Ders

2021'de Swift'e geçtim, o günden beri Apple ekosisteminde çalışıyorum. Bu yazı, o süreçte yediğim redlerin ve "keşke ilk uygulamamda bilseydim" dediğim şeylerin dürüst dökümü.

DT
Demir Taşdemir Mobil Uygulama & Web Geliştirici
9 dk okuma

Mobil geliştirmeye 2020'de Android tarafında başladım, 2021'de Swift ile iOS'a geçtim ve ilk uygulamalarımı 2022'de mağazalara yükledim. O günden bugüne App Store ve Play Store'da 11 uygulama yayınladım. Bugün geriye dönüp baktığımda, teknik olarak zorlandığım kısımların değil, süreci bilmediğim için kaybettiğim zamanın canımı yaktığını görüyorum.

Aşağıdakiler, birilerinden duyduğum değil, bizzat başıma geldiği için bildiğim şeyler. Şu an geliştirdiğim üç uygulama — Vakti Geçmeden, Hadi Yapalım ve Sinepia — inceleme sürecinde ve bu listeyi hâlâ kullanıyorum.

1. Red yemek başarısızlık değil, sürecin parçası

İlk redimi aldığımda uygulamada temel bir sorun olduğunu sandım. Değildi. App Review ekibi bir kılavuz maddesine takıldığı için reddediyor ve size hangi maddeye takıldığını numarasıyla birlikte yazıyor. Bu aslında ücretsiz bir denetim raporu.

Yapılacak şey basit: Resolution Center'daki mesajı sonuna kadar okuyun, ilgili kılavuz maddesini açın ve tam olarak istenen şeyi yapın. Fazlasını değil. Kendi yorumunuzu katıp "belki şunu da düzeltsem" demeyin — yeni bir yüzey açarsınız, yeni bir maddeye takılırsınız.

İşe yarayan yaklaşım

Reddin ardından hemen yeni bir sürüm yüklemeyin. Önce Resolution Center'dan düzeltmeyi nasıl planladığınızı yazıp onay isteyin. Yanlış anladıysanız, bir inceleme turu daha kaybetmeden öğrenirsiniz.

2. En çok gizlilik beyanında takıldım

Kod tarafı hazır, ekran görüntüleri hazır, ama uygulama yine reddediliyor. Sebep neredeyse her seferinde aynıydı: App Privacy bölümünde beyan ettiğim veriler ile uygulamanın gerçekte topladığı veriler uyuşmuyordu.

Buradaki tuzak şu: sizin yazdığınız kod veri toplamıyor olabilir ama entegre ettiğiniz üçüncü parti kütüphaneler topluyor. Reklam SDK'sı, analitik aracı, çökme raporlama servisi — hepsi beyan edilmesi gereken veri topluyor.

  • Projedeki her bağımlılığın gizlilik dokümanını tek tek okuyun.
  • Topladıkları veriyi App Privacy formuna ekleyin — "toplamıyorum" demek en riskli seçenek.
  • Uygulamanın erişilebilir bir gizlilik politikası URL'si olsun. Statik bir sayfa yeterli; ben her uygulama için kendi web sitesinde bir sayfa açıyorum.

3. Hesap oluşturuyorsanız, hesap silme de sunmak zorundasınız

Bu kural bana bir sürümü tamamen kaybettirdi. Uygulamanız içinde kullanıcı hesabı oluşturulabiliyorsa, kullanıcının uygulama içinden hesabını silebilmesi zorunlu. "Bize e-posta atsın, biz sileriz" kabul edilmiyor.

Silme akışının da gerçekten çalışması gerekiyor: butona basınca hesap ve ona bağlı veriler gitmeli. İncelemeci bunu test ediyor. Firebase veya Supabase kullanıyorsanız bu işlem bir sunucu fonksiyonuyla yapılabilir — ama baştan planlamazsanız sonradan eklemek veri modelinizi dağıtabilir.

Baştan planlayın

Veri modelini kurarken "bu kullanıcı silinirse hangi kayıtlar ne olacak?" sorusunu sorun. Sonradan sormak, canlıdaki veriyi taşımak demek.

4. Mağaza sayfası, uygulamanın kendisi kadar önemli

Uzun süre şunu düşündüm: iyi bir uygulama yaparsam gerisi gelir. Gelmiyor. Kullanıcı sizi indirmeden önce sadece ikonunuzu, başlığınızı ve ilk iki ekran görüntünüzü görüyor. Karar orada veriliyor.

ASO — yani App Store Optimization — tarafında en çok fark yaratan üç şey:

  • Alt başlık (subtitle): Uygulamanın ne işe yaradığını 30 karakterde anlatın. Slogan değil, işlev yazın.
  • İlk iki ekran görüntüsü: Ham ekran fotoğrafı yerine, üstünde kısa bir başlık olan tasarlanmış görseller kullanın. Ben bunları Photoshop ve Canva ile hazırlıyorum.
  • Anahtar kelime alanı: 100 karakter. Kelimeleri virgülle ayırın, boşluk koymayın, başlıkta zaten geçen kelimeleri tekrar etmeyin.

5. İncelemeciye işini kolaylaştırın

App Review notlarına yazdığınız her cümle, inceleme süresini kısaltıyor. Benim standart şablonum şu:

Test hesabı:
  E-posta : test@ornek.com
  Şifre   : ...

Ana özelliği denemek için:
  1. Giriş yapın
  2. Ana ekranda "+" butonuna dokunun
  3. ...

Not: Bildirim izni isteyen ekran ilk açılışta çıkar.
Konum verisi yalnızca X özelliği için kullanılır, arka planda toplanmaz.

Uygulamanın anlaşılması zor bir tarafı varsa 20–30 saniyelik ekran kaydı da ekliyorum. İncelemeci sizin ürününüzü ilk kez görüyor; anlamadığı bir şey varsa reddetmesi, anlamaya çalışmasından daha hızlı.

6. İnceleme süresini takvime yazmayın

"24 saatte onaylanır" diye bir kural yok. Bazen 8 saatte geçtim, bazen 4 gün bekledim. Bayram dönemlerinde ve büyük iOS sürümlerinin çıktığı haftalarda süre uzuyor.

Bu yüzden sabit bir lansman tarihi verecekseniz:

  • Onay aldıktan sonra otomatik yayınlamayı kapatın, manuel yayınlama seçin. Böylece uygulama onaylanır ama siz "yayınla" diyene kadar mağazada görünmez.
  • Planladığınız tarihten en az bir hafta önce gönderin.
  • Pazartesi göndermek, cuma göndermekten daha iyi sonuç veriyor — hafta sonuna denk gelirse bekleme uzuyor.

7. Yayın bitiş çizgisi değil, başlangıç çizgisi

Bu, listedeki en pahalı ders. İlk uygulamalarımda "yayınladım, iş bitti" diye düşündüm ve indirme sayısının kendiliğinden artmasını bekledim. Artmadı.

Bir uygulamanın yayından sonra ihtiyaç duyduğu şeyler:

NeNedenNe sıklıkta
Çökme raporlarını izlemekKullanıcı çöken uygulamayı bildirmez, silerHaftalık
Yorumlara cevap yazmakPuan ortalamasını doğrudan yükseltiyorHaftalık
Mağaza metnini güncellemekHangi kelimeden geldiklerini görüp iyileştirmekAylık
Küçük sürüm çıkarmakAktif geliştirilen uygulamalar sıralamada avantajlı4–6 haftada bir

Ben bu yüzden 2025'ten itibaren sadece kod tarafında kalmayı bıraktım; SEO, ASO ve dijital pazarlama öğrendim. Bir özelliğin çalışması yetmiyor — bulunması ve kullanılması gerekiyor.

Özet

Uygulama geliştirmenin zor kısmı çoğu zaman kod değil, kodun etrafındaki süreç. İyi haber şu ki bu süreç öğrenilebilir ve bir kez öğrendikten sonra her uygulamada tekrar tekrar işinize yarıyor.

Bir uygulamanın bittiği yer App Store'a yüklendiği an değil; kullanıcıya ulaştığı, ölçüldüğü ve büyüdüğü andır.

  • App Store
  • iOS
  • Swift
  • App Review
  • ASO
  • Yayın süreci
Paylaş: LinkedIn X WhatsApp
DT

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. Swift ve Java'da ileri, Firebase ve Supabase tarafında iyi seviyedeyim.

Ekibinizde böyle bir bakış açısı arıyorsanız

Uygulamayı yazan ve yayına alan taraf aynı kişi olduğunda süreç hızlanıyor. CV'me ve projelerime aşağıdan ulaşabilirsiniz.