App Store'da Uygulama Yayınlamadan Önce Bilmeniz Gerekenler

Koddly

Administrator
Yönetici
1. Hesap Kurulumu
App Store Connect kullanabilmek için öncelikle Apple Developer Program'a üye olmanız gerekiyor. Bu süreç genellikle 24-48 saat sürer.
Gerekli Adımlar:
  • Apple Developer Program'a kayıt
  • Two-factor authentication aktif edilmeli
Banking Setup (Türkiye İçin)
App Store'dan gelir elde etmek için banka hesabı bilgilerinizi doğru girmek kritik. Apple'ın interface'i Türkiye bankaları için tam uyumlu değil.
Zorunlu Alanlar:
Bank Country:
Türkiye
Currency: TRY – Turkish Lira
Account Name: İsteğe bağlı (örn: Garanti BBVA)
IBAN: TR ile başlayan tam IBAN numaranız
Banka Kodu/Şube Kodu (Zor Alan):
Format:
XXXX XXXXX XXX (boşlukla ayrılmış)
  • 1. Kısım (4 hane): Banka kodu (örn: Garanti BBVA için 0062)
  • 2. Kısım (5 hane): Şube kodu (örn: 5678 → 05678)
  • 3. Kısım (3 hane): İl plaka kodu (örn: Ankara için 006)
Örnek: 0062 05678 006
Account Number:
IBAN'ınızın son 16 hanesi (boşluksuz)
Örnek: TR330006200000012345678901 → 0000012345678901
Banka Kodu Bulma:
  • Google'da "[Banka Adı] banka kodu" arayın
  • Şube kodu için internetten bulamazsanız bankanızla iletişime geçebilirsiniz

2. Yeni App Oluşturma
App Store Connect'te "My Apps" bölümünden yeni app kaydı oluşturarak devam ediyoruz.
Temel Bilgiler:
  • App Name: 30 karakter max, App Store'da benzersiz olmalı
  • Primary Language: Varsayılan dil (sonradan localization eklenebilir)
  • Bundle ID: Xcode project ile birebir eşleşmeli (değiştirilemez!)
  • SKU: Internal ID (kullanıcılara görünmez)
  • Platform: iOS, iPadOS, macOS seçenekleri
User Access Seçenekleri:
  • Full Access: Tüm team members görebilir
  • Limited Access: Sadece seçili kullanıcılar

3. Build Upload İşlemi
App listing'iniz hazır olduktan sonra, compiled app dosyanızı (binary) App Store Connect'e yüklemeniz gerekir.
Yöntemler:
  • Xcode → Archive → Distribute App → App Store Connect
  • Transporter (Mac App Store'dan indir, .ipa file drag & drop)
Önemli Kontroller:
  • Release configuration ile build alın
  • Version (CFBundleShortVersionString) ve build number (CFBundleVersion) doğru olmalı
  • App icon ve launch screen dahil edilmeli
  • Debug/placeholder content temizlenmeli

4. App Store Metadata
Bu bölüm kullanıcıların App Store'da göreceği tüm bilgileri kapsar. İyi hazırlanmış metadata, app'inizin keşfedilmesini ve indirilmesini doğrudan etkiler.
App Information
Temel Bilgiler:
  • App Name ve Subtitle (30 karakter max)
  • Primary Category ve Secondary Category (opsiyonel)
  • Content Rating (Apple'ın anketini doldurun)
  • App Icon (1024×1024px PNG, alpha channel yok)
  • Privacy Policy URL (Tüm applar için zorunlu – 2025)
Version Details
Açıklama ve Görsel Materyaller:
  • Description: 4000 karakter max
  • Keywords: 100 karakter max, virgülle ayrılmış
  • Screenshots: Device size'lara göre (iPhone / iPad)
Zorunlu URL'ler:
  • Privacy Policy URL: Tüm applar için zorunlu (Description içinde bulunmalı)
  • Terms & Conditions URL: (Description içinde bulunmalı)
  • Support URL: (User support için Google Form kullanılabilir)

5. Privacy & Data Collection
Veri toplama practices'inizi doğru bir şekilde açıklamak, app rejection'dan kaçınmak için oldukça önemli. En çok reject gelen konulardan biri.
App Privacy Questionnaire:
  • Hangi veri toplandığını belirtin
  • Data usage purpose açıklayın
  • Third-party SDK'ların veri kullanımı dahil, onların privacy policy linkini kendi privacy policy içinde ekleyin
Privacy "Nutrition Label":
  • Contact Info, Location, Usage Data vs.
  • Tracking purposes
  • Data sharing practices
En Yaygın Data Types ve Cevapları
User Content:
  • Photos or Videos: Kullanıcı fotoğraf/video yüklüyorsa seç
  • Purpose: "App Functionality" (galeri, profil fotoğrafı vs.)
  • Linked to identity: Genelde "Yes" (kullanıcının profiliyle bağlantılı)
Identifiers:
  • User ID: Kullanıcı hesabı varsa mutlaka seç
  • Purpose: "Analytics + App Functionality"
  • Linked to identity: "Yes"
  • Tracking: Reklam/analytics varsa "Yes"
  • Device ID: Analytics SDK varsa (Firebase, Mixpanel)
  • Purpose: "Analytics"
  • Tracking: "Yes" (çoğunlukla)
Usage Data:
  • Product Interaction: Her app için gerekli
  • Purpose: "Analytics + App Functionality"
  • Linked to identity: Analytics varsa "Yes"
  • Advertising Data: Reklam gösteriyorsa
  • Purpose: "Third-party advertising"
  • Tracking: "Yes"
Location:
  • Precise Location: GPS kullanıyorsa
  • Purpose: "App Functionality"
  • Linked to identity: "Yes"
  • Coarse Location: Şehir bazında konum
  • Purpose: "App Functionality"
Contact Info:
  • Email Address: Login/registration varsa
  • Purpose: "App Functionality"
  • Linked to identity: "Yes"
  • Name: Kullanıcı profili varsa
  • Purpose: "App Functionality"
  • Linked to identity: "Yes"
Özel Veri Türleri İçin Notlar
  • Health Data: HealthKit kullanımı belirtilmeli, medical claims reject sebebi
  • Face Data: Ne kadar süre DB de tuttuğunu privacy policy içinde belirtmelisin, aksi halde reject sebebi
  • Location Data: Always/When in Use permissions açık belirtilmeli
ATT (App Tracking Transparency):
  • iOS 14.5+ için zorunlu
  • Tracking permission request gösterilmeli
  • Review sırasında ATT prompt görünür olmalı
  • Purpose string net ve anlaşılır olmalı, aksi halde reject sebebi
Common SDK'lar ve Privacy Impacts:
  • Firebase Analytics: User ID + Usage Data + Device ID
  • Google Ads: Advertising Data + User ID (tracking purpose)
  • Facebook SDK: User ID + Usage Data (tracking purpose)
  • Crashlytics: Crash Data + Device ID

6. Pricing & Availability
App'inizin nasıl ve nerede satılacağını belirlemeniz gerekiyor. Bu ayarlar launch sonrası da değiştirilebilir.
Fiyatlandırma:
  • Free Apps: Ücretsiz indirme, in-app purchase olabilir
  • Price Tier System: Apple'ın önceden belirlediği fiyat seviyeleri
  • Freemium Model: Ücretsiz indirme + premium features için IAP
  • Subscription Model: Haftalık/aylık/yıllık abonelik sistemi
Fiyat Değişiklikleri:
  • Existing users için price increase notification gönderilir
  • Free'den paid'e geçiş mümkün ama risky (user reaction)
  • Paid'den free'e geçiş kolay ama geri dönüş zor
  • Seasonal pricing (tatil indirimleri) yapılabilir
Review Süreci ve Pricing:
  • Free Apps: Daha hızlı review (genelde 24-48 saat)
  • IAP & Subscription Apps: In-app purchase'lar ayrı review sürecinden geçer, review ile birlikte product beraber eklenmeli. Review kısmında paywall ve productlar net bir şekilde gözükmeli. Hangi özelliği, ne kadar süre ile açtığı bir şekilde belirtilmeli. Privacy Policy & Terms Condition linkleri paywall içinde net bir şekilde gözükmeli aksi halde reject sebebi.
Dağıtım Seçenekleri:
  • Automatic Release: Onaylandığında otomatik yayın
  • Manual Release: Onaylandıktan sonra manuel yayın
  • Scheduled Release: Belirli tarihte yayın

7. App Review Süreci
Bu noktada app'inizi Apple'ın review team'ine gönderiyorsunuz. Her şeyin tam olduğundan emin olun çünkü rejection sonrası yeniden submit etmek zaman kaybeder.
Review Öncesi Checklist:
  • Build seçildi ve işlendi ✓
  • Tüm metadata tamamlandı ✓
  • Screenshots yüklendi ✓
  • Pricing ayarlandı ✓
  • Privacy questionnaire doldu ✓
  • Demo account (gerekiyorsa) sağlandı ✓
Review Timeline:
  • Ortalama süre: 1-3 gün (2025)
  • Çoğu review 24-48 saat içinde
  • Approval sonrası 24 saat içinde store'da görünür
Status Takibi:
  • Activity tab → App Store Versions
  • Email notification'lar gelir
  • In Review → Approved/Rejected
App Updates:
Update Süreci:

  • Yeni version oluştur (1.1, 1.2 vs.)
  • New build upload
  • "What's New" text
  • Phased Release seçeneği (7 gün gradual rollout)

8. Common Pitfalls
Privacy Policy Hazırlama:
  • Zorunlu içerik: Hangi veri toplandığı, nasıl kullanıldığı, kimle paylaşıldığı
  • Generator tools: Google Sites, ücretsiz ve deploy etmesi oldukça kolay
Terms & Conditions:
  • Subscription apps: Otomatik renewal terms açıklanmalı
  • In-app purchases: Refund policy belirtilmeli
  • User-generated content: Moderation rules
  • Template: Apple'ın sample terms kullanılabilir
Support URL:
  • Options: Google Form, veya email redirect
  • Kullanıcılar Auth olmadan ulaşabilmeli
Rejection Sebepleri:
  • Incomplete metadata
  • Missing privacy policy
  • Incorrect demo credentials
  • App crashes during review
  • Misleading screenshots
Bunlarla beraber App Store'a ait okunası tweetlere göz atmak isterseniz buraya bakabilirsiniz.

 
Geri
Üst