Gestire gli invii di app
L'API di invio di Microsoft Store fornisce metodi che puoi usare per gestire gli invii per le tue app, incluse le implementazioni graduali dei pacchetti. Per un'introduzione all'API di invio di Microsoft Store, inclusi i prerequisiti per l'utilizzo dell'API, vedereCrea e gestisci invii utilizzando i servizi di Microsoft Store.
Importante
Se usi l'API di invio di Microsoft Store per creare un invio per un'app, assicurati di apportare ulteriori modifiche all'invio solo utilizzando l'API anziché il Centro per i partner. Se utilizzi il Centro per i partner per modificare un invio creato originariamente utilizzando l'API, non potrai più modificare o confermare tale invio utilizzando l'API. In alcuni casi, l'invio potrebbe rimanere in uno stato di errore in cui non è possibile procedere nel processo di invio. In tal caso, è necessario eliminare l'invio e crearne uno nuovo.
Importante
Non è possibile utilizzare questa API per pubblicare invii per pubblicare invii per acquisti a volume tramite Microsoft Store per le aziende e Microsoft Store per la formazione o per pubblicare invii perapp LOB direttamente per le aziende. Per entrambi questi scenari, è necessario utilizzare il Centro per i partner per pubblicare l'invio.
Metodi per la gestione degli invii di app
Utilizzare i seguenti metodi per ottenere, creare, aggiornare, confermare o eliminare l'invio di un'app. Prima di poter usare questi metodi, l'app deve già esistere nell'account del Centro per i partner ed è necessario prima creare un invio per l'app nel Centro per i partner. Per altre informazioni, consulta i prerequisiti.
Method | URI | Descrizione |
---|---|---|
GET | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId} | Ottieni l'invio di un'app esistente |
GET | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/status | Ottieni lo stato dell'invio di un'app esistente |
POST | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions | Crea un nuovo invio di app |
PUT | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId} | Aggiorna l'invio di un'app esistente |
POST | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/commit | Effettua l'invio di un'app nuova o aggiornata |
DELETE | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId} | Elimina l'invio di un'app |
Creare un invio dell’app
Per creare un invio per un'app, segui questa procedura.
Se non lo hai già fatto, completa tutti iprerequisitio l'API di invio a Microsoft Store.
Nota
Assicurati che l'app abbia già completato almeno un invio con le informazioni sulla classificazione in base all'età completate.
Ottieni un token di accesso di Azure AD. Devi passare questo token di accesso ai metodi nell'API di invio di Microsoft Store. Dopo aver ottenuto un token di accesso, questo sarà disponibile per 60 minuti prima della scadenza. Dopo la scadenza del token, è possibile ottenerne uno nuovo.
Crea l'invio di un'app eseguendo il metodo seguente nell'API di invio di Microsoft Store. Questo metodo crea un nuovo invio in corso, che è una copia dell'ultimo invio pubblicato.
POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions
Il corpo della risposta contiene un file invio dell'app risorsa che include l'ID del nuovo invio, l'URI della firma di accesso condiviso (SAS) per il caricamento di ogni file correlato per l'invio ad Archiviazione BLOB di Azure (come pacchetti di app, immagini di elenchi e file di trailer), e tutti i dati per il nuovo invio (come gli elenchi e le informazioni sui prezzi ).
Nota
Un URI SAS fornisce l'accesso a una risorsa sicura nell'archiviazione di Azure senza richiedere chiavi dell'account. Per informazioni di base sugli URI SAS e sul relativo utilizzo con Archiviazione BLOB di Azure, vedere Firme di accesso condiviso, parte 1: comprensione del modello SAS e Firme di accesso condiviso, parte 2: creare e usare una firma di accesso condiviso con l'archiviazione BLOB.
Se stai aggiungendo nuovi pacchetti, elenchi di immagini o file di trailer per l'invio, prepara i pacchetti dell'app e prepara screenshot, immagini e trailer dell'app. Aggiungi tutti questi file a un archivio ZIP.
Rivedere idati di invio dell'app con le eventuali modifiche richieste per il nuovo invio ed eseguire il seguente metodo per aggiornare l'invio dell'app.
PUT https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}
Nota
Se stai aggiungendo nuovi file per l'invio, assicurati di aggiornare i dati di invio per fare riferimento al nome e al percorso relativo di questi file nell'archivio ZIP.
Se stai aggiungendo nuovi pacchetti, elenchi di immagini o file di trailer per l'invio, carica l'archivio ZIP su Azure Blob Storage utilizzando l'URI SAS fornito nel corpo della risposta del metodo POST chiamato in precedenza. Esistono diverse librerie di Azure che puoi usare per eseguire questa operazione su una varietà di piattaforme, tra cui:
- Libreria client di archiviazione di Azure per .NET
- Azure Storage SDK per Java
- SDK di Archiviazione di Azure per Python
Nell'esempio di codice C# seguente viene illustrato come caricare un archivio ZIP nell'archiviazione BLOB di Azure utilizzando la classe CloudBlockBlob nella libreria client di archiviazione di Azure per .NET. Questo esempio presuppone che l'archivio ZIP sia già stato scritto in un oggetto flusso.
string sasUrl = "https://productingestionbin1.blob.core.windows.net/ingestion/26920f66-b592-4439-9a9d-fb0f014902ec?sv=2014-02-14&sr=b&sig=usAN0kNFNnYE2tGQBI%2BARQWejX1Guiz7hdFtRhyK%2Bog%3D&se=2016-06-17T20:45:51Z&sp=rwl"; Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob blockBob = new Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob(new System.Uri(sasUrl)); await blockBob.UploadFromStreamAsync(stream);
Invia la presentazione dell'app eseguendo il seguente metodo. Ciò avviserà il Centro per i partner che hai terminato l'invio e che gli aggiornamenti dovrebbero ora essere applicati al tuo account.
POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/commit
Controlla lo stato eseguendo il metodo seguente per ottenere lo stato dell'invio dell'app.
GET https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/status
Per confermare lo stato di invio, rivedere il valore dellostato nel corpo della risposta. Questo valore dovrebbe cambiare da CommitStarted aPreProcessingse la richiesta ha esito positivo oppure a CommitFailed se ci sono errori nella richiesta. Se ci sono errori, il campo di statusDetails contiene ulteriori dettagli sull'errore.
Una volta completato correttamente l'invio, questo viene inviato allo Store per l'inserimento. È possibile continuare a monitorare lo stato di avanzamento dell'invio utilizzando il metodo precedente o visitando il Centro per i partner.
Metodi per gestire un'implementazione graduale del pacchetto
Puoi implementare gradualmente i pacchetti aggiornati nell'invio di un'app a una percentuale di clienti della tua app su Windows 10 e Windows 11. Ciò ti consente di monitorare feedback e dati analitici per i pacchetti specifici per assicurarti di essere sicuro dell'aggiornamento prima di distribuirlo su un piano più ampio. Puoi modificare la percentuale di implementazione (o interrompere l'aggiornamento) per un invio pubblicato senza dover creare un nuovo invio. Per altri dettagli, incluse le istruzioni su come abilitare e gestire l'implementazione graduale del pacchetto nel Centro per i partner, vedere questo articolo.
Per abilitare a livello di codice un'implementazione graduale del pacchetto per l'invio di un'app, segui questo processo utilizzando i metodi nell'API di invio di Microsoft Store:
- Crea l'invio di un'app or per ottenere l'invio di un'app esistente.
- Nei dati di risposta, individuare la risorsa packageRollout impostare il campoisPackageRollout suvero, e impostare il packageRolloutPercentagecampo relativo alla percentuale di clienti della tua app che dovrebbero ricevere i pacchetti aggiornati.
- Passa i dati aggiornati di invio dell'app al metodo di aggiornamento dell'invio dell'app.
Dopo aver abilitato l'implementazione graduale del pacchetto per l'invio di un'app, è possibile utilizzare i seguenti metodi per ottenere, aggiornare, interrompere o finalizzare l'implementazione graduale a livello di codice.
Method | URI | Descrizione |
---|---|---|
GET | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/packagerollout | Ottieni le informazioni sull'implementazione graduale per l'invio di un'app |
POST | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/updatepackagerolloutpercentage | Aggiorna la percentuale di implementazione graduale per l'invio di un'app |
POST | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/haltpackagerollout | Interrompere l'implementazione graduale per l'invio di un'app |
POST | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/submissions/{submissionId}/finalizepackagerollout | Finalizzare l'implementazione graduale per l'invio di un'app |
Esempi di codice per la gestione degli invii di app
I seguenti articoli forniscono esempi di codice dettagliati che dimostrano come creare l'invio di un'app in diversi linguaggi di programmazione:
- Esempio C#: invii per app, componenti aggiuntivi e pacchetti in anteprima
- Esempio C#: invio di app con opzioni di gioco e trailer
- Esempio Java: invii per app, componenti aggiuntivi e pacchetti in anteprima
- Esempio Java: invio di app con opzioni di gioco e trailer
- Esempio Python: invii per app, componenti aggiuntivi e pacchetti in anteprima
- Esempio Python: invio di app con opzioni di gioco e trailer
Modulo StoreBroker PowerShell
In alternativa alla chiamata diretta all'API di invio di Microsoft Store, forniamo anche un modulo PowerShell open source che implementa un'interfaccia della riga di comando sopra l'API. Questo modulo è chiamato StoreBroker. Puoi utilizzare questo modulo per gestire gli invii di app, voli e componenti aggiuntivi dalla riga di comando invece di chiamare direttamente l'API di invio di Microsoft Store oppure puoi semplicemente esplorare l'origine per visualizzare altri esempi su come chiamare questa API. Il modulo StoreBroker viene utilizzato attivamente in Microsoft come modalità principale con cui molte applicazioni di prima parte vengono inviate allo Store.
Per maggiori informazioni, vedere la nostra pagina StoreBroker su GitHub.
Risorse dati
I metodi API di invio di Microsoft Store per la gestione degli invii di app utilizzano le seguenti risorse di dati JSON.
Risorsa per l'invio dell'app
Questa risorsa descrive l'invio di un'app
{
"id": "1152921504621243540",
"applicationCategory": "BooksAndReference_EReader",
"pricing": {
"trialPeriod": "FifteenDays",
"marketSpecificPricings": {},
"sales": [],
"priceId": "Tier2",
"isAdvancedPricingModel": true
},
"visibility": "Public",
"targetPublishMode": "Manual",
"targetPublishDate": "1601-01-01T00:00:00Z",
"listings": {
"en-us": {
"baseListing": {
"copyrightAndTrademarkInfo": "",
"keywords": [
"epub"
],
"licenseTerms": "",
"privacyPolicy": "",
"supportContact": "",
"websiteUrl": "",
"description": "Description",
"features": [
"Free ebook reader"
],
"releaseNotes": "",
"images": [
{
"fileName": "contoso.png",
"fileStatus": "Uploaded",
"id": "1152921504672272757",
"description": "Main page",
"imageType": "Screenshot"
}
],
"recommendedHardware": [],
"title": "Contoso ebook reader"
},
"platformOverrides": {
"Windows81": {
"description": "Ebook reader for Windows 8.1"
}
}
}
},
"hardwarePreferences": [
"Touch"
],
"automaticBackupEnabled": false,
"canInstallOnRemovableMedia": true,
"isGameDvrEnabled": false,
"gamingOptions": [],
"hasExternalInAppProducts": false,
"meetAccessibilityGuidelines": true,
"notesForCertification": "",
"status": "PendingCommit",
"statusDetails": {
"errors": [],
"warnings": [],
"certificationReports": []
},
"fileUploadUrl": "https://productingestionbin1.blob.core.windows.net/ingestion/387a9ea8-a412-43a9-8fb3-a38d03eb483d?sv=2014-02-14&sr=b&sig=sdd12JmoaT6BhvC%2BZUrwRweA%2Fkvj%2BEBCY09C2SZZowg%3D&se=2016-06-17T18:32:26Z&sp=rwl",
"applicationPackages": [
{
"fileName": "contoso_app.appx",
"fileStatus": "Uploaded",
"id": "1152921504620138797",
"version": "1.0.0.0",
"architecture": "ARM",
"languages": [
"en-US"
],
"capabilities": [
"ID_RESOLUTION_HD720P",
"ID_RESOLUTION_WVGA",
"ID_RESOLUTION_WXGA"
],
"minimumDirectXVersion": "None",
"minimumSystemRam": "None",
"targetDeviceFamilies": [
"Windows.Mobile min version 10.0.10240.0"
]
}
],
"packageDeliveryOptions": {
"packageRollout": {
"isPackageRollout": false,
"packageRolloutPercentage": 0.0,
"packageRolloutStatus": "PackageRolloutNotStarted",
"fallbackSubmissionId": "0"
},
"isMandatoryUpdate": false,
"mandatoryUpdateEffectiveDate": "1601-01-01T00:00:00.0000000Z"
},
"enterpriseLicensing": "Online",
"allowMicrosoftDecideAppAvailabilityToFutureDeviceFamilies": true,
"allowTargetFutureDeviceFamilies": {
"Desktop": false,
"Mobile": true,
"Holographic": true,
"Xbox": false,
"Team": true
},
"friendlyName": "Submission 2",
"trailers": []
}
Questa risorsa ha i seguenti valori.
Valore | Tipo | Descrizione |
---|---|---|
id | string | L'ID dell'invio. Questo ID è disponibile nei dati di risposta per le richieste a creare un'app, ottenere tutte le app, eottenere un'app. Per un invio creato nel Centro per i partner, questo ID è disponibile anche nell'URL della pagina di invio nel Centro per i partner. |
applicationCategory | string | Stringa che specifica la categoria e/o la sottocategoria per l'app. Le categorie e le sottocategorie vengono combinate in una singola stringa con il carattere di sottolineatura '_', ad esempio BooksAndReference_EReader. |
prezzi | oggetto | Una risorsa per i prezzi che contiene informazioni sui prezzi per l'app. |
visibility | string | Visibilità dell'app. I valori possibili sono i seguenti:
|
targetPublishMode | string | Modalità di pubblicazione per l'invio. I valori possibili sono i seguenti:
|
targetPublishDate | string | Data di pubblicazione per l'invio in formato ISO 8601, se targetPublishMode è impostato su SpecificDate. |
presentazioni | oggetto | Un dizionario di coppie chiave-valore, in cui ciascuna chiave è un codice paese ISO 3166-1 alpha-2 di due lettere e ciascun valore è un elenco delle risorse che contiene informazioni sull'elenco dell'app |
hardwarePreferences | array | Matrice di stringhe che definiscono le preferenzehardware per l'app. I valori possibili sono i seguenti:
|
automaticBackupEnabled | boolean | Indica se Windows può includere i dati dell'app nei backup automatici in OneDrive. Per ulteriori informazioni, vedere Dichiarazioni di funzionalità delle app. |
canInstallOnRemovableMedia | boolean | Indica se i clienti possono installare l'app in uno spazio di archiviazione rimovibile. Per ulteriori informazioni, vedere Dichiarazioni di funzionalità delle app. |
isGameDvrEnabled | boolean | Indica se Game DVR è abilitato per l'app. |
gamingOptions | array | Un array che contiene una risorsa delle opzioni di gioco che definisce le impostazioni relative al gioco per l'app. |
hasExternalInAppProducts | boolean | Indica se l'app consente agli utenti di effettuare acquisti all'esterno del sistema commerciale di Microsoft Store. Per ulteriori informazioni, vedere Dichiarazioni di funzionalità delle app. |
meetAccessibilityGuidelines | boolean | Indica se l'app è stata testata per soddisfare le linee guida per l'accessibilità. Per ulteriori informazioni, vedere Dichiarazioni di funzionalità delle app. |
notesForCertification | string | Contiene note per la certificazione per la tua app. |
stato | string | Lo stato dell'invio. Questo può essere uno dei seguenti valori:
|
statusDetails | oggetto | Una risorsa di dettagli sullo stato che contiene dettagli aggiuntivi sullo stato dell'invio, incluse informazioni su eventuali errori. |
fileUploadUrl | string | L'URI della firma di accesso condiviso (SAS) per caricare eventuali pacchetti per l'invio. Se stai aggiungendo nuovi pacchetti, elencando immagini o file trailer per l'invio, carica l'archivio ZIP che contiene i pacchetti e le immagini su questo URI. Per maggiori informazioni, vedere Crea l'invio di un'app. |
applicationPackages | array | Un array di risorse del pacchetto applicativo che forniscono dettagli su ciascun pacchetto nell'invio. |
packageDeliveryOptions | oggetto | Una risorsa relativa alle opzioni di consegna del pacchetto che contiene l'implementazione graduale del pacchetto e le impostazioni di aggiornamento obbligatorie per l'invio. |
enterpriseLicensing | string | Uno dei valori di licenza aziendale che indicano il comportamento della licenza aziendale per l'app. |
allowMicrosoftDecideAppAvailabilityToFutureDeviceFamilies | boolean | Indica se Microsoft è autorizzato a rendere disponibile l'app per le future famiglie di dispositivi Windows 10 e Windows 11. |
allowTargetFutureDeviceFamilies | oggetto | Un dizionario di coppie chiave-valore, in cui ogni chiave è una famiglia di dispositivi Windows 10 e Windows 11 e ogni valore è un valore booleano che indica se la tua app può essere destinata alla famiglia di dispositivi specificata. |
friendlyName | string | Il nome descrittivo dell'invio, come mostrato nel Centro per i partner. Questo valore viene generato quando crei l'invio. |
trailer | array | Un array che contiene fino a 15 risorsa trailer che rappresentano trailer video per la scheda dell'app. |
Risorsa per i prezzi
Questa risorsa contiene informazioni sui prezzi per l'app. Questa risorsa ha i seguenti valori.
Valore | Tipo | Descrizione |
---|---|---|
trialPeriod | string | Una stringa che specifica il periodo di prova dell'app. Questo può essere uno dei seguenti valori:
|
marketSpecificPricings | oggetto | Un dizionario di coppie chiave-valore, in cui ciascuna chiave è un codice paese ISO 3166-1 alpha-2 di due lettere e ciascun valore è un livello di prezzo. Questi elementi rappresentano iprezzi personalizzati per la tua app in un mercato specifico. Qualsiasi elemento in questo dizionario sovrascrive il prezzo base specificato dal valore priceId per il mercato specifico |
sales | array | Deprecato. Un array di risorse di vendita che contiene informazioni di vendita per l'app. |
priceId | string | Un livello di prezzo che specifica ilprezzo baseper l'app. |
isAdvancedPricingModel | boolean | Se vero, il tuo account sviluppatore ha accesso alla serie ampliata di livelli di prezzo da 0,99 USD a 1999,99 USD. Se falso, il tuo account sviluppatore ha accesso al set originale di livelli di prezzo da 0,99 USD a 999,99 USD. Per ulteriori informazioni sui diversi livelli, vedere i livelli di prezzo. Note Questo campo è di sola lettura. |
Risorsa di vendita
Questa risorsa contiene informazioni sulla vendita di un'app.
Importante
La risorsa di vendita non è più supportata e attualmente non è possibile ottenere o modificare i dati di vendita per l'invio di un'app utilizzando l'API di invio di Microsoft Store. In futuro aggiorneremo l'API di invio di Microsoft Store per introdurre un nuovo modo di accedere a livello di codice alle informazioni sulle vendite per gli invii di app.
- Dopo aver chiamato ilmetodo GET per ottenere l'invio di un'app il metodo GET per ottenere l'invio di un componente aggiuntivo, il valore dellevendite sarà vuoto. Puoi continuare a utilizzare il Centro per i partner per ottenere i dati di vendita per la tua app inviata.
- v Metodo PUT per aggiornare l'invio di un'app, l'informazione nel valore delle vendite viene ignorata. Puoi continuare a utilizzare il Centro per i partner per modificare i dati di vendita per la tua app inviata.
Questa risorsa ha i seguenti valori.
Valore | Tipo | Descrizione |
---|---|---|
name | string | Il nome della vendita. |
basePriceId | string | La fascia di prezzo da utilizzare per il prezzo base della vendita. |
startDate | string | La data di inizio della vendita in formato ISO 8601. |
endDate | string | La data di fine della vendita in formato ISO 8601. |
marketSpecificPricings | oggetto | Un dizionario di coppie chiave-valore, in cui ciascuna chiave è un codice paese ISO 3166-1 alpha-2 di due lettere e ciascun valore è un livello di prezzo. Questi elementi rappresentano iprezzi personalizzati per la tua app in un mercato specifico. Qualsiasi elemento in questo dizionario sovrascrive il prezzo base specificato dal valore basePriceId per il mercato specifico |
Elenco delle risorse
Questa risorsa contiene informazioni sull'elenco per un'app. Questa risorsa ha i seguenti valori.
Valore | Tipo | Descrizione |
---|---|---|
baseListing | oggetto | Le sull'elenco di base per l'app, che definiscono le informazioni sull'elenco predefinite per tutte le piattaforme. |
platformOverrides | oggetto | Un dizionario di coppie chiave-valore, in cui ogni chiave è una stringa che identifica una piattaforma per la quale sovrascrivere le informazioni dell'elenco e ogni valore è una risorsa per l'elenco di bace (contenente solo i valori dalla descrizione al titolo) che specifica le informazioni sull'elenco da sovrascrivere per la piattaforma specificata. Le chiavi possono avere i seguenti valori:
|
Risorsa di elenco di base
Questa risorsa contiene informazioni sull'elenco di base per un'app. Questa risorsa ha i seguenti valori.
Valore | Tipo | Descrizione |
---|---|---|
copyrightAndTrademarkInfo | string | Informazioni facoltative su copyright e/o marchio registrato. |
parole chiave | array | Un array di keyword per aiutare la tua app a comparire nei risultati di ricerca. |
licenseTerms | string | I termini di licenza opzionali per la tua app. |
privacyPolicy | string | Questo valore è obsoleto. Per impostare o modificare l'URL dell'informativa sulla privacy per la tua app, devi farlo sulla pagina delle Proprietà nel Centro Partner Puoi omettere questo valore dalle chiamate all'API di invio. Se imposti questo valore, verrà ignorato. |
supportContact | string | Questo valore è obsoleto. Per impostare o modificare l'URL o l'indirizzo e-mail del contatto di supporto per la tua app, devi farlo sulla pagina delle Proprietà nel Centro Partner Puoi omettere questo valore dalle chiamate all'API di invio. Se imposti questo valore, verrà ignorato. |
websiteUrl | string | Questo valore è obsoleto. Per impostare o modificare l'URL della pagina web per la tua app, devi farlo sulla pagina delle Proprietà nel Centro Partner Puoi omettere questo valore dalle chiamate all'API di invio. Se imposti questo valore, verrà ignorato. |
description | stringa | La descrizionedell'elenco dell'app. |
modelli di ARM | array | Un array fino a 20 stringhe che elenca le funzioniper la tua app. |
releaseNotes | string | Le note di rilascio per la tua app. |
images | array | Un array di risorsa perimmagine e iconaper l'elenco dell'app. |
recommendedHardware | array | Un array fino a 11 stringhe che elenca le configurazioni hardware consigliateper la tua app. |
minimumHardware | string | Un array fino a 11 stringhe che elenca le configurazioni hardware minimeper la tua app. |
title | string | Il titolo dell'elenco dell'app. |
shortDescription | string | Utilizzato solo per i giochi. Questa descrizione compare nella sezione delle informazioni del Game Hub su Xbox One e aiuta i clienti a comprendere meglio il tuo gioco. |
shortTitle | string | Una versione più breve del nome del tuo prodotto. Se fornito, questo nome più breve potrebbe essere visualizzato in vari punti su Xbox One (durante l'installazione, negli Obiettivi e così via) al posto del titolo completo del prodotto. |
sortTitle | string | Se il tuo prodotto può essere ordinato in ordine alfabetico in diversi modi, puoi inserire un'altra versione qui. Ciò può aiutare i clienti a trovare il prodotto più rapidamente durante la ricerca. |
voiceTitle | string | Un nome alternativo per il tuo prodotto che, se fornito, può essere utilizzato nell'esperienza audio su Xbox One quando si utilizza Kinect o un headset. |
devStudio | string | Specifica questo valore se desideri includere un campo Sviluppato danell'elenco. (Il campo Pubblicato da elencherà il nome visualizzato dell'editore associato al tuo account, indipendentemente dal fatto che tu fornisca o meno un valore devStudio.) |
Risorsa immagine
Questa risorsa contiene dati di immagini e icone per l'elenco di un'app. Per ulteriori informazioni su immagini e icone per l'elenco di un'app, vedere Schermate e immagini dell'app. Questa risorsa ha i seguenti valori.
Valore | Tipo | Descrizione |
---|---|---|
fileName | string | Il nome del file immagine nell'archivio ZIP che hai caricato per l'invio. |
fileStatus | string | Lo stato del file immagine. Questo può essere uno dei seguenti valori:
|
id | string | L'ID dell'immagine. Questo valore viene fornito dal Centro per i partner. |
description | stringa | La descrizione dell'immagine. |
imageType | string | Indica il tipo di immagine. Attualmente sono supportate le seguenti stringhe.
Immagini promozionali opzionali:
|
Risorsa sulle opzioni di gioco
Questa risorsa contiene le impostazioni relative al gioco per l'app. I valori in questa risorsa corrispondono alle impostazioni di gioco per gli invii nel Centro per i partner.
{
"gamingOptions": [
{
"genres": [
"Games_ActionAndAdventure",
"Games_Casino"
],
"isLocalMultiplayer": true,
"isLocalCooperative": true,
"isOnlineMultiplayer": false,
"isOnlineCooperative": false,
"localMultiplayerMinPlayers": 2,
"localMultiplayerMaxPlayers": 12,
"localCooperativeMinPlayers": 2,
"localCooperativeMaxPlayers": 12,
"isBroadcastingPrivilegeGranted": true,
"isCrossPlayEnabled": false,
"kinectDataForExternal": "Enabled"
}
],
}
Questa risorsa ha i seguenti valori.
Valore | Tipo | Descrizione |
---|---|---|
genres | array | Un array di una o più delle seguenti stringhe che descrivono i generi del gioco:
|
isLocalMultiplayer | boolean | Indica se il gioco supporta il multiplayer locale. |
isLocalCooperative | boolean | Indica se il gioco supporta la modalità cooperativa locale. |
isOnlineMultiplayer | boolean | Indica se il gioco supporta il multiplayer online. |
isOnlineCooperative | boolean | Indica se il gioco supporta il co-op online. |
localMultiplayerMinPlayers | int | Specifica il numero minimo di giocatori supportati dal gioco per il multiplayer locale. |
localMultiplayerMaxPlayers | int | Specifica il numero massimo di giocatori supportati dal gioco per il multiplayer locale. |
localCooperativeMinPlayers | int | Specifica il numero minimo di giocatori supportati dal gioco per il co-op locale. |
localCooperativeMaxPlayers | int | Specifica il numero massimo di giocatori supportati dal gioco per il co-op locale. |
isBroadcastingPrivilegeGranted | boolean | Indica se il gioco supporta la trasmissione. |
isCrossPlayEnabled | boolean | Indica se il gioco supporta sessioni multiplayer tra giocatori su PC Windows 10 e Windows 11 e Xbox. |
kinectDataForExternal | string | Uno dei seguenti valori stringa che indica se il gioco può raccogliere dati Kinect e inviarli a servizi esterni:
|
Nota
La risorsa gamingOptions è stata aggiunta a maggio 2017, dopo che l'API di invio di Microsoft Store è stata rilasciata per la prima volta agli sviluppatori. Se hai creato un invio per un'app tramite l'API di invio prima che questa risorsa fosse introdotta e l'invio è ancora in corso, questa risorsa sarà nulla per gli invii per l'app finché non committerai correttamente l'invio o non lo eliminerai. Se la risorsa gamingOptions non è disponibile per l'invio in un'app, il campo hasAdvancedListingPermission della Risorsa dell'applicazione restituita dal metodo ottieni un'appè falsa.
Risorsa dei dettagli sullo stato
Questa risorsa contiene dettagli aggiuntivi sullo stato di un invio. Questa risorsa ha i seguenti valori.
Valore | Tipo | Descrizione |
---|---|---|
errori | oggetto | Un array di risorse per i dettagli sullo stato che contiene dettagli sull'errore per l'invio. |
avvisi | oggetto | Un array di risorse per i dettagli sullo stato che contiene dettagli di avviso per l'invio. |
certificationReports | oggetto | Un array di risorse del rapporto di certificazione che fornisce l'accesso ai dati del rapporto di certificazione per l'invio. È possibile esaminare questi report per ulteriori informazioni se la certificazione fallisce. |
Risorsa dei dettagli sullo stato
Questa risorsa contiene informazioni aggiuntive su eventuali errori o avvisi correlati per un invio. Questa risorsa ha i seguenti valori.
Valore | Tipo | Descrizione |
---|---|---|
codice | string | Un codice di stato dell'invio che descrive il tipo di errore o avviso.. |
dettagli | string | Un messaggio con maggiori dettagli sul problema. |
Risorsa del pacchetto dell'applicazione
Questa risorsa contiene dettagli su un pacchetto dell'app per l'invio.
{
"applicationPackages": [
{
"fileName": "contoso_app.appx",
"fileStatus": "Uploaded",
"id": "1152921504620138797",
"version": "1.0.0.0",
"architecture": "ARM",
"languages": [
"en-US"
],
"capabilities": [
"ID_RESOLUTION_HD720P",
"ID_RESOLUTION_WVGA",
"ID_RESOLUTION_WXGA"
],
"minimumDirectXVersion": "None",
"minimumSystemRam": "None",
"targetDeviceFamilies": [
"Windows.Mobile min version 10.0.10240.0"
]
}
],
}
Questa risorsa ha i seguenti valori.
Nota
Quando chiami il metodoaggiornamento di un'app e invio, solo il fileName, fileStatus, minimumDirectXVersion, e il valore minimumSystemRam di questo oggetto sono obbligatori nel corpo della richiesta. Gli altri valori vengono popolati dal Centro per i partner.
Valore | Tipo | Descrizione |
---|---|---|
fileName | string | Il nome del pacchetto. |
fileStatus | string | Lo stato del pacchetto. Questo può essere uno dei seguenti valori:
|
id | string | Un ID che identifica in modo univoco il pacchetto. Questo valore viene fornito dal Centro per i partner. |
versione | string | La versione del pacchetto dell'app. Per maggiori informazioni, vedere Numerazione della versione del pacchetto. |
architecture | string | L'architettura del pacchetto (ad esempio, ARM). |
languages | array | Una serie di codici lingua per le lingue supportate dall'app. Per altre informazioni, vedi Lingue supportate. |
capabilities | array | Una serie di funzionalità richieste dal pacchetto. Per ulteriori informazioni sulle funzionalità, vedere Dichiarazione di capacità dell'app. |
minimumDirectXVersion | string | La versione minima di DirectX supportata dal pacchetto dell'app. Questo può essere impostato solo per le app destinate a Windows 8.x. Per le app destinate ad altre versioni del sistema operativo, questo valore deve essere presente quando si chiama ilmetodo di invio dell'aggiornamento di un'app, ma il valore specificato viene ignorato. Questo può essere uno dei seguenti valori:
|
minimumSystemRam | string | La RAM minima richiesta dal pacchetto dell'app. Questo può essere impostato solo per le app destinate a Windows 8.x. Per le app destinate ad altre versioni del sistema operativo, questo valore deve essere presente quando si chiama ilmetodo di invio dell'aggiornamento di un'app, ma il valore specificato viene ignorato. Questo può essere uno dei seguenti valori:
|
targetDeviceFamilies | array | Una matrice di stringhe che rappresentano le famiglie di dispositivi a cui è destinato il pacchetto. Questo valore viene utilizzato solo per i pacchetti destinati a Windows 10; per i pacchetti destinati a versioni precedenti, questo valore ha il valore None. Le seguenti stringhe di famiglie di dispositivi sono attualmente supportate per i pacchetti Windows 10 e Windows 11, dove {0} è una stringa di versione di Windows 10 o Windows 11 come 10.0.10240.0, 10.0.10586.0 o 10.0.14393.0:
|
id="certification-report-resource"
Risorsa del rapporto di certificazione
Questa risorsa fornisce l'accesso ai dati del report di certificazione per un invio. Questa risorsa ha i seguenti valori.
Valore | Tipo | Descrizione |
---|---|---|
data | string | La data e l'ora in cui è stato generato il report, in formato ISO 8601. |
reportUrl | string | L'URL da cui è possibile accedere al report. |
Risorsa relativa alle opzioni di consegna del pacco
Questa risorsa relativa alle opzioni di consegna del pacchetto contiene l'implementazione graduale del pacchetto e le impostazioni di aggiornamento obbligatorie per l'invio.
{
"packageDeliveryOptions": {
"packageRollout": {
"isPackageRollout": false,
"packageRolloutPercentage": 0,
"packageRolloutStatus": "PackageRolloutNotStarted",
"fallbackSubmissionId": "0"
},
"isMandatoryUpdate": false,
"mandatoryUpdateEffectiveDate": "1601-01-01T00:00:00.0000000Z"
},
}
Questa risorsa ha i seguenti valori.
Valore | Tipo | Descrizione |
---|---|---|
packageRollout | oggetto | Unarisorsa di distribuzione del pacchettocontiene l'implementazione graduale del pacchetto e le impostazioni di aggiornamento obbligatorie per l'invio. |
isMandatoryUpdate | boolean | Indica se desideri considerare i pacchetti in questo invio come obbligatori per gli aggiornamenti delle app autoinstallanti. Per ulteriori informazioni sui pacchetti obbligatori per gli aggiornamenti delle app autoinstallanti, vedere Scarica e installa gli aggiornamenti del pacchetto per la tua app. |
mandatoryUpdateEffectiveDate | data | La data e l'ora in cui i pacchetti in questo invio diventano obbligatori, nel formato ISO 8601 e nel fuso orario UTC. |
Risorsa di distribuzione del pacchetto
Questa risorsa contiene le impostazioni di implementazione graduale del pacchetto per l'invio. per l'invio. Questa risorsa ha i seguenti valori.
Valore | Tipo | Descrizione |
---|---|---|
isPackageRollout | boolean | Indica se per l'invio è abilitata l'implementazione graduale del pacchetto. |
packageRolloutPercentage | float | La percentuale di utenti che riceveranno i pacchetti nell'implementazione graduale. |
packageRolloutStatus | string | Una delle seguenti stringhe che indica lo stato dell'implementazione graduale del pacchetto:
|
fallbackSubmissionId | string | L'ID dell'invio che verrà ricevuto dai clienti che non ricevono i pacchetti di implementazione graduale. |
Nota
I valori packageRolloutStatus e fallbackSubmissionId vengono assegnati dal Centro per i partner e non sono destinati a essere impostati dallo sviluppatore. Se includi questi valori nel corpo di una richiesta, questi valori verranno ignorati.
Risorsa trailer
Questa risorsa rappresenta un trailer video per l'elenco dell'app. I valori in questa risorsa corrispondono alle opzioni deltrailer per gli invii nel Centro per i partner.
Puoi aggiungere fino a 15 risorse all'arraytrailer in unarisorsa di invio dell'app . Per caricare file video trailer e immagini in miniatura per un invio, aggiungi questi file allo stesso archivio ZIP che contiene i pacchetti e le immagini dell'elenco per l'invio, quindi carica questo archivio ZIP nell'URI della firma di accesso condiviso (SAS) per l'invio. Per maggiori informazioni caricare l'archivio ZIP su SAS UR, vedere Crea l'invio di un'app.
{
"trailers": [
{
"id": "1158943556954955699",
"videoFileName": "Trailers\\ContosoGameTrailer.mp4",
"videoFileId": "1159761554639123258",
"trailerAssets": {
"en-us": {
"title": "Contoso Game",
"imageList": [
{
"fileName": "Images\\ContosoGame-Thumbnail.png",
"id": "1155546904097346923",
"description": "This is a still image from the video."
}
]
}
}
}
]
}
Questa risorsa ha i seguenti valori.
Valore | Tipo | Descrizione |
---|---|---|
id | string | L'ID del trailer. Questo valore viene fornito dal Centro per i partner. |
videoFileName | string | Il nome del file video del trailer nell'archivio ZIP che contiene i file per l'invio. |
videoFileId | string | L'ID del file video del trailer. Questo valore viene fornito dal Centro per i partner. |
trailerAssets | oggetto | Un dizionario di coppie chiave-valore, in cui ogni chiave è un codice lingua e ogni valore è un risorsa del trailer che contiene risorse aggiuntive specifiche per le impostazioni locali per il trailer. Per ulteriori informazioni sui codici lingua supportati, vedere Lingue supportate. |
Nota
La risorsa trailer è stata aggiunta a maggio 2017, dopo che l'API di invio di Microsoft Store è stata rilasciata per la prima volta agli sviluppatori. Se hai creato un invio per un'app tramite l'API di invio prima che questa risorsa fosse introdotta e l'invio è ancora in corso, questa risorsa sarà nulla per gli invii per l'app finché non committerai correttamente l'invio o non lo eliminerai. Se la risorsa trailer non è disponibile per l'invio in un'app, il campo hasAdvancedListingPermission della Risorsa dell'applicazione restituita dal metodo ottieni un'appè falsa.
Risorsa trailer
Questa risorsa contiene risorse aggiuntive specifiche delle impostazioni locali per un trailer definito in una risorsa trailer. Questa risorsa ha i seguenti valori.
Valore | Tipo | Descrizione |
---|---|---|
titolo | string | Il titolo localizzato del trailer. Il titolo viene visualizzato quando l'utente riproduce il trailer in modalità a schermo intero. |
imageList | array | Un array che contiene una risorsa immagine che fornisce l'immagine in miniatura per il trailer. Puoi includere solo una image risorsa in questo array. |
Risorsa immagine (per un trailer)
Questa risorsa descrive l'immagine in miniatura di un trailer. Questa risorsa ha i seguenti valori.
Valore | Tipo | Descrizione |
---|---|---|
fileName | string | Il nome del file di immagine in miniatura nell'archivio ZIP che hai caricato per l'invio. |
id | string | L'ID dell'immagine in miniatura. Questo valore viene fornito dal Centro per i partner. |
description | stringa | La descrizione dell'immagine in miniatura. Questo valore è costituito solo da metadati e non viene visualizzato agli utenti. |
Enumerazioni
Questi metodi utilizzano le seguenti enumerazioni.
Livelli di prezzo
I seguenti valori rappresentano i livelli di prezzo disponibili nella risorsa per i prezzi per un invio dell'app.
valore | Descrizione |
---|---|
Base | La fascia di prezzo non è fissata; utilizzare il prezzo base per l'app. |
NotAvailable | L'app non è disponibile nella regione specificata. |
Gratuito | L'app è gratuita. |
Fasciaxxx | Una stringa che specifica il livello di prezzo per l'app, nel formato fasciaxxxx. Attualmente sono supportate le seguenti fasce di prezzo:
|
Valori delle licenze aziendali
I valori seguenti rappresentano il comportamento di licenza organizzativa per l'app. Per ulteriori informazioni su queste opzioni, vedere Opzione di licenza organizzativa.
Nota
Sebbene sia possibile configurare le opzioni di licenza organizzativa per l'invio di un'app tramite l'API di invio, non è possibile utilizzare questa API per pubblicare invii per acquisti a volume tramite Microsoft Store per le aziende e Microsoft Store per la formazione. Per pubblicare invii a Microsoft Store per le aziende e Microsoft Store per la formazione, è necessario utilizzare il Centro per i partner.
valore | Descrizione |
---|---|
Nessuna | Non rendere la tua app disponibile alle aziende con contratti multilicenza gestiti dallo Store (online). |
Online | Rendi la tua app disponibile alle aziende con contratti multilicenza gestiti dallo Store (online). |
OnlineAndOffline | Rendi la tua app disponibile alle aziende con contratti multilicenza gestiti dallo Store (online) e rendi la tua app disponibile alle aziende tramite licenze disconnesse (offline). |
Codice di stato dell'invio
I seguenti valori rappresentano il codice di stato di un invio.
valore | Descrizione |
---|---|
Nessuna | Non è stato specificato alcun codice. |
InvalidArchive | L'archivio ZIP contenente il pacchetto non è valido o ha un formato di archivio non riconosciuto. |
MissingFiles | L'archivio ZIP non contiene tutti i file elencati nei dati di invio oppure si trovano nella posizione sbagliata nell'archivio. |
PackageValidationFailed | La convalida di uno o più pacchetti inviati non è riuscita. |
InvalidParameterValue | Uno dei parametri nel corpo della richiesta non è valido. |
InvalidOperation | L'operazione che hai tentato non è valida. |
InvalidState | L'operazione tentata non è valida per lo stato attuale del pacchetto. |
ResourceNotFound | Impossibile trovare il pacchetto specificato. |
ServiceError | Un errore interno del servizio ha impedito la riuscita della richiesta. Riprova la richiesta. |
ListingOptOutWarning | Lo sviluppatore ha rimosso un elenco da un invio precedente o non ha incluso le informazioni sull'elenco supportate dal pacchetto. |
ListingOptInWarning | Lo sviluppatore ha aggiunto un elenco. |
UpdateOnlyWarning | Lo sviluppatore sta tentando di inserire qualcosa che abbia solo il supporto per gli aggiornamenti. |
Altro | L'invio è in uno stato non riconosciuto o senza categoria. |
PackageValidationWarning | Il processo di convalida del pacchetto ha generato un avviso. |