Her ne kadar bir uygulama üretmenin en zor yanı uygulamayı dizayn edip kodlamak gibi gözükse de, bir o kadar çetrefilli olan diğer bir süreç de uygulamanızın, uygulama dükkanlarında başarılı bir şekilde yer almasını sağlamak. Bu süreç Google Play’de nispeten daha basit. Geliştirici hesabınızdan gerekli bilgileri girip, uygulamanızın APK dosyasını yükledikten sonra tek yapmanız gereken beklemek; çünkü Google uygulamaları dükkanda gözükmeden önce herhangi bir test sürecinden geçirmiyor. Apple tarafında ise işler çok daha karmaşık. Apple uygulamanızı en ufak detayına kadar inceliyor. İşin kötüsü ise; Apple bu süreç konusunda hiç de şeffaf değil. Çoğunlukla uygulamanızın neden reddedildiğine dair çok spesifik bir açıklama bulmakta zorluk çekiyorsunuz. Apple yakın zamanda bu konu ile ilgili bir makale yayınladı ve uygulamaların en çok hangi sebeplerden ötürü reddedildiğini geliştiriciler ile paylaştı. Gelin bu makaleye bir bakalım.
(Kaynak: https://developer.apple.com/app-store/review/rejections/)
- Eksik / Yetersiz Bilgi (Reddedilme Sebepleri Arasındaki Yüzdesi: %12)
Uygulamanızı Appstore’a koyarken Apple sizden açıklama, ekran görüntüleri, iletişim bilgileri gibi birçok bilgi isteyecektir. Bu bilgilerdeki eksikler veya hatalar uygulamanızın reddedilmesine sebep olur.
Bu tür sebeplerden ileri gelen reddedilmeler “Metadata rejected” başlığı altında toplanır ve uygulamanızı tekrar yüklemeniz gerekmeyeceği için, gerekli düzeltmeleri yaptıktan sonra uygulamanız tekrar uzun inceleme sürecine girmez ve 1 – 2 gün içinde onay alabilir.
- Buglı (Hatalı) Uygulamalar (Reddedilme Sebepleri Arasındaki Yüzdesi: %9)
Apple uygulamanızı test ederken buglarla (hatalar) karşılaşırsa maalesef direkt olarak uygulamayı reddediyor. Bu durumla karşılaşmamak için yapılması gereken en iyi iş, uygulamanızı defalarca farklı durumlarda, farklı cihazlarda, eğer internet kullanıyorsa; farklı bağlantı çeşitleri ve hızlarında test etmek. Doğal olarak -genellikle amatör- geliştiriciler uygulamaları tamamlandıktan hemen sonra uygulamaların dükkanlarda yerini almasını istiyor. Ancak hem sonradan kafanızın ağrımaması için, hem de inceleme sürecine kafanızın rahat girmesi için kendinize en az 3 – 4 günlük bir test zamanı ayırmanızın sizin için en yararlısı olacağını düşünüyorum. Amerikalıların dediği gibi “Better safe than sorry.”
Bu tür sebeplerden kaynaklanan reddedilmelerde yeni IPA yüklememiz gerekeceği için maalesef inceleme süreci tekrar sıfırdan başlar ve yaklaşık 8 – 10 gün sürer.
- Kullanıcı Arayüzünün Karışık / Yetersiz Olması (Reddedilme Sebepleri Arasındaki Yüzdesi: %5)
Apple’ın günümüzdeki konumuna gelmesinin başlıca sebeplerinin biri de mükemmel bir kullanıcı deneyimi yaşatmasıdır. Bunu da kusursuz bir kullanıcı arayüzü sunarak yapar. Dolayısıyla Apple sizden bu şekilde bir deneyim hazırlamanızı bekliyor olacak. Tabi ki kreatif olarak özgürsünüz; ancak fonksiyonelite olarak uygulamanızın karışık olmaması ve kullanımın doğal olması gerekir.
- Uygulama İsminin, Ekran Görüntülerinin veya İçeriğinin Uygulamanın Kendisi ile Alakasız Olması (Reddedilme Sebepleri Arasındaki Yüzdesi: %4)
Bu başlık altındaki reddedişler genelde geliştiricilerin uygulamaların daha fazla indirilmesi için uygulamaya çalıştıkları küçük kurnazlıklardan kullanılıyor. Örneğin bir el feneri uygulaması yaptınız ve biliyorsunuz ki uygulama dükkanlarında en çok aratılan oyun Clash of Clans oyunu. Eğer uygulamanızın uygulama dükkanındaki ismini Flashlight XYZ – Clash of Clans gibi koyarsanız; uygulamanızın reddedilmesi kaçınılmazdır. Bu örnek size çok ekstrem gelmesin; çünkü bu gibi çok örnek var. Uygulamaların içeriği ve ekran görüntüleri için de benzer “mini çakallıklar” yapıldığını da söyleyebiliriz.
Apple’ın isimlerin yapısı gibi konusunda da uyulmasını şart koştuğu bazı direktifler de var. Örnek verelim:
God of War oyunundaki bir karakter olan Kratos ile ilgili bir uygulama yaptınız. Dolayısıyla God of War isminden de, önemli bir anahtar kelime olduğundan yararlanmak istiyorsunuz. Sonuç olarak ismi şu şekilde koydunuz: Kratos (God of War) Uygulamanız maalesef reddedilecektir; çünkü direktiflere göre bu şekilde “tagline” kullanan uygulamaların isim yapısı yine örneğimiz üzerinden gidersek şu şekillerden biri gibi olmalıdır:
- Kratos – for God of War
- Kratos – God of War Edition
- Kratos – God of War Version
Bu ve bunun gibi direktiflerin yer aldığı Apple’ın geliştiriciler için yayınladığı rehberin linkini yazının sonunda vereceğim.
- IOS Geliştirici Programı Sözleşmesine Aykırı Olunması (Reddedilme Sebepleri Arasındaki Yüzdesi: %3)
Programa dahil olurken “Accept, accept” diyerek geçtiğimiz çarşaf çarşaf yazılar var ya; işte oradaki bir maddeye aykırı bir uygulama hazırlamışsınız. Neyse ki Apple size hangi maddeye muhalefet olduğunuzu bildiriyor. Burada sözleşme imzaladığınız için, uygulamanızı Apple’ın istediği şekle çevirmekten başka bir şansınız yok.
- Uygulamın Dükkandaki Adının, Cihaza Yüklendikten Sonraki Adından Çok Farklı Olması (Reddedilme Sebepleri Arasındaki Yüzdesi: %3)
Yine örneğimiz üzerinden gidelim. Uygulamamızın dükkandaki ismi Kratos – for God of War‘du. Tireden sonra gelen ve for ile başlayan taraf reklam amaçlı koyduğumuz “tagline”ımız. Dolayısıyla isimden bu bölümü çıkarmamızda hiçbir sıkıntı yok. Cihaz üzerinde uygulamamız direkt olarak Kratos olarak gözükebilir. Buradaki “- for, – edition, – version” kalıplarının amacı da bu zaten.
- Yanlış Yönlendirici Uygulama İsimleri veya İkonları Kullanılması (Reddedilme Sebepleri Arasındaki Yüzdesi: %3)
Bu başlık altındaki reddedilmelerin sebebi kullanıcıya vaad ettiğiniz özellikler ile uygulamanızın gerçek özelliklerinin örtüşmesi. Örneğin uygulamanızın adı İddia Oyna olsun; ancak siz uygulama içinde sadece maçların canlı sonuçlarını gösteriyor; iddia oynatmıyor olun. Bu durumda kullanıcıyı yanlış yönlendiriyor oluyorsunuz ve uygulama dükkanına maalesef giremiyorsunuz.
- Uygulamanın IOS Veri Depolama Kurallarına Uymaması (Reddedilme Sebepleri Arasındaki Yüzdesi: %3)
Uygulamanızın veri kaydediş şekli IOS verin veri depolama kurallarına uymuyor. Apple spesifik olarak hangi madde ile ilgili probleminiz olduğunu size bildirecektir. Buna göre gerekli düzenlemeyi yapmalısınız.
- Uygulamanızın Çökmesi (Reddedilme Sebepleri Arasındaki Yüzdesi: %3)
Bu başlık üzerinde çok konuşulacak bir şey yok aslında. Apple’a hatasız, çökmeyen bir uygulama yollamalısınız. Ne sebeple olursa olsun uygulamanız test sırasında çökerse, o build ile onay almak hayal olur.
Şahsen ben, en çok dikkat edilmesi gerekilen konunun “memory leak” problemi olduğunu düşünüyorum. Özellikle amatör geliştiricilerin kolaylıkla gözden kaçırabileceği ve uygulamanın açık bulunduğu süreye göre sonuçta kesin olarak uygulamayı çökertecek bir durum olduğu için; çok dikkat edilmesi gerekir. Konuyla ilgili gerekli bilgiyi Google’da aratarak bulabilirsiniz.
- Çocuk Kategorisindeki Uygulamaların Ödemeler için Ebeyn Onayı Mekanizmasını Kullanmaması (Reddedilme Sebepleri Arasındaki Yüzdesi: %2)
Geçmişte Apple’ın kafası bu konu ile ilgili çok ağrıdı. Anne babalarının kredi kartlarını oyun içi ödemeleri gerçekleştirmek için kullanan küçükler yüzünden Apple; bu durumlara karşı bir sistemi olmadığından defalarca mahkemeye verilip, mahkemeleri kaybetti. Sonuç olarak bir ebeyn onayı mekanizması geliştirildi. Çocuk kategorisine ücretli bir uygulama veya sonradan ücret tahsil edebileceğiniz bir uygulama koymak istiyorsanız, bu mekanizmayı zorunlu olarak kullanmak zorundasınız. Aksi takdirde uygulamanız asla onaylanmaz.
Bu maddeler Apple’ın uygulamaları reddetmesindeki en göze çarpan nedenler. Bu durumlarla ve daha fazlaları ile karşılaşmamak için şu rehberi iyice okuyup sindirmenizi tavsiye ederim.