Marketplace certifikacija – Najčešći razlozi odbijanja aplikacije i kako ih izbjeći

U ovom postu ću pisati o pripremi aplikacije za slanje na Marketplace u smislu izbjegavanja uobičajenih grešaka koje dovode do odbijanja aplikacije od strane Microsoft pri Windows Phone Marketplace certifikaciji.  Također ću iznjeti svoja mišljenja i iskustva o najčešćim razlocima zašto aplikacije ne prolaze certifikaciju. Pretpostaviću da se koristi AppaMarket za slanje aplikacije na Marketplace.

Greške pri validaciji .xap fajla

Pri submitu aplikacije na Marketplace putem Windows Phone Marketplace web stranice automatski se provjerava .xap fajl. AppaMarket ne provjera .xap fajl pri uploadu na njihovu stranicu, tako da ćemo tek nakon nekoliko dana dobiti izbještaj o grešci ukoliko .xap fajl ne prođe provjeru.

Slijedeće dvije greške su najuobičajnije:

  • Error: “An update cannot support fewer languages than the previous app instance supported (1047)
  • Error: “The [NeutralResourcesLanguage] attribute is missing on the entry assembly. (2003)”

Obje ove greške se javljaju kada označimo Worldwide submission stavku pri slanju aplikaciju putem AppaMarket stranice.

Da bi izbjegli ove greške sve što treba da uradimo jeste: Project – Properties – Application – Assembly Information – Neutral Language – ovdje postaviti jezik na English.

Ponašanje Back tipke

Najčešći razlog odbijanja aplikacije jeste  neispravno ponašanje hardverske Back tipke. Najčešće greške:

  • cirkularna navigacija
  • popup prozor & back tipka

Cirkularna navigacija

Cirkularna navigacija je situacija kada aplikacija pri višesrukom pritisku Back tipke uvijek korisnika prebacuje između dvije stranice u aplikaciji. Ovakva situacija se najčešće događa u slučajevima kada se u Loaded eventu neke stranice vrši navigacija na drugu stranicu.

Primjer: Impementacija Login-a

Recimo da u aplikaciji postoje dvije stranice Login.xaml i MainPage.xaml. U Login.xaml-u je implementirana logika da u slučaju kada su login podaci prethodno uneseni i ako su tačni, korisnik biva prebačen na MainPage.xaml.

U slučaju kada je korisnik na MainPage.xaml stranici i želi Back tipkom da se prebaci na prethodnu stranicu ili da izađe iz aplikacije, to neće moći uraditi. Razlog je implementirana logika u Login.xaml stranici, tj. Loaded event će se uvijek izvršavati i korisnik će svaki puta iznova biti prebačen na MainPage.xaml.

Ovo možemo rješiti vrlo jednostavno na način da  u Loaded eventu MainPage.xaml stranice pobrišemo iz Back stack-a Login.xaml stranicu. To radimo na slijedeći način:

<br />
   private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)<br />
        {<br />
            NavigationService.RemoveBackEntry();<br />
        }<br />

Popup prozor &  Back tipka

Jedan od zahtjeva Microsoft-a je da kada je popup prozor otvoren unutar neke stranice, pri pritisku Back tipke taj popup prozor treba da bude sakriven, tek drugim pritiskom na Back tipku korisnik treba da bude prebačen na prethodnu stranicu.

Problemi sa certificiranjem u pojedinim azijskim državama

U pojedinim azijskim zemljama su zabranjene neke od društvenih mreža, samim time aplikacije koje imaju neke veze sa istima neće proći certifikaciju. Iako po mojim iskustvima, aplikacije koje u sebi imaju Web browser kontrolu imaju šansu da ne prođu certifikaciju sa ovom istom greškom.

Da bi izbjegli grešku, potrebno je da pri submitu aplikacije putem AppaMarket-a u polje Tester Notes unesete slijedeći tekst:

If application fails testing for some marketplaces, please publish this app on ALL marketplaces except following:
– Group 1: China
– Group 2: Indonesia, Kazakhstan, Malaysia
– Group 3: Bahrain, Iraq, Qatar, Saudi Arabia, United Arab Emirates

Svakako, izgubićete dio tržišta na kojima vaša aplikacija može biti korištena, ali to je trenutno jedini način za izbjegavanje ove greške.

Korištenje GPS-a

Ukoliko vaša aplikacija koristi GPS modul za prikupljanje podataka o korisničkoj lokaciji potrebno je da unutar aplikacije bude implementirano slijedeće:

  • Onemogućavanje korištenja GPS-a
  • Licence agreement o tome kako se koriste dobijeni GPS podaci

Primjer implementacije gore navedenog pogledajte na slikama ispod.

Pored navedenog. za uspješno slanje aplikacije na Marketplace, savjetujem da pročitate moj post o pripremi aplikacije za slanje na Marketplace, kao i post o tome kako aplikaciju submitirati na Marketplace putem AppaMarket web stranice.

Aplikacije na ne-engleskom jeziku

Ukoliko je aplikacija na nekom od domaćih jezika, to obavezno treba naznačiti u opisu aplikacije, i to na način kako sam ja uradio za BH Mobile SMS app, ovdje.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s