Risoluzione degli errori di certificazione

Applies to Windows only

Ecco alcune delle azioni che puoi eseguire e i link ad altri riferimenti che ti consentiranno di risolvere molti dei problemi relativi alla certificazione delle app inviate a Windows Store.

Questo elenco non è completo, ma dovrebbe aiutarti a correggere alcuni dei problemi più comuni che impediscono all'app di essere inserita in Windows Store o che possono verificarsi in un secondo momento durante una verifica a campione dell'app. Se hai bisogno di maggiore assistenza, puoi visitare i nostri forum per discutere il problema con i membri della community.

Gli errori di certificazione possono essere suddivisi in tre categorie:

  • Test di sicurezza
  • Conformità tecnica
  • Conformità del contenuto

Test di sicurezza

L'app viene controllata per verificare la presenza di malware.

Un app non supera questo test se sembra contenere un virus o se può essere usata come punto di ingresso dal malware.

Per verificare la presenza di virus e malware nel sistema di sviluppo, esegui la versione più recente del programma antivirus e compila di nuovo il pacchetto dell'app.

Conformità tecnica

L'app viene testata con il Kit di certificazione app Windows.

Per informazioni su come eseguire questi test nel tuo computer, vedi Uso del kit di certificazione app Windows.

Conformità del contenuto

L'app viene controllata per verificare che sia conforme ai requisiti di certificazione delle app per Windows Store. Di seguito sono fornite informazioni utili per soddisfare alcuni requisiti di certificazione specifici.

1. Valore delle app Windows Store per i clienti

1.1 La tua app deve essere completa e offrire ai clienti funzionalità uniche e creative in tutte le lingue e i mercati che supporta

Se l'app non soddisfa questo requisito, il motivo è in genere uno dei seguenti:

  • Il valore o l'utilità dell'app non è chiaro.
  • L'app ha un'icona o un nome molto simile a quello di altre app in Windows Store.
  • L'app è utile o efficace solo in un sottoinsieme delle lingue che dichiara di supportare.
  • L'app usa funzionalità di accesso, ma non offre agli utenti la possibilità di iscriversi e creare un account.
  • L'app è costituita da una pagina singola, con un insieme molto limitato di contenuti e funzionalità.
  • Il funzionamento dell'app è simile a quello delle altre app che hai realizzato, ma i contenuti sono leggermente diversi. Le raccolte di app con funzionalità simili dovrebbero in genere essere fornite come una singola app unificata.
Per informazioni sulla pianificazione e la progettazione della tua app, vedi Definizione della visione.

1.2 La tua app deve essere testabile nel momento in cui viene inviata a Windows Store

Controlla che la tua app non contenga funzionalità incomplete, opzioni o scelte di menu non implementate o altri elementi che potrebbero farla risultare incompleta.

Quando invii l'app devi considerare quanto segue:

  • L'app richiede un account utente? In tale caso, devi includere un account di prova nel campo Note per i tester.
  • L'app può essere utilizzata per effettuare acquisti? In tale caso, devi fornire un metodo per verificare tali acquisti.

Di seguito sono elencati alcuni problemi comuni che possono far apparire un'app non funzionale o incompleta:

  • L'app include sezioni non attive o contiene segnaposto con etichette quali "nelle prossime versioni" o "non ancora disponibile" per gli scenari utente principali.
  • L'app non funziona su tutte le architetture che dichiara di supportare. Se ad esempio dichiari che l'app funziona con qualsiasi CPU, deve funzionare su tutte le architetture, inclusa ARM.
  • Nella descrizione dell'app vengono utilizzate schermate o dichiarazioni che implicano la presenza di funzionalità non implementate.
  • L'app riproduce audio in background ma non implementa correttamente gli eventi di riproduzione, pausa e riproduzione/pausa per consentire agli utenti di controllare la riproduzione audio.
  • Nella descrizione dell'app non vengono dichiarati esplicitamente i requisiti hardware o di rete.
  • L'app usa le icone predefinite generate da Microsoft Visual Studio o incluse negli esempi dell'SDK.

3. Il comportamento delle app Windows Store deve essere prevedibile

3.1 Per implementare le funzionalità della tua app Windows Store, devi usare solo le API Windows Runtime

Le API per le app Windows Store sono descritte nella documentazione di riferimento delle API per app Windows Store. Ti consigliamo di leggere anche Alternative alle API Windows nelle app Windows Store.

Se l'app non soddisfa questo requisito, il motivo è in genere uno dei seguenti:

  • L'app Windows Store richiede un'applicazione desktop o un servizio locale per completare uno dei suoi scenari utente principali.
  • Se tale applicazione desktop o servizio non è installato, il valore o lo scopo dell'app non è chiaro.
  • L'app usa metodi non approvati (ad esempio metodi basati su file o sul Registro di sistema) per comunicare con il componente o l'applicazione desktop.

Se l'app dipende da un'applicazione desktop, tieni presente due aspetti di questo criterio:

  • Se uno o più scenari utente principali dell'app si basano su un'applicazione desktop, quest'ultima deve essere inclusa in Windows Store.
  • Se l'app Windows Store dipende da un'applicazione desktop, non deve presupporre che tale applicazione desktop sia disponibile nel sistema locale. Le app che comunicano con l'applicazione desktop attraverso il cloud sono accettabili.

Se non sei certo che la tua app sia in linea con questo criterio, prova a chiederti: se l'app di Windows Store fosse implementata in un sistema Windows RT, funzionerebbe allo stesso modo e sarebbe altrettanto utile all'utente? In caso di risposta negativa, è possibile che non ottenga la certificazione. (Ricorda che i sistemi Windows RT non supportano applicazioni desktop di terze parti.)

3.2 La tua app non deve smettere di rispondere, terminare in modo imprevisto o generare errori che abbiano un impatto negativo significativo sull'esperienza del cliente

Se l'app non soddisfa questo requisito, il motivo è in genere uno dei seguenti:

  • L'app subisce un arresto anomalo all'avvio.
  • L'app subisce arresti anomali ripetuti o casuali.
  • L'app si blocca e l'utente deve chiuderla e riavviarla.
  • L'app richiede una libreria Windows non supportata da Windows Store.

Ecco alcuni suggerimenti per evitare questi problemi o risolverli.

  • Verifica che i tuoi strumenti di sviluppo siano aggiornati.
  • Prima di pubblicare l'app in Windows Store, assicurati che il codice usi la classe CurrentApp e non la classe CurrentAppSimulator.
  • Verifica le app che implementano le API commerciali di Windows Store (Windows.ApplicationModel.Store) per verificare che gestiscano correttamente le eccezioni tipiche, ad esempio la perdita di connettività di rete.
  • Esegui l'app senza connettività di rete per verificare che non si arresti in modo anomalo.
  • Verifica la tua app in un computer con un'installazione pulita di Windows senza ulteriore software.
  • Esegui i test su tutte le architetture supportate dall'app, in altri computer o con configurazioni diverse, allo scopo di identificare i potenziali errori.

Per altre info sul testing delle app, vedi Uso del Kit di certificazione app Windows.

Suggerimento  Una volta che la tua app è stata certificata e inclusa in Windows Store, puoi controllare i dati sulla qualità dell'app per individuare eventuali problemi riscontrati dall'app dopo l'installazione nei computer dei clienti.

3.9 Tutta la logica dell'app deve essere originata dal pacchetto dell'app e risiedere al suo interno

Uno dei casi di mancata conformità a questo requisito è il caso in cui l'app scarica uno script remoto e successivamente lo esegua nel contesto locale del pacchetto dell'app.

3.12 L'app deve essere conforme ai requisiti tecnici

Esistono svariati motivi per cui un'app può non soddisfare questo requisito.
  • L'app deve superare i test inclusi nell'ultima versione del Kit di certificazione app Windows. Assicurati di eseguire la versione aggiornata e di risolvere eventuali problemi prima di inviare l'app. Per altre info, vedi Uso del Kit di certificazione app Windows.
  • Le app Direct3D devono supportare un livello minimo di funzionalità. Se la tua app include un pacchetto ARM o neutro, deve supportare il livello di funzionalità Microsoft Direct3D 9_1. In caso contrario, deve supportare il livello di funzionalità minimo indicato. Se scegli un livello di funzionalità minimo superiore a 9_1, assicurati che l'app controlli se l'hardware corrente soddisfa i requisiti minimi e visualizzi un messaggio per l'utente in caso contrario.
  • Se la tua app contiene componenti di Windows Runtime, deve essere garantita la conformità al sistema dei tipi di Windows Runtime. Per i requisiti dettagliati, vedi il requisito di certificazione 3.12.3.
  • Se l'app chiama driver di dispositivo di terze parti, deve essere un'app privilegiata. Per altre informazioni, vedi Sincronizzazione e aggiornamento di dispositivi per app per dispositivo di Windows Store in Windows 8.1.
  • I pacchetti dell'app devono essere nel formato corretto e includere un manifesto valido. Per altre info, vedi Requisiti per il pacchetto dell'app.

4. Controllo del cliente con app Windows Store.

4.1 L'app deve essere conforme ai seguenti requisiti correlati alla privacy:

4.1.1 Se l'app supporta la rete, deve disporre di un'informativa sulla privacy

Se la tua app si connette a una rete, devi pubblicare un'informativa sulla privacy.

Nello specifico, se dichiari una delle funzionalità seguenti, devi inserire un'informativa sulla privacy:

  • internetClient
  • internetClientServer
  • privateNetworkClientServer

Ricorda che dato che i modelli predefiniti per le app in Visual Studio includono la funzionalità internetClient, se non modifichi il manifesto predefinito devi inserire un'informativa sulla privacy. Se dichiari altre funzionalità di rete non incluse nell'elenco sopra, devi pubblicare anche un'informativa sulla privacy.

Devi rendere accessibile l'informativa sulla privacy da un link nella descrizione dell'app e dalle impostazioni dell'app visualizzabili tramite l'accesso alle impostazioni.

In generale, un'informativa sulla privacy accettabile deve:

  • Informare gli utenti sui dati personali raccolti dall'app
  • Spiegare agli utenti in quali modi verranno utilizzate, archiviate, protette e divulgate tali informazioni.
  • Spiegare agli utenti come possono controllare l'utilizzo e la condivisione delle proprie informazioni.
  • Spiegare agli utenti come possono accedere alle proprie informazioni.
  • Rispettare le leggi e normative vigenti.

Oltre a queste linee guida generali, non sono disponibili esempi o modelli di informativa sulla privacy.

Se la tua app di fatto non raccoglie o memorizza informazioni personali degli utenti, specificalo nell'informativa sulla privacy.

4.1.2 L'app deve ottenere dal cliente un consenso esplicito o equivalente per la condivisione dei dati personali

L'app potrebbe non superare questo test se si ritiene che condivida dati personali (ad esempio l'indirizzo e-mail o l'account utente) senza ottenere il consenso esplicito dell'utente. Questo requisito si applica anche se le informazioni personali riguardano una persona diversa da chi sta usando l'app.

Suggerimento  Se raccogli o pubblichi informazioni personali, dovrai fornire un link all'informativa sulla privacy nella descrizione dell'app e dalle impostazioni dell'app visualizzabili mediante l'accesso alle impostazioni.

4.1.3 La tua app deve rispettare le scelte dell'utente riguardo all'ID per gli annunci

Se la tua app usa l'ID per gli annunci, deve permettere all'utente di disattivare la funzionalità in modo da non recuperare alcun ID.

Per altre info, vedi AdvertisingManager e AdvertisingId.

4.2 L'app deve rispettare le impostazioni di sistema relative alle notifiche e continuare a funzionare quando vengono disabilitate

Per altre informazioni sulle notifiche, vedi:

4.3 L'app non deve pregiudicare o compromettere la sicurezza dell'utente oppure la sicurezza e la funzionalità del dispositivo Windows, del sistema o di sistemi correlati e non deve offrire la possibilità di causare danni a utenti di Windows o altre persone

Non sono ovviamente conformi a questo requisito tutte le app infettate da virus o identificabili come malware di per sé. Un esempio meno evidente è costituito dalle app che, intenzionalmente o accidentalmente, permettono o aiutano il malware ad accedere al sistema. Un'app può non soddisfare questo requisito, ad esempio, se ha usato una pratica di programmazione che qualche tipo di malware potrebbe sfruttare.

Un'app può tradire questo requisito anche se impedisce ad altre app di funzionare correttamente. Non è possibile elencare tutti i casi in cui un'app potrebbe impedire la normale esecuzione di altre app, ma puoi controllare testandola in un computer mentre sono in esecuzione altre app. Se le altre app si comportano in modo anomalo durante l'esecuzione della tua app, ad esempio rispondono più lentamente o perdono dati, devi individuare le cause e risolvere il problema prima di richiedere nuovamente la certificazione dell'app.

Un'app potrebbe non soddisfare questo requisito anche quando riproduce audio in background, ma tale audio non è udibile dall'utente. È normale, ad esempio, che un'app multimediale resti in esecuzione in background e riproduca musica mentre altre app sono in primo piano, tuttavia le app non devono riprodurre in background per un tempo prolungato flussi multimediali non udibili.

Infine, un'app potrebbe essere considerata non conforme quando il mancato funzionamento dell'app può causare danni a persone, come nel caso di un'app GPS commercializzata per l'uso in situazioni di pericolo oppure di un'app di controllo del traffico aereo. Anche le app che consentono il controllo di un dispositivo senza l'intervento umano verrebbero considerate non conformi.

4.6 Se l'app usa notifiche di Servizi notifica Push Windows, deve essere conforme ai requisiti di tale funzionalità

Esamina i dettagli contenuti nel requisito di certificazione 4.6 e le Linee guida per le notifiche push.

4.7 Se l'app include acquisti in-app, funzionalità di fatturazione o acquisisce informazioni finanziarie, si applicano i requisiti seguenti:

4.7.1 Se l'app usa l'API per gli acquisti in-app dello Store (spazio dei nomi Windows.ApplicationModel.Store) per gli acquisti in-app:

Le app che usano lo spazio dei nomi Windows.ApplicationModel.Store possono vendere soltanto prodotti in-app da usare internamente all'app, ad esempio articoli o servizi digitali.

Se l'app include funzionalità di fatturazione in-app o acquisisce informazioni su account finanziari, ma non usa lo spazio dei nomi Windows.ApplicationModel.Store, si applicano le seguenti condizioni per i tipi di account elencati:

Le app inviate da uno dei due tipi di account (individuale o aziendale) che non usano lo spazio dei nomi per gli acquisti in-app devono identificare la transazione commerciale, autenticare l'utente e ottenere la conferma dell'utente per le transazioni. Devono offrire all'utente la possibilità di richiedere l'autenticazione per ogni transazione oppure di disattivare completamente le transazioni in-app.

Per entrambi i tipi di account, se l'app raccoglie informazioni sulla carta di credito, o usa funzioni di elaborazione prodotte da terzi , l'elaborazione del pagamento deve soddisfare lo standard PCI DSS (PCI Data Security Standard). Per altre info, vedi la pagina sulla panoramica degli standard di protezione dati SSC PCI.

Inoltre, le app inviate da account individuali non sono autorizzate a raccogliere direttamente info su account finanziari sensibili o pagamenti degli utenti. Per altri dettagli, esamina il requisito di certificazione 4.7.

4.10 Non puoi usare la piattaforma commerciale Microsoft per promuovere donazioni o lotterie.

Consulta la legge applicabile per la conformità a tutti i requisiti. Devi inoltre indicare chiaramente che Microsoft non è né il responsabile della raccolta dei fondi né lo sponsor della promozione.

5. Le app di Windows Store sono destinate a un pubblico globale

Motivi frequenti per cui un'app può non soddisfare questo requisito:

In genere non sono consentite app con una classificazione superiore a PEGI 16 o ESRB MATURE, o il cui contenuto possa rientrare in tale classificazione, a meno che l'app non sia un gioco, non sia stata classificata da un ente di classificazione di terze parti e non sia in altro modo conforme ai requisiti di certificazione.
Sia i metadati che il resto dei contenuti inviati insieme all'app (incluse le catture di schermate dell'app) devono ottenere una classificazione PEGI 12, ESRB EVERYONE o Windows Store 12+ o inferiore. Questo requisito è valido anche se l'app stessa è classificata per una fascia di età superiore.
Se un'app fornisce l'accesso a contenuto commerciale, generato dall'utente o basato sul Web che potrebbe violare questo requisito, deve includere un meccanismo che permetta all'utente di scegliere se ricevere accesso a questi tipi di contenuto.

Dato che i diversi mercati sono caratterizzati da standard culturali differenti, inoltre, i criteri di verifica applicati alla tua app potrebbero essere più rigidi a seconda dei mercati di destinazione. Se la tua app risulta non conforme a questo requisito, ma ritieni che il suo contenuto debba essere consentito, valuta se tale contenuto potrebbe risultare inappropriato in almeno una parte dei mercati che hai scelto.

Altri requisiti sono elencati nelle sottosezioni del requisito di certificazione 5.

Per ulteriori informazioni, vedi:

6. Le app in Windows sono facilmente identificabili e riconoscibili

6.2 L'app deve essere contraddistinta da una classificazione in base all'età tra quelle previste per Windows e da eventuali classificazioni di terze parti

Se l'app non soddisfa questo requisito, il motivo è in genere uno dei seguenti:

  • Il contenuto dell'app (inclusi gli annunci) non è adatto alla fascia di età specificata.
  • Hai dichiarato una classificazione di un ente di classificazione in un file di definizione del gioco (GDF), ma non hai fornito la prova di tale classificazione.
  • L'app è specificata come 3+ o 7+, ma fornisce all'utente accesso non controllato a social network online oppure permette la condivisione non controllata dei dati personali con terze parti, ad esempio altri giocatori o altre conoscenze online. Per le attività che devono essere tenute sotto controllo, dovrai includere funzionalità di controllo genitori che richiedano l'autorizzazione dei genitori per l'uso della condivisione. Queste funzionalità di controllo dovranno essere identificate e illustrate nella sezione Note per i tester.
  • Uno dei mercati in cui hai scelto di distribuire l'applicazione richiede una classificazione di un ente di classificazione ma non è stata fornita.
  • La classificazione in base all'età di Windows Store è inferiore a quella corrispondente nel file GDF che hai fornito.

Per altre info, vedi Fascia d'età ed enti di classificazione e Creare un file GDF.

6.6 Le funzionalità dichiarate devono essere correlate alle funzioni di base e all'utilità dell'app Windows Store e l'uso di tali dichiarazioni deve essere conforme alle nostre dichiarazioni di funzionalità delle app.

L'app può non soddisfare questo requisito se dichiara funzionalità che non risultano necessarie per eseguire la funzionalità descritta. Tieni presente che se dichiari un numero elevato di funzionalità, l'app verrà probabilmente sottoposta a un esame particolarmente scrupoloso e il processo di certificazione richiederà più tempo. Assicurati di non dichiarare più funzionalità di quelle richieste dall'app.

Esistono attualmente tre funzionalità riservate agli account aziendali, e tutte le app che le dichiarano saranno sottoposte a un esame estremamente approfondito. Un account aziendale non garantisce tuttavia che le app che utilizzano queste funzionalità superino la certificazione. Se la tua app non richiede tali funzionalità, evita di dichiararle:

  • Autenticazione Enterprise (enterpriseAuthentication): utilizza le credenziali di Windows per accedere a una Intranet aziendale. Questa funzionalità viene in genere utilizzata nelle app line-of-business che consentono di connettersi ai server di un'organizzazione. Tale funzionalità non è necessaria per le comunicazioni generiche attraverso Internet.
  • Certificati utente condivisi (sharedUserCertificates): consente a un'app di accedere a certificati hardware e software, ad esempio i certificati archiviati in una smart card. Questa funzionalità viene in genere utilizzata nelle app di tipo finanziario o gestionale che richiedono una smart card per l'autenticazione.
  • Raccolta documenti (documentsLibrary): permette di accedere a livello di codice alla raccolta documenti dell'utente, filtrata in base alle associazioni ai tipi di file dichiarate nel manifesto del pacchetto. Le app possono utilizzare l'utilità di selezione file per accedere alla raccolta documenti di un utente senza dichiarare questa funzionalità.

    Importante  Le app che usano questa funzionalità possono essere inviate solo da account per sviluppatore che possono dimostrare di avere acquisito un certificato di firma del codice di convalida estesa (EV, Extended Validation) da un'Autorità di certificazione (CA). Per altre info, vedi Tipi di account, aree geografiche e tariffe.

    Le app che dichiarano la funzionalità Raccolta documenti devono consentire l'accesso offline multipiattaforma a contenuti specifici di Microsoft OneDrive, tramite URL di OneDrive o ID di risorsa validi, e devono salvare automaticamente i file aperti nell'area OneDrive dell'utente quando è attiva la modalità offline. Le app che usano la funzionalità Raccolta documenti per questi due scopi possono anche usare la funzionalità per l'apertura di contenuto incorporato in un altro documento.

    Quelli sopra descritti sono gli unici utilizzi accettati della funzionalità Raccolta documenti. Di seguito sono riportati alcuni motivi comuni che impediscono alle app che dichiarano la funzionalità Raccolta documenti di superare il processo di certificazione:

    • Conformità parziale agli usi consentiti, come la fornitura di una funzione di salvataggio automatico offline senza l'accesso multipiattaforma
    • Uso della raccolta documenti per archiviare dati delle app che non vengono creati direttamente dall'utente, ad esempio lo stato dell'app
    • Uso della raccolta documenti come strumento per il roaming dei dati delle app con l'area OneDrive dell'utente

    Ricorda inoltre che le app non possono utilizzare la funzionalità Raccolta documenti (né qualsiasi altra funzionalità per le raccolte) per mantenere lo stato dell'app dopo che quest'ultima è stata disinstallata dall'utente. Per mantenere tale stato, le app devono utilizzare il proprio servizio cloud.

Per ulteriori informazioni, vedi:

6.13 I metadati e altri materiali che offrirai per descrivere la tua app devono riflettere in modo preciso e chiaro l'origine, la funzione e le funzionalità della tua app

Ecco alcuni dei modi per assicurarti che la tua app soddisfi questo requisito:
  • Assicurati che sia facile per i clienti comprendere la funzione della tua app. La descrizione, la categoria/sottocategoria e le immagini (riquadri inclusi) devono essere ragionevolmente correlati al contenuto dell'app.
  • Se per l'app è disponibile una versione di prova, assicurati che le funzionalità di questa versione siano ragionevolmente simili a quelle della versione completa.
  • Dichiara le eventuali limitazioni o restrizioni esistenti per la tua app, ad esempio se non supporta completamente tutti i metodi di input (tocco, tastiera e mouse) oppure se il contenuto è limitato a determinati mercati. Quest'ultimo punto è particolarmente importante per le app presentate nel mercato Resto del mondo , ma che funzionano correttamente solo in un determinato paese o area geografica e non negli altri.
  • Se dichiari l'app come accessibile, dovrai rispettare le linee guida per l'accessibilità.
  • Assicurati di localizzare l'app (incluse descrizione, catture di schermate e immagini promozionali) in ogni lingua supportata. In Windows Store viene fatta distinzione tra supporto della lingua e mercato di distribuzione. Puoi, ad esempio, inviare un'app in francese per il mercato statunitense. Questo requisito riguarda le lingue e non i mercati. Ogni app deve supportare (ed essere localizzata in) almeno una delle lingue di certificazione, oltre a essere funzionale in tutte le lingue per cui viene inviata.
  • Assicurati che l'esperienza con la tua app sia simile con tipi di processore e sistemi operativi di destinazione diversi. Un'app non deve necessariamente supportare tutti i tipi di processore, ma per il cliente l'aspetto e il funzionamento devono essere identici con qualsiasi tipo di processore supportato dall'app. Se vuoi supportare funzionalità presenti in un'architettura ma non in un'altra, devi creare due app separate con nomi diversi. La tua app deve inoltre offrire esperienze ragionevolmente simili sia per gli utenti di Windows 8 che di Windows 8.1. Se usi funzionalità disponibili solo per Windows 8.1, non devi riprodurle anche per gli utenti di Windows 8, ma tutte le funzionalità contenute nella tua app per gli utenti di Windows 8 devono essere disponibili anche per gli utenti di Windows 8.1.
  • Non suggerire che la tua app sia associata a un'azienda, a un ente pubblico o a un'altra entità se non disponi delle autorizzazioni necessarie a questo scopo.

7. Le app desktop devono soddisfare ulteriori requisiti

Gli utenti devono essere indirizzati a una posizione dalla quale poter scaricare direttamente l'app desktop. Verifica la correttezza del link e assicurati che le informazioni nella tua pagina di acquisto siano chiare e che includano correttamente tutti i dati necessari.

Per ulteriore assistenza per la risoluzione degli errori, puoi visitare i nostri forum per discutere il problema con i membri della community.

 

 

Mostra:
© 2014 Microsoft