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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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:

    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);
    
  7. 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
    
  8. 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.

  9. 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:

  1. Crea l'invio di un'app or per ottenere l'invio di un'app esistente.
  2. 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.
  3. 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:

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:
  • Hidden
  • Pubblico
  • Privato
  • NotSet
targetPublishMode string Modalità di pubblicazione per l'invio. I valori possibili sono i seguenti:
  • Immediate
  • Manuale
  • SpecificDate
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:
  • Touch
  • Tastiera
  • Mouse
  • Fotocamera
  • NfcHce
  • Nfc
  • BluetoothLE
  • Telefonia
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:
  • None
  • Annullati
  • PendingCommit
  • CommitStarted
  • CommitFailed
  • PendingPublication
  • Pubblicazione
  • Pubblicazione completata
  • PublishFailed
  • PreProcessing
  • PreProcessingFailed
  • Certification
  • CertificationFailed
  • Versione
  • ReleaseFailed
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:
  • NoFreeTrial
  • OneDay
  • TrialNeverExpires
  • SevenDays
  • FifteenDays
  • ThirtyDays
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.

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:
  • Sconosciuto
  • Windows80
  • Windows81
  • WindowsPhone71
  • WindowsPhone80
  • WindowsPhone81

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:
  • None
  • PendingUpload
  • Caricato
  • PendingDelete
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 dello screenshot:

  • Screenshot (usa questo valore per lo screenshot del desktop)
  • MobileScreenshot
  • XboxScreenshot
  • SurfaceHubScreenshot
  • HoloLensScreenshot

logo dello Store:

  • StoreLogo9x16
  • StoreLogoSquare
  • Icona (utilizza questo valore per il logo 1:1 da 300 x 300 pixel)

Immagini promozionali:

  • PromotionalArt16x9
  • PromotionalArtwork2400X1200

Immagini Xbox:

  • XboxBrandedKeyArt
  • XboxTitledHeroArt
  • XboxFeaturedPromotionalArt

Immagini promozionali opzionali:

  • SquareIcon358X358
  • BackgroundImage1000X800
  • PromotionalArtwork414X180

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:
  • Games_ActionAndAdventure
  • Games_CardAndBoard
  • Games_Casino
  • Games_Educational
  • Games_FamilyAndKids
  • Games_Fighting
  • Games_Music
  • Games_Platformer
  • Games_PuzzleAndTrivia
  • Games_RacingAndFlying
  • Games_RolePlaying
  • Games_Shooter
  • Games_Simulation
  • Games_Sports
  • Games_Strategy
  • Games_Word
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:
  • NotSet
  • Sconosciuto
  • Attivata
  • Disabilitata

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:
  • None
  • PendingUpload
  • Caricato
  • PendingDelete
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:
  • None
  • DirectX93
  • DirectX100
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:
  • None
  • Memory2GB
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:
  • Versione minima di Windows.Universal {0}
  • Versione minima di Windows.Desktop {0}
  • Versione minima di Windows.Mobile {0}
  • Versione minima di Windows.Xbox {0}
  • Versione minima di Windows.Holographic {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:
  • PackageRolloutNotStarted
  • PackageRolloutInProgress
  • PackageRolloutComplete
  • PackageRolloutStopped
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:

  • Se il valore isAdvancedPricingModel della risorsa del prezzo è vero, i valori della fascia di prezzo disponibili per il tuo account sono Tier1012 - Tier1424.
  • Se il valore isAdvancedPricingModel della risorsa del prezzo è vero, i valori della fascia di prezzo disponibili per il tuo account sono Tier1012 - Tier1424.
Per visualizzare la tabella completa dei livelli di prezzo disponibili per il tuo account sviluppatore, inclusi i prezzi specifici del mercato associati a ciascun livello, vai alla pagina Prezzi e disponibilità per qualsiasi app inviata nel Centro per i partner e fare clic su link visualizza tabella nella sezione Mercati e prezzi personalizzati (per alcuni account sviluppatore, questo collegamento si trova nella sezione prezzi ).

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.