Prototipten App Store başvurusuna: kontrol listemiz

Bir uygulama kendi iPhone'unuzda sorunsuz çalıştığında proje neredeyse bitmiş gibi görünür. Oysa App Store'a başvuru; formları, sözleşmeleri, hukuki metinleri ve kendi kuralları olan bir inceleme süreciyle başlı başına ayrı bir iştir. Bu yıl bu yolu kendi ürünlerimiz ContoTrip ve Avantido ile yürüdük. İki uygulamanın da başvurusu yapıldı ve inceleme süreci devam ediyor. Aşağıdaki kontrol listesi, bu süreçte öğrendiklerimizi özetliyor.

1. Doğru geliştirici hesabı

App Store'da satıcı olarak, geliştirici hesabının kayıtlı olduğu isim görünür. Bireysel (“Individual”) bir hesap kişisel bir isim gösterir ve sonradan kolayca bir şirkete devredilemez. Şirketinizin satıcı olarak görünmesini istiyorsanız “Organization” türünde bir hesaba ihtiyacınız var.

  • D-U-N-S numarası: Apple kuruluşlardan bu numarayı ister. Birçok şirketin zaten bir numarası vardır; Apple sorgulama için kendi aracını sunar.
  • Birebir şirket bilgileri: Dun & Bradstreet kayıtlarındaki unvan ve adres, ticaret sicilindekiyle tam olarak aynı olmalıdır. Her farklılık kaydı geciktirir.
  • İmza yetkisi: Hesabı açan kişinin şirket adına işlem yapmaya yetkili olması gerekir.

2. Sözleşmeler, vergi ve banka bilgileri

Bir uygulama ya da uygulama içi satın alma ücretli olabilmeden önce App Store Connect'te ücretli uygulamalar sözleşmesinin etkin olması gerekir. Buna banka hesabı, tüzel kişilik bilgileri ve ABD vergi formları dahildir; Alman bir limited şirket için bu W-8BEN-E formudur. Daha düşük komisyon sunan Small Business Program'a ise ayrıca başvurulur. Bu adımlar zaman alır ve başvuru gününe bırakılmamalı, projenin başında tamamlanmalıdır.

3. İmzalama ve iCloud: bir kerede doğru yapın

Geri alınamayan bir hata var: iCloud container'ları silinemez. Bir container yanlışlıkla yanlış ekip altında, örneğin kişisel bir hesapta kaydedilirse, adı orada kalıcı olarak dolu kalır. Avantido'da tam da bu nedenle farklı bir container adına geçmek zorunda kaldık. O günden beri kuralımız şu: İlk cihaz derlemesi daima şirket ekibiyle yapılır.

4. Gerçekten yayında olan zorunlu sayfalar

App Store Connect en azından bir gizlilik politikasını ve bir destek adresini erişilebilir URL olarak ister. Biz uygulamalarımız için ayrıca kullanım koşullarını ve bir künyeyi, uygulamanın desteklediği tüm dillerde yayımladık. Bu sayfaların başvuru anında yayında olması gerekir; çalışmayan bir bağlantı incelemede fark edilir.

5. Gizlilik etiketi ve gizlilik manifestosu

Uygulama gizliliği anketinde uygulamanın hangi verileri hangi amaçla topladığını belirtirsiniz. Bu bilgiler, uygulamanın içinde PrivacyInfo.xcprivacy olarak yer alan gizlilik manifestosuyla örtüşmelidir.

Yapay zeka özellikleri olan uygulamalarda dürüst olmak kazandırır. Uygulamalarımızın kendi sunucusu yok; yine de fotoğraflar ya da metinler, kullanıcının kendisinin ayarladığı yapay zeka sağlayıcısına gönderilir. Bunu üçüncü taraf tarafından toplanan, kullanıcının kimliğiyle ilişkilendirilmeyen ve izleme için kullanılmayan veri olarak beyan ediyoruz. Kullanıcının özel iCloud veritabanındaki veriler ise geliştiricinin bunlara erişimi olmadığı için beyan edilmek zorunda değildir.

6. Yaş sınırı ve ihracat uyumluluğu

Uygulamanızı iyi tanıyorsanız yaş sınırı anketi hızlıca yanıtlanır: Uygulama yalnızca kendine ait sabit bağlantıları açıyorsa bu sınırsız web erişimi sayılmaz; içerikler kişiye özel kalıyorsa anketteki anlamıyla kullanıcı tarafından oluşturulan içerik de değildir. İhracat uyumluluğu için, uygulama yalnızca sistemin şifrelemesini kullanıyorsa Info.plist dosyasında ITSAppUsesNonExemptEncryption değerini NO olarak ayarlıyoruz. Böylece bu soru her yüklemede yeniden sorulmaz.

7. İnceleme ekibi için notlar

En önemli ders şu: İnceleme ekibi, tanıttığınız her özelliği deneyebilmelidir. Bir özellik kullanıcının kendi API anahtarını gerektiriyorsa, inceleme notlarına çalışan bir test anahtarı ve bu anahtarın nereye girileceğini anlatan kısa, adım adım bir açıklama eklenmelidir. Anahtar yoksa Guideline 2.1 (App Completeness) gerekçesiyle ret almanız olasıdır. Uygulama onaylandıktan sonra test anahtarı sağlayıcı tarafında silinir.

8. Uygulama içi satın alma ve başvuru

Tek seferlik satın almalarda bir tuzak var: İlk tüketilemeyen (non-consumable) uygulama içi satın alma, bir uygulama sürümüyle birlikte incelemeye gönderilmelidir. Bizim deneyimimizde bu bağlantı API üzerinden değil, yalnızca tarayıcıda App Store Connect üzerinden kurulabildi. Bir sürüm reddedilirse satın alma da geri düşer ve bir sonraki başvuruda yeniden eklenmesi gerekir.

9. Yeni hesaplara gelen sorular

İnceleme geçmişi olmayan bir hesap çoğu zaman içerikle ilgili bir ret yerine önce bir soru formu (“Information Needed”) alır. Apple bu formda diğer konuların yanı sıra uygulamanın amacını sorar ve gerçek bir cihazda çekilmiş bir ekran kaydı ister. Önerimiz: Video, başvurusu yapılan derlemenin tam olarak kendisini, satın alma adımları ve yapay zeka özellikleri dahil göstermelidir.

10. Sürüm numaralarını dikkatle artırın

Her yeni yükleme daha yüksek bir derleme numarası gerektirir. Biz bu numarayı proje dosyasında artırıyor, hata düzeltmelerinde ayrıca sürüm numarasını da yükseltiyoruz. Hiç yayımlanmamış bir sürüm App Store Connect'te yeniden adlandırılabilir; bu durumda metinler, ekran görüntüleri ve gizlilik bilgileri korunur.

Sonuç

Başvuru, en sonda doldurulan bir form değil, projenin kendi başına bir adımıdır. Hesabı, sözleşmeleri, hukuki metinleri ve inceleme notlarını erkenden planlayan, uzun beklemelerden kurtulur. Bir uygulamayı App Store'a hazırlıyorsanız, hesap kurulumundan inceleme ekibine verilecek yanıta kadar bu adımda size memnuniyetle eşlik ediyoruz.

Yukarı çık