İlk kez uygulama yayınlayan ekiplerin çoğu, App Store Connect'te "Rejected" durumunu en az bir kez görür. App Store red sebepleri çoğu zaman sürpriz değildir: Apple'ın App Review Guidelines belgesinde açıkça tanımlanmış kurallara dayanır ve büyük kısmı yayın öncesinde önlenebilir. Bu yazıda en sık karşılaşılan ret nedenlerini, her biri için pratik çözümleri ve incelemeye göndermeden önce kullanabileceğiniz bir kontrol listesini paylaşıyoruz.
Apple kuralları ve madde numaralarını zaman zaman günceller. Aşağıdaki başlıklar yazının hazırlandığı dönemdeki yönergelere dayanıyor; kesin ifade için her zaman Apple'ın resmi App Review Guidelines sayfasını kontrol edin.
App Review Süreci Nasıl İşler?
Bir sürümü incelemeye gönderdiğinizde Apple ekibi uygulamayı gerçek cihazlarda test eder, meta verileri (ad, açıklama, ekran görüntüleri, gizlilik beyanları) kontrol eder ve yönergelere uygunluğu değerlendirir. Ret durumunda Resolution Center üzerinden ilgili madde numarası ve kısa bir açıklama iletilir. Bu mesajı dikkatle okumak, çözüme giden en kısa yoldur.
- Bazı retler sadece meta veri ile ilgilidir; yeni bir build göndermeden düzeltilebilir.
- Bazı durumlarda Apple ek bilgi ister; bu bir ret değil, sorudur ve yanıtlamanız yeterli olabilir.
- Karara katılmıyorsanız Resolution Center'dan açıklama yapabilir veya App Review Board'a itiraz edebilirsiniz.
En Sık Karşılaşılan App Store Red Sebepleri
| Yönerge | Konu | Tipik sebep |
|---|---|---|
| 2.1 | App Completeness | Çökme, çalışmayan buton, boş ekran, eksik demo hesabı |
| 2.3 | Accurate Metadata | Ekran görüntülerinin uygulamayı yansıtmaması, yanıltıcı açıklama |
| 4.2 | Minimum Functionality | Web sitesini saran, yeterli işlev sunmayan uygulama |
| 4.3 | Spam | Aynı uygulamanın çok sayıda kopyası, şablon uygulamalar |
| 3.1.1 | In-App Purchase | Dijital içeriği Apple dışı ödeme ile satmak |
| 5.1.1 | Data Collection and Storage | Gereksiz izin, eksik gizlilik politikası, hesap silme imkanı olmaması |
| 4.8 | Login Services | Üçüncü taraf girişin yanında gereken alternatif giriş seçeneğinin sunulmaması |
Guideline 2.1: Uygulama eksik veya hatalı
En yaygın ret nedenidir. İnceleme ekibi uygulamayı açtığında çökme, sonsuz yüklenme veya çalışmayan bir özellikle karşılaşırsa uygulama reddedilir.
Çözüm önerileri:
- Uygulamayı TestFlight üzerinden farklı cihaz ve iOS sürümlerinde test edin.
- Giriş gerektiren uygulamalarda App Review Information bölümüne çalışan bir demo hesabı ekleyin. Hesabın süresinin dolmadığından ve içinin dolu olduğundan emin olun.
- Sunucu tarafının inceleme sırasında erişilebilir olduğunu kontrol edin; staging ortamı kapatılmışsa inceleme başarısız olur.
- Özel donanım veya konum gerektiren özellikler için açıklama ve gerekirse demo videosu ekleyin.
Guideline 4.2 ve 4.3: Minimum işlevsellik ve spam
Apple, sadece bir web sitesini WebView içinde gösteren veya çok sınırlı işlev sunan uygulamaları genellikle kabul etmez. Aynı şekilde küçük farklarla çoğaltılmış uygulamalar da spam olarak değerlendirilebilir.
Çözüm önerileri:
- Mobil deneyime özgü değer ekleyin: bildirimler, çevrimdışı kullanım, kamera veya konum gibi cihaz özellikleri, yerel arayüz bileşenleri.
- Birden fazla şube veya müşteri için ayrı uygulamalar yerine tek bir uygulama içinde seçim yapılabilen bir yapı düşünün.
- Ret mesajına yanıt verirken uygulamanın web sitesinden farkını somut olarak açıklayın.
Spam kapsamındaki retlerde dikkat edilmesi gereken bir nokta da hazır şablonlardır. Aynı kod tabanıyla üretilmiş ve sadece logo ile renkleri değişen çok sayıda uygulama, farklı geliştirici hesaplarından gönderilse bile benzer şekilde değerlendirilebilir. Bu durumda Apple, genellikle içeriği tek bir uygulamada toplamayı önerir.
Bu tür retler çoğu zaman ürün kararlarından kaynaklandığı için, projenin başında platforma uygun bir kapsam belirlemek önemlidir. Mobil uygulama geliştirme sürecinde bu değerlendirmeyi en başta yapıyoruz.
Guideline 3.1.1: Uygulama İçi Satın Alma Kuralları
Uygulama içinde tüketilen dijital içerik, abonelik veya premium özellik satıyorsanız, genel kural olarak Apple'ın uygulama içi satın alma sistemini kullanmanız gerekir. Fiziksel ürün ve hizmet satışı (örneğin e-ticaret siparişi, taksi yolculuğu) bu kuralın dışındadır.
- Dijital içerik için harici ödeme bağlantısı veya "web sitemizden daha ucuza alın" gibi yönlendirmeler ret sebebidir.
- Bazı bölgelerde (örneğin AB'de ve ABD'de) yasal düzenlemelerle harici ödeme ve bağlantı kurallarında değişiklikler yapıldı. Bu istisnalar ülkeye ve programa göre farklılık gösterdiği için güncel koşulları resmi kaynaklardan doğrulayın.
- Abonelik ekranlarında fiyat, süre ve yenileme koşullarının açıkça gösterilmesi, "Satın Alımları Geri Yükle" seçeneğinin bulunması beklenir.
Guideline 5.1: Gizlilik ve Veri Toplama
Gizlilikle ilgili retler son yıllarda belirgin şekilde arttı. Dikkat edilmesi gerekenler:
- Gizlilik politikası: Hem App Store Connect'te hem de uygulama içinde erişilebilir olmalı.
- İzin açıklamaları: Kamera, konum, kişiler gibi izinlerin neden istendiği, Info.plist metinlerinde net ve spesifik olarak açıklanmalı.
- Hesap silme: Uygulama içinde hesap oluşturulabiliyorsa, hesabın uygulama içinden silinmesi de başlatılabilmelidir.
- Privacy Nutrition Label: App Store Connect'teki gizlilik beyanı, üçüncü taraf SDK'lar dahil gerçek veri toplama davranışıyla uyumlu olmalı.
- Takip izni: Kullanıcıyı başka şirketlerin uygulama ve siteleri arasında takip ediyorsanız App Tracking Transparency izni gerekir.
Meta Veri Kaynaklı Retler ve Tasarım Sorunları
Ekran görüntülerinde uygulamada olmayan özellikler göstermek, başka platformlara (örneğin Android) atıf yapmak, test veya "beta" ifadeleri kullanmak meta veri retlerinin tipik sebepleridir. Ayrıca iPad'de düzgün görünmeyen arayüzler veya Human Interface Guidelines'tan belirgin şekilde sapan tasarımlar da sorun çıkarabilir. Tasarım aşamasında platform kurallarını gözetmek için UI/UX tasarım sürecini geliştirme ile birlikte yürütmek faydalıdır.
İncelemeye Göndermeden Önce Kontrol Listesi
- Uygulama son build ile temiz kurulumda çökmeden açılıyor mu?
- Demo hesabı çalışıyor ve içerik dolu mu?
- Tüm butonlar ve bağlantılar çalışıyor mu? Boş veya "yakında" ekranı var mı?
- Gizlilik politikası bağlantısı ve hesap silme akışı mevcut mu?
- İzin metinleri açık ve amaca uygun mu?
- Dijital satışlar uygulama içi satın alma ile mi yapılıyor?
- Ekran görüntüleri ve açıklama güncel sürümü doğru yansıtıyor mu?
- Review Notes alanında özel durumları açıkladınız mı?
Bir ret aldığınızda paniğe gerek yok. Ret mesajına yanıt verirken kısa, net ve kanıta dayalı olun: hangi değişikliği yaptığınızı, sorunlu ekranın artık nasıl çalıştığını ve gerekiyorsa ekran görüntüsü veya video ile açıklayın. Aynı build'i açıklama eklemeden tekrar göndermek genellikle aynı sonucu verir. Sık ret alan ekiplerde sorun çoğu zaman tek bir hata değil, yayın öncesi kontrol sürecinin eksikliğidir; bu listeyi sürüm sürecinizin sabit bir adımı haline getirmek ret oranını belirgin şekilde azaltır.
Kendi uygulamalarımızı (uygulamalar sayfamızda görebilirsiniz) yayınlarken de bu listeyi kullanıyoruz. Uygulamanız reddedildiyse veya ilk incelemeye hazırlanıyorsanız, BernSoftware ekibi olarak ret mesajını değerlendirip çözüm planı çıkarmaya yardımcı olabiliriz; bize ulaşın.
Sıkça sorulan sorular
App Store incelemesi ne kadar sürer?
Apple incelemelerin büyük çoğunluğunu genellikle bir ile iki gün içinde tamamlar, ancak yoğun dönemlerde veya ek inceleme gerektiğinde süre uzayabilir. Kesin bir süre garanti edilmez.
Uygulamam reddedilirse ne yapmalıyım?
Resolution Center'daki mesajı ve belirtilen yönerge maddesini dikkatle okuyun, sorunu düzeltip yeni build veya meta veri ile tekrar gönderin. Karara katılmıyorsanız açıklama yazabilir ya da App Review Board'a itiraz edebilirsiniz.
WebView uygulaması App Store'a kabul edilir mi?
Sadece bir web sitesini gösteren uygulamalar genellikle Guideline 4.2 kapsamında reddedilir. Uygulamanın bildirim, çevrimdışı kullanım veya cihaz özellikleri gibi mobil deneyime özgü değer sunması gerekir.
Hesap silme özelliği zorunlu mu?
Uygulama içinde hesap oluşturulabiliyorsa, Apple'ın yönergelerine göre hesabın uygulama içinden silinmesinin de başlatılabilmesi gerekir. Bu eksiklik sık görülen bir ret sebebidir.
Böyle bir proje mi planlıyorsun?
10 adımda planla