Questo articolo comincia dove, generalmente, finiscono tutti gli altri: la nostra Windows Store App è pronta, abbiamo fatto tutti i test, abbiamo compilato il tutto e, ora, dobbiamo pubblicarla.
Vedremo quali sono i passi fondamentali per poter sottomettere l'applicazione nello store, quali artefatti ci servono e quali passaggi dobbiamo fare.
La build è ok ...e, ora?
La nostra applicazione è completa ed è il momento di realizzare il package per pubblicarla all'interno dello Store.
Prima di procedere però, è opportuno verificare che la nostra app rispetti almeno le caratteristiche base per poter essere certificata come ad esempio che le capability siano corrette o che l'applicazione gestisca correttamente (o che, almeno, non vada in dump) l'avvio o il recupero dallo stato di background.
Per fare questo è sufficiente utilizzare il Windows App Certification Kit (appcertui.exe
contenuto nella cartella:
<PROGRAMFILES(X86)>\Windows Kits\8.1\App Certification Kit
Quando eseguiamo il WACK (Windows App Certification Kit) otteniamo la seguente schermata:
Dove possiamo scegliere di validare un'applicazione Windows Store installata nella nostra macchina. Non resta che scegliere l'app da esaminare:
Fatto questo e premiamo Next per scegliere quali test eseguire:
Se stiamo testando l'applicazione per lo store, è opportuno eseguire tutti i test. Per effettuare i test il WACK avvia più volte l'applicazione, perciò non dobbiamo utilizzare il PC per tutta la durata dell'operazione.
Terminate le verifiche, se tutto va bene, ci viene mostrato il risultato, come mostrato nella seguente figura:
Oltre al mero risultato (PASSED o FAILED) possiamo visualizzare anche il report dettagliato in XML.
Maggiori informazioni sul WACK sono reperibili su MSDN
Prenotare il nome
Una volta passato con successo il WACK, possiamo cominciare a preparare il packaging che andrà inviato allo store.
Primo passo da fare è quello di riservare il nome della nostra app. Lo possiamo fare in due modi: dall'interno di Visual Studio oppure dalla dashboard del nostro account DevCenter.
Nel primo caso, è sufficiente utilizzare il menu contestuale Store > Create App Packages...
che otteniamo con il tasto destro del mouse selezionando il progetto Windows Store App della solution.
Selezionato il menu, si apre la maschera iniziale di packaging dell'applicazione in cui possiamo scegliere se il nostro packaging dovrà essere utilizzato per lo store oppure no.
Nel primo caso (che è quello che ci interessa in questo articolo), dopo esserci loggati con il live id collegato allo store, ci viene proposta una maschera che riepiloga l'elenco delle app il cui nome è stato precedentemente riservato ma che non hanno ancora un package associato (oppure l'elenco completo) e che ci fornisce anche la possibilità di riservare un nuovo nome.
Un altro modo per riservare il nome della propria app è quello di utilizzare la dashboard del portale DevCenter dedicato alle Windows Store App.
La dashboard del Dev Center dovrebbe apparire simile alla seguente:
nella quale possiamo utilizzare il link "Submit an app" per poter dare prenotare il nome della nostra app. Il link è lo stesso che si utilizza per dare il via alla pubblicazione della nostra app.
Preparare il package
Riservato il nome è giunto il momento di preparare il package con l'eseguibile, gli asset grafici e tutto quello che serve al funzionamento della nostra app.
Per fare questo possiamo nuovamente utilizzare il menu contestuale Store > Create App Packages...
che abbiamo già visto, selezionando la nostra app e procedendo con il tasto next.
La successiva finestra permette di impostare alcune caratteristiche del package immediatamente prima della creazione dello stesso:
L'Output Location è il percorso fisico, nel nostro disco, in cui verrà salvato il package che inseriremo nello store.
Il numero di versione può essere impostato manualmente oppure fatto incrementare ad ogni creazione del package. Se stiamo sviluppando un progetto per Windows 8.1, possiamo notare che la versione di default è impostata su 1.1.0.0. Se proviamo ad impostarla sulla 1.0.0.0, il sistema ci avverte che le versioni delle app per Windows 8.1 debbono essere superiori a quelle delle 8.0. Siamo comunque liberi di impostare la versione al numero che vogliamo.
Un discorso a parte va fatto per l'app bundle. Con l'introduzione delle applicazioni per Windows 8.1, è stato introdotto il concetto di app bundle per ottimizzare il download di applicazioni molto grandi o che hanno tanti file di risorse (immagini, fi di risorse per le lingue, etc., etc.). Quando decidiamo di generare un app bundle (o mettiamo l'opzione "If needed" e Visual Studio ritiene sia opportuno), l'ambiente di sviluppo crea dei package separati per le risorse e un manifest in modo da abilitare l'ottimizzazione nella fase di download e installazione dell'app. In alcuni casi potrebbe anche essere il caso di creare un bundle per ogni architettura rilasciata.
Maggiori informazioni riguardo l'app bundle sono disponibili su MSDN
Infine, la parte in basso della precedente schermata ci permettere di scegliere per quale architettura creare il package e se includere i simboli di debug (file .pdb) per poter abilitare l'infrastruttura delle Store App a tracciare eventuali crash dell'applicazione.
Una volta impostate tutte le proprietà, possiamo effettivamente generare il package con il tasto Create.
Al termine della creazione ci viene mostrata la finestra di riepilogo:
Nella quale, se vogliamo, possiamo ulteriormente testare la nostra app con il WACK (anche su macchina remota).
La parola allo store
Generato il file appx
siamo solo a metà dell'opera ed è arrivato il momento di passare al wizard di pubblicazione a cui accediamo tramite il link Edit della corrispondente app presente nella dashboard del portale dello store.
Il primo step è quello di impostare i dati relativi alle categorie dell'app e al costo della stessa.
In questa fase inseriamo il prezzo dell'app (potendo essere anche gratuita), gli eventuali codici per l'in-app purchase, se intendiamo utilizzare un sistema di commercio elettronico custom per la gestione dell'in-app purchase. Se l'applicazione è a pagamento possiamo anche impostare la politica di trial della stessa.
Troviamo, inoltre, una sezione in cui selezioniamo i mercati in cui intendiamo distribuire l'app (le nazioni):
Per quanto riguarda la distribuzione delle applicazioni a pagamento, è necessario tenere presente che in alcune nazioni è possibile distribuire solo applicazioni gratuite.
Alla fine della pagina troviamo la possibilità di selezionare la data di rilascio: possiamo decidere di mandare l'app in pubblicazione non appena supera la certificazione o dopo una data ben precisa (utile nel caso di app relative ad eventi che iniziano in un determinato giorno).
Per terminare abbiamo la possibilità di scegliere eventuali prerequisiti hardware necessari alla nostra app come ad esempio la presenza di una versione particolare di DirectX oppure la presenza di minimo 2Gb di RAM.
In questa sezione possiamo anche dichiarare che la nostra app è stata testata per aderire alle guideline sull'accessibilità da parte di portatori di handicap. Attenzione perché se abilitate questa opzione, durante il processo di certificazione verranno eseguiti test sull'accessibilità.
La sezione successiva consente di configurare i servizi utilizzati dall'app: eventuali Mobile Services e i codici per l'in-app purchase (acquisti all'interno dell'applicazione)
In seguito possiamo di impostare l'età minima degli utenti.
L'età minima dipende da tanti fattori, non ultimo il tipo di immagini o contenuto. Maggiori informazioni sono presenti su MSDN .
Nella stessa sezione possiamo aggiungere eventuali game definition file e age rating per i giochi (ad esempio i certificati PEGI).
Proseguendo possiamo dichiarare se la nostra applicazione fa uso di crittografia.
Dobbiamo impostare Yes se la nostra applicazione, ad esempio, utilizza la crittografia per criptare una password o altre informazioni dell'utente.
A questo punto, terminata questa sezione, possiamo inserire i packages generati con Visual Studio.
Nella sezione Packages possiamo eseguire l'upload dei file di package relativi sia a Windows 8 che a 8.1.
Per eseguire fisicamente l'upload dei file .appxupload
possiamo trascinare i file nel rettangolo bianco della pagina oppure utilizzare il link "browse to files" che apre la consueta finestra di selezione dei file.
Nel momento in cui eseguiamo l'upload, il portale esegue una validazione relativa alla consistenza del file e al fatto che sia correttamente generato con Visual Studio.
Possiamo inserire entrambi i package (Windows 8 e 8.1) e sarà lo store ad occuparsi di capire quale package pubblicare per quale piattaforma.
Premendo il tasto Save si chiude la sezione di upload.
Preparare la presentazione nello store
La sezione successiva è, a mio giudizio, la più importante per il successo di una app ed è quella in cui si inseriscono tutti quegli artefatti che saranno visibili nello store come descrizione, immagini e quant'altro e lo dobbiamo fare per ogni lingua in cui la nostra applicazione è localizzata.
In questa sezione troviamo una parte dipendente dalla piattaforma dell'applicazione (Windows 8 e 8.1) e una parte comune.
Tra le cose specifiche per la piattaforma Windows 8.1 troviamo la descrizione e un elenco di parole che illustrano le principali funzionalità dell'app. Le informazioni inserite in questa finestra vanno localizzate nella lingua corrispondente (comprese le immagini che vedremo in seguito).
Proseguendo troviamo gli screenshot dell'app, le note all'applicazione (che possono essere usate per comunicare all'utente, in caso di update, le nuove funzionalità inserite) e eventuali annotazioni riguardanti hardware particolari (ad esempio in un'app che legge i codici a barre con un dispositivo esterno potrebbero essere indicate le caratteristiche di tale dispositivo).
È obbligatorio inserire almeno uno screenshot ma più se ne mettono e migliore è l'idea che il potenziale utente si può fare della nostra app. È sconsigliabile mettere come screenshot la splashscreen dell'applicazione (potrebbe non fornire alcuna indicazione su ciò che la nostra applicazione può fare).
La parte terminale della pagina permette di inserire informazioni comuni alle due piattaforme (8.0 e 8.1) ed in particolare le parole chiavi, le informazioni di copyright (obbligatorie), le note sulla licenza di utilizzo, eventuali immagini promozionali, eventuale sito web di riferimento, le informazioni di contatto (obbligatorie, può essere o un indirizzo di mail o un indirizzo web), e l'informativa sulla privacy.
Il team editoriale che si occupa di Windows Store può utilizzare le immagini promozionali per pubblicizzare la nostra app all'interno dello store, ma la presenza di tali immagini non garantisce che l'app sarà pubblicizzata. Se non forniamo le immagini promozionali, la nostra app non sarà presa in considerazione per le occasioni promozionali. Maggiori informazioni sulla scelta delle immagini promozionali su MSDN.
Per quel che riguarda l'informativa sulla privacy, questa è obbligatoria in tutte quelle app che fanno accesso alla rete internet (definita all'interno del manifest dell'applicazione) o che collezionano dati e li inviano ad un qualche servizio on-line. Attenzione perché' il campo nella form non è obbligatorio ma non mettere l'url alla pagina dell'informativa sulla privacy per applicazioni che utilizzano internet significa veder inesorabilmente bocciata la propria applicazione. Per capire come realizzare una pagina per l'informativa sulla privacy, è consigliabile vedere come altre app realizzano il tutto.
L'ultima parte da riempire per completare la procedura, è quella relativa ad eventuali note per coloro che eseguiranno i test di certificazione.
Queste note non sono obbligatorie ma ci consentono di fornire a coloro che eseguiranno i test le informazioni necessarie ad utilizzare la nostra app, come, ad esempio, username e password di test oppure dei dettagli su come utilizzare funzionalità particolari.
Al fin giungemmo!!
Una volta completate correttamente tutte le sezioni, viene attivato il tasto di submit e siamo pronti per inviare la nostra applicazione alla fase di certificazione.
Il processo di certificazione dura fino a 5 giorni lavorativi e, se la nostra app soddisfa i requisiti richiesti (http://msdn.microsoft.com/en-us/library/windows/apps/hh694083.aspx), vedremo, finalmente, il nostro lavoro coronato dalla pubblicazione all'interno dello store.
Possiamo costantemente controllare lo stato di avanzamento della certificazione nella pagina di submission dello store.
In caso negativo, ci verrà comunicato il motivo (o i motivi) per il quale la certificazione non è andata a buon fine con il riferimento ai requisiti riportati nel precedente link.