Aracılığıyla paylaş


Bölüm 6 - Test Etme ve App Store Onayları

Test Etme

Birçok uygulamanın (bazı mağazalarda Android uygulamaları bile) yayımlanmadan önce bir onay süreci geçirmesi gerekir; bu nedenle test, uygulamanızın pazara ulaşmasını sağlamak için kritik öneme sahiptir (müşterilerinizle birlikte başarıya ulaşmayı bırak). Test, geliştirici düzeyinde birim testinden çok çeşitli donanımlarda beta testini yönetmeye kadar birçok biçime sahip olabilir.

Tüm Platformlarda Test Et

.NET'in Windows telefon, tablet ve masaüstü cihazlarda neleri desteklediği arasında küçük farklılıklar olduğu gibi, iOS'ta dinamik kodun anında oluşturulmasını engelleyen sınırlamalar da vardır. Kodu geliştirirken birden çok platformda test etme planı yapın veya projenin sonunda uygulamanızın model bölümünü yeniden düzenlemek ve güncelleştirmek için zaman zamanlayın.

İşletim sisteminin birden çok sürümünü ve farklı cihaz özelliklerini/yapılandırmalarını test etmek için simülatörü/öykünücüyü kullanmak her zaman iyi bir uygulamadır.

Ayrıca, olabildiğince çok farklı fiziksel donanım cihazı üzerinde test etmelisiniz.

Buluttaki cihazlar

Cep telefonu ve tablet ekosistemi sürekli artmaktadır ve bu da sürekli artan sayıda cihaz üzerinde test yapmayı imkansız hale getiriyor. Bu sorunu çözmek için bir dizi hizmet, uygulamaların doğrudan çok sayıda donanıma yatırım yapmaya gerek kalmadan yüklenip test edilebilmesi için birçok farklı cihazı uzaktan denetleme olanağı sunar.

App Center Test, iOS ve Android uygulamalarını yüzlerce farklı cihazda test etmenin kolay bir yolunu sunar. Daha fazla bilgi için bkz . Xamarin.Android Uygulamalarını Hazırlama ve Xamarin.iOS uygulamalarını hazırlama.

Test Yönetimi

Kuruluşunuzdaki uygulamaları test ederken veya bir beta programını dış kullanıcılarla yönetirken iki zorluk vardır:

  • Dağıtım – Sağlama işlemini yönetme (özellikle iOS cihazları için) ve test edenlere yazılımın güncelleştirilmiş sürümlerini alma.
  • Geri Bildirim – Uygulama kullanımı hakkında bilgi toplama ve oluşabilecek hatalar hakkında ayrıntılı bilgi.

Kullanım ve hataları toplamak ve raporlamak için uygulamanızda yerleşik olarak bulunan bir altyapı sağlayarak ve ayrıca test edicilerin ve cihazlarının kaydolmasına ve yönetilmesine yardımcı olmak için sağlama işleminin akışını sağlayarak bu sorunları gidermeye yardımcı olan bir dizi hizmet vardır.

Visual Studio App Center , test sürümü dağıtımı, kilitlenme raporlaması ve gelişmiş uygulama kullanım bilgileri sağlayarak bu sorunlara bir çözüm sunar.

Test Otomasyonu

Xamarin UITest, yerel olarak çalıştırılan veya App Center Test'e yüklenebilen otomatik kullanıcı arabirimi test betikleri oluşturmak için kullanılabilir.

Birim Testi

Touch.Unit

Xamarin.iOS, JUnit/NUnit stili yazma testlerini izleyen Touch.Unit adlı bir birim testi çerçevesi içerir.

Test yazma ve Touch.Unit çalıştırma hakkında ayrıntılı bilgi için Xamarin.iOS ile Birim Testi belgelerimize bakın.

Andr.Unit

Android için Touch.Unit'in Andr.Unit adlı açık kaynak eşdeğeri vardır. Github'dan indirebilir ve @spouliot blogundaki araç hakkında bilgi edinebilirsiniz.

App Store Onaylar

Apple ve Microsoft platformlarındaki tek mağazayı işletmektedir: sırasıyla App Store ve Market. Hem cihazlarını kilitleyin hem de indirilebilecek uygulamaların kalitesini kontrol etmek için sıkı bir uygulama gözden geçirme işlemi uygulayın. Android'in açık doğası, yaygın olarak kullanılabilen ve gözden geçirme süreci olmayan Google's Play'den Android için Amazon Appstore'ya ve daha sınırlı dağıtıma sahip olan ve onay süreci uygulayan Samsung Apps gibi donanıma özgü çabalara kadar çeşitli mağaza seçenekleri olduğu anlamına gelir.

Bir uygulamanın gözden geçirilmesini beklemek çok stresli olabilir- iş baskıları genellikle uygulamaların "hedeflenen" bir başlatma tarihinden önce çok az hata marjı ile onay için gönderildiği anlamına gelir. İşlemin kendisi iki haftaya kadar sürebilir ve şeffaf olması şart değildir: Son olarak reddedilene veya onaylanana kadar uygulamanızın ilerleme durumu hakkında sınırlı geri bildirim sağlanır. Reddetme, özellikle birden çok kez gerçekleşirse ve ilk başlatma tarihinizle uygulamanın sonunda onaylanması arasında haftalar geçtiğinde, bir pazarlama fırsatı penceresinin eksik olması anlamına gelebilir.

Hazırlıklı olun

İlk öneri: Uygulamanızın lansmanını önceden iyi planlayın ve olası bir reddetme ve yeniden gönderim için izinler alın. Her mağaza, uygulamanızı göndermeden önce bir hesap oluşturmanızı gerektirir. Bunu mümkün olduğunca erken yapın. Uygulamalarınız ücretsizse Google Play'in kaydolması yalnızca birkaç dakika sürerken, bunları satıyorsanız ve bankacılık ve vergi bilgilerini sağlamanız gerekiyorsa süreç çok daha fazla devreye girer. Hem Apple hem de Microsoft'un süreçleri Google'ın süreçlerine kıyasla çok daha fazladır, hesabınızın onaylanması bir hafta veya daha fazla sürebilir, bu nedenle bu kez lansman planlarınıza dahil edin.

Hesabınız onaylandıktan sonra bir uygulama göndermeye hazırsınız demektir. Uygulamaları gönderme işlemi aşağıdaki belgelerde ele alınmıştır:

Bu bölümün geri kalanında uygulamanızın herhangi bir hıçkırık olmadan onaylandığından emin olmak için dikkate almanız gerekenler ele alınmaktadır.

Kalite

Kulağa çok açık geliyor, ancak uygulamalar belirli bir kalite düzeyini karşılamadıkları için genellikle reddedilecekler: sonuçta, bu nedenle seçilmiş mağazaların ilk etapta bir onay süreci var!

Kilitlenmeler reddetmenin yaygın bir nedenidir. Uygulamanızın kilitlenmesini sağlamak çok kolaysa reddedilmesi garanti edilir. Geliştiricilerin çoğu uygulamalarını kilitlenme beklentisiyle göndermez, ancak genellikle gönderirler. Uygulamanızı göndermeden önce kapsamlı bir şekilde test edin; yalnızca her şeyin çalıştığından emin olmakla kalmaz, aynı zamanda ağ sorunları ve bellek veya depolama alanı gibi kaynak kısıtlamaları gibi yaygın mobil hata senaryolarını da ele alırsınız. Test etmek için hem simülatörü hem de fiziksel cihazları kullanın. Kodun simülatörde ne kadar iyi çalıştığına bakılmaksızın, yalnızca bir cihaz uygulamanın gerçek performansını gösterebilir. Bulabildiğiniz kadar çok farklı cihaz kullanın ve varsa bir beta test ekibine kaydolun. Üçüncü taraf hizmetler beta dağıtımını ve geri bildirimi yönetmeye yardımcı olabilir.

Tüm mobil işletim sistemleri, yeterince hızlı başlatılmayan bir uygulamayı öldürür. İzin verilen süre değişir, ancak genel olarak uygulamalar birkaç saniye içinde yanıt vermeyi hedeflemeli ve daha uzun sürecek herhangi bir işi yapmak için arka plan görevlerini kullanmalıdır. Yüklenmesi çok uzun süren veya düzenli kullanımda yeterince yanıt vermeyen uygulamalar reddedilir. Arka planda bir şey olduğunda her zaman kullanıcı geri bildirimi sağlayın; aksi takdirde uygulama kilitlenmiş gibi görünür ve bir kez daha reddedilir.

Edge Servis Durumlarınızı denetleme

Geliştiriciler için yaygın bir tuzak, özellikle simülatörünü veya cihazlarını düzgün test etmek üzere yeniden yapılandırmayı gerektiren uç durumlarını ele alamamaktır. Geliştirici isteği bir kez kabul ettikten sonra bir daha sorulmayacak olması nedeniyle her müşterinin uygulamanızın konumuna erişmesine "İzin Verme" seçeneğinin olmadığını unutmak kolay olabilir. İzinler ve ağ kullanımı, onay işlemi sırasında özellikle odaklanılır, yani bu alanlardaki küçük bir gözetim reddedilmeyle sonuçlanabilir.

Aşağıdaki liste, kaçırılmış olabilecek uç servis taleplerini denetlemek için iyi bir başlangıç noktasıdır:

  • Müşteriler hizmetlere erişimi "reddedebilir"; özellikle iOS'ta coğrafi konum bilgileri gibi verilere erişim yalnızca kullanıcı uygulamanıza izin verirse sağlanır. Uygulama test edicileri, uygulamayı ilk durumunda sık sık yeniden yüklemeli ve uygulamanın uygun şekilde davrandığından emin olmak için herhangi bir izin isteğine izin vermemelidir. Müşteriler fikirlerini değiştirirken doğru davranışı doğrulamak için izni açıp kapatın.
  • Müşteriler her yerde – bir uygulamanın yalnızca geliştirildiği şehirde veya ülkede kullanılacağını varsaymayın! GPS koordinatları, tarih ve saat değerleri ve para birimleriyle çalışan kodun tümü müşterinin konumu ve yerel ayar ayarlarından etkilenebilir. Tüm platformlar, farklı konumlar ve yerel ayarlar belirtmenize olanak sağlayan bir simülatör sunar. Bunu, diğer yarım kürelerdeki konumları ve tarihleri ve para birimlerini farklı biçimlendiren kültürlerle test etmek için kullanın. Enlem ve boylam değerleri pozitif veya negatif olabilir, ondalık ayırıcı nokta veya virgül olabilir ve tarihler sayısız yolla biçimlendirilebilir- bununla başa çık!
  • Yavaş ağ bağlantıları : Uygulama geliştiricileri genellikle hızlı, her zaman çalışan ağ bağlantısına sahip bir 'ideal dünyada' çalışır ve bu durum gerçek dünyada böyle değildir. Yavaş ağ bağlantısıyla (kötü bir 3G bağlantısı gibi) ve ağ erişimi olmadan test etmek, buggy uygulaması göndermediğinizden emin olmak için kritik öneme sahiptir. Onay işlemi her zaman uçak modunda cihazla bir test içerir, bu nedenle bunu kendiniz için test ettiğinizden emin olun.
  • Donanımlar farklılık gösterir ; desteklemeyi planladığınız en eski ve en yavaş donanımı test edin. Uygulamanızı etkileyebilecek iki özellik vardır: performans, eski bir cihazda kullanılamayabilir ve kamera, mikrofon, GPS, jiroskop veya diğer isteğe bağlı bileşen gibi donanım özellikleri desteği. Bir bileşen kullanılamadığında uygulamaların düzgün bir şekilde düşmesi (kilitlenmemesi) gerekir.

Yönergeler yalnızca bir 'kılavuzdan' daha fazlasıdır

Apple, platformlarının temel güçlü yönlerinden biri tutarlılık (ve algılanan kullanılabilirlik artışı) olduğundan İnsan Arabirimi Yönergelerine bağlı kalma konusunda katı olmasıyla ünlüdür. Microsoft, Fluent Design Sistemi uygulayan Windows uygulamalarıyla benzer bir yaklaşım benimser. Her iki platform için de onay süreci, uygulamanızın ilgili tasarım felsefesine bağlılığı açısından değerlendirilmesini içerir.

Bu, kullanıcı arabirimi yeniliklerinin desteklenmediğini veya teşvik edilmediğini söylemek değildir, ancak "yapmamanız gereken" bazı şeyler vardır, aksi takdirde uygulamanız reddedilir.

iOS'ta bu, yerleşik simgelerin yanlış kullanılmasını veya diğer iyi oluşturulmuş metaforların tutarlı olmayan bir şekilde kullanılmasını içerir; örneğin, yeni içerik oluşturma dışındaki her şey için 'oluştur' simgesini kullanma.

Windows geliştiricileri de benzer şekilde dikkatli olmalıdır; Sık yapılan bir hata, Microsoft'un yönergelerine göre donanım Geri düğmesini düzgün bir şekilde desteklememektir.

Tasarımcılarınızı her platform için tasarım yönergelerini okumaya ve izlemeye teşvik edin.

Platforma Özgü Özellikleri Uygulama

Özellikle iOS'ta platforma özgü hizmetlerin uygulanması söz konusu olduğunda işler biraz daha katıdır. Apple'ın otomatik olarak reddedilmesini önlemek için aşağıdaki iOS özellikleriyle izleyebileceğiniz bazı kurallar vardır:

  • Uygulama içi satın almalar – Uygulamalar, oyun içi para birimi, uygulama özellikleri, dergi abonelikleri ve çok daha fazlası dahil olmak üzere dijital ürünler için dış ödeme mekanizmaları UYGULAMAMALIDIR. iOS uygulamaları, bu tür işlevler için Apple'ın iTunes tabanlı hizmetini kullanmalıdır. Bir boşluk vardır- Kindle Okuyucusu gibi uygulamalar ve abonelik tabanlı bazı uygulamalar, uygulama aracılığıyla erişebileceğiniz bir "hesaba" ekli başka bir yerde içerik satın almanızı sağlar, ancak bu durumda uygulama, uygulama dışı satın alma işlemine yönelik bağlantılar veya başvurular içermemelidir (veya bir kez daha reddedilir).
  • iCloud yedeklemesi – iCloud'un ortaya çıkmasıyla birlikte, Apple'ın gözden geçirenleri uygulamaların depolama alanını nasıl kullandığı konusunda çok daha katıdır (müşterinin uzaktan yedekleme deneyiminin hoş olmasını sağlamak için). Yedeklenebilir depolama alanını boşa harcayan uygulamalar reddedilebilir, bu nedenle Cache klasörünü uygun şekilde kullanın ve Apple'ın depolamayla ilgili diğer yönergelerini izleyin.
  • Gazete bayi – Gazete ve dergi uygulamaları Apple'ın Gazete Bayi'sine çok uygundur, ancak uygulamaların en az bir otomatik yenileme aboneliği uygulaması ve onaylanması için arka plan indirmeyi desteklemesi gerekir.
  • Haritalar – Mobil haritalara yer paylaşımları ve diğer özellikler eklemek giderek yaygın hale geliyor, ancak harita 'kredileri' bilgilerini (iOS5'teki Google logosu gibi) gizlememeye dikkat edin çünkü bu da reddedilmeye neden olur.

Meta Verilerinizi Yönetme

Bir uygulamanın reddedilmesine neden olabilecek belirgin teknik sorunlara ek olarak, özellikle Uygulama Mağazası veya Market'te görüntülenmek üzere uygulamanızla gönderdiğiniz meta veriler (açıklama, anahtar sözcükler ve pazarlama görüntüleri) etrafında gönderiminizin reddedilmesine neden olabilecek bazı daha ince yönleri vardır.

  • Görüntü : Uygulama simgeleri ve depolama resimleri için platformun yönergelerini izleyin. Ticari markalı görüntüleri kullanmayın, simgeleri i Telefon çizimi içerdiğinden uygulamaların reddedildiğini gördük!
  • Ticari Markalar – Kendi ticari markalarınız dışında herhangi bir ticari marka kullanmaktan kaçının. Uygulamalar, uygulama açıklamasında ve hatta Apple App Store'daki anahtar sözcüklerde ticari markalardan bahsettiği için reddedildi.
  • Açıklama – 'beta' sözcüğünü kullanmayın veya herhangi bir şekilde uygulamanın prime time için hazır olmadığını belirtmeyin. Diğer mobil platformlardan (uygulamanız platformlar arası olsa bile) bahsetmeyin. En önemlisi, uygulamanın tam olarak söylediklerinizi gerçekleştirdiğinden emin olun. Açıklamanızda bir dizi özelliği listelerseniz, bu özelliklerin her birini nasıl kullanacağınız daha açık olsa iyi olur veya "uygulamanın açıklamasında belirtilen özellik uygulanmadı" reddedilmesiyle karşınıza çıkar.

Uygulamanın meta verilerine geliştirme ve test için olduğu kadar çok çaba sarf edin. Uygulamalar meta verilerdeki küçük ihlaller nedeniyle reddedilir, bu nedenle doğru şekilde kullanmaya zaman ayırmaya değer.

App Store'lar: Herkes İçin Değil

Her platformdaki mağazaların birincil odağı tüketici dağıtımıdır- mümkün olduğunca çok müşteriye ulaşabilme. Tüm uygulamalar tüketicileri hedef almasa da, çalışanlar, tedarikçiler veya müşteriler için sınırlı dağıtım gerektiren şirket içi ve extranet benzeri uygulamaların hızla büyüyen bir tabanı vardır. Geliştirici, kapalı bir kullanıcı grubuna dağıtımı denetlediğinden, bu uygulamalar "satılık" değildir ve onay gerekmez. Bu tür dağıtım desteği platforma göre değişir.

Android bu konuda en fazla esnekliği sunar: Uygulamalar doğrudan bir URL'den veya e-posta ekinden yüklenebilir (cihazın yapılandırması izin verdiği sürece). Bu, şirket içi kurumsal uygulamalar oluşturmanın ve dağıtmanın ya da belirli müşterilere veya tedarikçilere uygulama yayımlamanın önemsiz olduğu anlamına gelir.

Apple, iOS Geliştirici Kurumsal Programı'na kaydolan geliştiricilere App Store onay sürecini atlayan ve şirketlerin şirket içi uygulamaları çalışanlarına dağıtmasına olanak tanıyan bir şirket içi dağıtım seçeneği sunar. Ne yazık ki bu lisans, diğer kapalı müşteri veya tedarikçi gruplarına extranet benzeri uygulama dağıtımı gereksinimini karşılamaz. Kurumsal (ve Geçici) Dağıtım

App Store Özeti

Gözden geçirme süreci göz korkutucu olabilir, ancak geliştirme yaşam döngüsünün geri kalanı gibi, biraz planlama ve ayrıntılara dikkat ederek başarıyı sağlamaya yardımcı olabilirsiniz. Her şey birkaç basit adıma kadar uzanır: uymanız gereken kullanıcı arabirimi yönergelerini okuyun ve anlayın, platforma özgü özellikler uyguluyorsanız kurallara uyun, iyice test edin (sonra biraz daha test edin) ve son olarak göndermeden önce uygulama meta verilerinizin doğru olduğundan emin olun.

Google Play'de yayın yapan geliştiricilere son bir tavsiye: Onay sürecinin olmaması işinizi kolaylaştırıyor gibi görünebilir, ancak müşterileriniz bir inceleme ekibinden daha fazla talepte bulunacaktır. Uygulamanız reddedilebilirmiş gibi bu yönergeleri izleyin, aksi takdirde reddeden müşterileriniz olacaktır.