Gérer les soumissions de versions d’évaluation de package
L’API de soumission au Microsoft Store fournit des méthodes que vous pouvez utiliser pour gérer les soumissions de version d’évaluation de package pour vos applications, y compris les déploiements progressifs de packages. Pour une présentation de l’API de soumission au Microsoft Store, y compris les conditions préalables à l’utilisation de l’API, consultez Créer et gérer des soumissions à l’aide des services du Microsoft Store.
Important
Si vous utilisez l’API de soumission au Microsoft Store pour créer une soumission pour une version d’évaluation de package, veillez à apporter d’autres modifications à la soumission uniquement à l’aide de l’API, plutôt que de l’Espace partenaires. Si vous utilisez le tableau de bord pour modifier une soumission que vous avez créée à l’origine à l’aide de l’API, vous ne pourrez plus modifier ou valider cette soumission à l’aide de l’API. Dans certains cas, la soumission peut être laissée dans un état d’erreur où elle ne peut pas continuer dans le processus de soumission. Si cela se produit, vous devez supprimer la soumission et créer une nouvelle soumission.
Méthodes de gestion des soumissions de versions d’évaluation de package
Pour obtenir, créer, mettre à jour, valider ou supprimer une soumission de version d’évaluation du package, utilisez les méthodes ci-dessous. Avant de pouvoir utiliser ces méthodes, la version d’évaluation du package doit déjà exister dans l’Espace partenaires. Vous pouvez créer une version d’évaluation de package dans l’Espace partenaires ou à l’aide des méthodes d’API de soumission du Microsoft Store décrites dans Gérer les versions d’évaluation des packages.
Méthode | URI | Description |
---|---|---|
GET | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/flights/{flightId}/submissions/{submissionId} | Obtient une soumission existante de version d’évaluation du package |
GET | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/flights/{flightId}/submissions/{submissionId}/status | Obtient l’état d’une soumission existante de version d’évaluation du package |
POST | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/flights/{flightId}/submissions | Crée une soumission de version d’évaluation du package |
PUT | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/flights/{flightId}/submissions/{submissionId} | Met à jour une soumission existante de version d’évaluation du package |
POST | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/flights/{flightId}/submissions/{submissionId}/commit | Valide une soumission nouvelle ou mise à jour de version d’évaluation du package |
Suppression | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/flights/{flightId}/submissions/{submissionId} | Supprime une soumission de version d’évaluation du package |
Créer une soumission de version d’évaluation du package
Pour créer une soumission pour une version d’évaluation de package, procédez comme suit.
Si vous ne l’avez pas encore fait, remplissez les conditions préalables décrites dans Créer et gérer des soumissions à l’aide des services du Microsoft Store, notamment l’association d’une application Azure AD à votre compte Espace partenaires et l’obtention de votre ID client et de votre clé. Vous n’aurez à le faire qu’une seule fois. Une fois à votre disposition, l’ID client et la clé sont réutilisables chaque fois que vous avez besoin de créer un jeton d’accès Azure AD.
Obtenez un jeton d’accès Azure AD. Vous devez transmettre ce jeton d’accès aux méthodes de l’API de soumission au Microsoft Store. Une fois que vous avez récupéré le jeton d’accès, vous avez 60 minutes pour l’utiliser avant qu’il n’expire. Une fois le jeton arrivé à expiration, vous pouvez en obtenir un nouveau.
Créez une soumission de version d’évaluation de package en exécutant la méthode suivante dans l’API de soumission au Microsoft Store. Cette méthode crée une soumission en cours, qui est une copie de votre dernière soumission publiée.
POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/flights/{flightId}/submissions
Le corps de la réponse contient une ressource de soumission de version d’évaluation qui inclut l’ID de la nouvelle soumission, l’URI de signature d’accès partagé (SAP) permettant de charger tous les packages de la soumission dans Stockage Blob Azure, ainsi que les données de la nouvelle soumission (y compris toutes les informations sur les listes et les tarifs).
Notes
Un URI SAS permet d’accéder à une ressource sécurisée dans le stockage Azure sans nécessiter de clés de compte. Pour obtenir des informations générales sur les URI SAS et leur utilisation avec Stockage Blob Azure, consultez Signatures d’accès partagé, Partie 1 : Présentation du modèle SAP et des signatures d’accès partagé, Partie 2 : Créer et utiliser une signature d’accès partagé avec stockage Blob.
Si vous ajoutez de nouveaux packages pour la soumission, préparez-les et ajoutez-les à une archive ZIP.
Révisez les données de soumission de version d’évaluation avec les modifications requises pour la nouvelle soumission et exécutez la méthode suivante pour mettre à jour la soumission de version d’évaluation du package.
PUT https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/flights/{flightId}/submissions/{submissionId}
Notes
Si vous ajoutez de nouveaux packages pour la soumission, veillez à mettre à jour les données de soumission pour faire référence au nom et au chemin d’accès relatif de ces fichiers dans l’archive ZIP.
Si vous ajoutez de nouveaux packages pour la soumission, chargez l’archive ZIP sur Stockage Blob Azure à l’aide de l’URI SAS fourni dans le corps de la réponse de la méthode POST que vous avez appelée précédemment. Vous pouvez utiliser différentes bibliothèques Azure pour effectuer cette opération sur de nombreuses plateformes, notamment :
- Bibliothèque cliente stockage Azure pour .NET
- Kit de développement logiciel (SDK) Azure Storage pour Java
- Kit de développement logiciel (SDK) Stockage Azure pour Python
L’exemple de code C# suivant montre comment charger une archive ZIP dans Stockage Blob Azure à l’aide de la classe CloudBlockBlob dans la bibliothèque cliente stockage Azure pour .NET. Cet exemple repose sur le principe que l’archive ZIP a déjà été écrite dans un objet de flux.
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);
Validez la soumission de la version d’évaluation du package en exécutant la méthode suivante. Cela avertit l’Espace partenaires que vous avez terminé votre envoi et que vos mises à jour doivent maintenant être appliquées à votre compte.
POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/flights/{flightId}/submissions/{submissionId}/commit
Vérifiez l’état de la validation en exécutant la méthode suivante pour récupérer le statut de la soumission de la version d’évaluation du package.
GET https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/flights/{flightId}/submissions/{submissionId}/status
Pour vérifier l’état de la soumission, examinez la valeur status dans le corps de la réponse. Cette valeur doit passer de CommitStarted à PreProcessing si la requête aboutit ou à CommitFailed si elle contient des erreurs. S’il existe des erreurs, le champ statusDetails contient d’autres détails s’y rapportant.
Une fois la validation correctement terminée, la soumission est envoyée au Windows Store en vue de son intégration. Vous pouvez continuer à surveiller la progression de la soumission à l’aide de la méthode précédente ou en visitant l’Espace partenaires.
Exemples de code
Les articles suivants fournissent des exemples de code détaillés qui montrent comment créer une soumission de version d’évaluation du package dans différents langages de programmation :
Module StoreBroker PowerShell
En guise d’alternative à l’appel direct de l’API de soumission au Microsoft Store, nous fournissons également un module PowerShell open source qui implémente une interface de ligne de commande sur l’API. Ce module est appelé StoreBroker. Vous pouvez utiliser ce module pour gérer vos soumissions d’application, de version d’évaluation et de module complémentaire à partir de la ligne de commande au lieu d’appeler directement l’API de soumission au Microsoft Store, ou vous pouvez simplement parcourir la source pour voir d’autres exemples d’appel de cette API. Le module StoreBroker est activement utilisé dans Microsoft comme méthode principale d’envoi de nombreuses applications internes au Windows Store.
Pour plus d’informations, consultez notre page StoreBroker sur GitHub.
Gérer un lancement de package progressif pour une soumission de version d’évaluation de package
Vous pouvez déployer progressivement les packages mis à jour dans une soumission de version d’évaluation de package à un pourcentage des clients de votre application sur Windows 10 et Windows 11. Cela vous permet de surveiller les commentaires et les données d’analyse des packages spécifiques et de vérifier l’adéquation de votre mise à jour avant de la déployer plus largement. Vous pouvez modifier le pourcentage de lancement (ou arrêter la mise à jour) d’une soumission publiée sans avoir à créer une nouvelle soumission. Pour plus d’informations, notamment des instructions sur l’activation et la gestion d’un déploiement progressif de package dans l’Espace partenaires, consultez cet article.
Pour activer par programme un déploiement de package progressif pour une soumission de version d’évaluation de package, suivez ce processus à l’aide des méthodes de l’API de soumission au Microsoft Store :
- Créez une soumission de version d’évaluation du package ou récupérez une soumission de version d’évaluation du package.
- Dans les données de réponse, localisez la ressource packageRollout, définissez le champ isPackageRollout sur true, puis définissez le champ packageRolloutPercentage sur le pourcentage des clients de votre application qui doivent obtenir les packages mis à jour.
- Communiquez les données de soumission de la version d’évaluation du package à la méthode Mettre à jour une soumission de version d’évaluation de package.
Après avoir activé un lancement de packages progressif pour une soumission de version d’évaluation du package, vous pouvez utiliser les méthodes suivantes pour obtenir, mettre à jour, arrêter ou finaliser le lancement progressif par programmation.
Méthode | URI | Description |
---|---|---|
GET | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/flights/{flightId}/submissions/{submissionId}/packagerollout | Obtient les informations sur le lancement progressif d’une soumission de version d’évaluation du package |
POST | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/flights/{flightId}/submissions/{submissionId}/updatepackagerolloutpercentage | Met à jour le pourcentage de lancement progressif d’une soumission de version d’évaluation du package |
POST | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/flights/{flightId}/submissions/{submissionId}/haltpackagerollout | Arrête le lancement progressif d’une soumission de version d’évaluation du package |
POST | https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/flights/{flightId}/submissions/{submissionId}/finalizepackagerollout | Finalise le lancement progressif d’une soumission de version d’évaluation du package |
Ressources de données
Les méthodes d’API de soumission au Microsoft Store pour la gestion des soumissions de version d’évaluation de package utilisent les ressources de données JSON suivantes.
Ressource de soumission de version d’évaluation
Cette ressource décrit une soumission de version d’évaluation du package.
{
"id": "1152921504621243649",
"flightId": "cd2e368a-0da5-4026-9f34-0e7934bc6f23",
"status": "PendingCommit",
"statusDetails": {
"errors": [],
"warnings": [],
"certificationReports": []
},
"flightPackages": [
{
"fileName": "newPackage.appx",
"fileStatus": "PendingUpload",
"id": "",
"version": "1.0.0.0",
"languages": ["en-us"],
"capabilities": [],
"minimumDirectXVersion": "None",
"minimumSystemRam": "None"
}
],
"packageDeliveryOptions": {
"packageRollout": {
"isPackageRollout": false,
"packageRolloutPercentage": 0.0,
"packageRolloutStatus": "PackageRolloutNotStarted",
"fallbackSubmissionId": "0"
},
"isMandatoryUpdate": false,
"mandatoryUpdateEffectiveDate": "1601-01-01T00:00:00.0000000Z"
},
"fileUploadUrl": "https://productingestionbin1.blob.core.windows.net/ingestion/8b389577-5d5e-4cbe-a744-1ff2e97a9eb8?sv=2014-02-14&sr=b&sig=wgMCQPjPDkuuxNLkeG35rfHaMToebCxBNMPw7WABdXU%3D&se=2016-06-17T21:29:44Z&sp=rwl",
"targetPublishMode": "Immediate",
"targetPublishDate": "",
"notesForCertification": "No special steps are required for certification of this app."
}
Cette ressource a les valeurs suivantes.
Valeur | Type | Description |
---|---|---|
id | string | ID de la soumission. |
flightId | string | ID de la version d’évaluation du package auquel la soumission est associée. |
status | string | État de la soumission. Il peut s’agir de l’une des valeurs suivantes :
|
statusDetails | object | Ressource des détails d’état qui contient des détails supplémentaires sur l’état de la soumission, notamment des informations sur les éventuelles erreurs. |
flightPackages | tableau | Contient des ressources de package de version d’évaluation qui fournissent des détails sur chaque package de la soumission. |
packageDeliveryOptions | object | Ressource des options de remise du package qui contient les paramètres de lancement de packages progressif et de mise à jour obligatoire de la soumission. |
fileUploadUrl | string | URI de la signature d’accès partagé (SAS) pour le chargement des packages de la soumission. Si vous ajoutez de nouveaux packages à la soumission, chargez l’archive ZIP contenant les packages vers cet URI. Pour plus d’informations, voir Créer une soumission de version d’évaluation de package. |
targetPublishMode | string | Mode de publication pour la soumission. Il peut s’agir de l’une des valeurs suivantes :
|
targetPublishDate | string | Date de publication de la soumission au format ISO 8601, si le paramètre targetPublishMode a la valeur SpecificDate. |
notesForCertification | string | Fournit des informations supplémentaires aux testeurs de certification, telles que les informations d’identification du compte de test et les étapes permettant d’accéder aux fonctionnalités et de les vérifier. Pour plus d’informations, voir Notes de certification. |
Ressource des détails d’état
Cette ressource contient des détails supplémentaires sur l’état d’une soumission. Cette ressource a les valeurs suivantes.
Valeur | Type | Description |
---|---|---|
erreurs | object | Tableau des ressources des détails d’état qui contiennent les détails d’erreur de la soumission. |
warnings | object | Tableau des ressources des détails d’état qui contiennent les détails d’avertissement de la soumission. |
certificationReports | object | Tableau des ressources de rapport de certification qui donnent accès aux données du rapport de certification de la soumission. Vous pouvez examiner ces rapports pour obtenir plus d’informations en cas d’échec de la certification. |
Ressource des détails d’état
Cette ressource contient des informations supplémentaires sur les éventuels erreurs ou avertissements pour une soumission. Cette ressource a les valeurs suivantes.
Valeur | Type | Description |
---|---|---|
code | string | Code d’état de soumission qui décrit le type d’erreur ou d’avertissement. |
details | string | Message contenant des détails sur le problème. |
Ressource de rapport de certification
Cette ressource donne accès aux données du rapport de certification d’une soumission. Cette ressource a les valeurs suivantes.
Valeur | Type | Description |
---|---|---|
Date | string | Date et heure de génération du rapport, au format ISO 8601. |
reportUrl | string | URL vous permettant d’accéder au rapport. |
Ressource de package de version d’évaluation
Cette ressource fournit des détails sur un package d’une soumission.
{
"flightPackages": [
{
"fileName": "newPackage.appx",
"fileStatus": "PendingUpload",
"id": "",
"version": "1.0.0.0",
"languages": ["en-us"],
"capabilities": [],
"minimumDirectXVersion": "None",
"minimumSystemRam": "None"
}
],
}
Cette ressource a les valeurs suivantes.
Notes
Lors de l’appel de la méthode de soumission d’une version d’évaluation d’un package, seules les valeurs fileName, fileStatus, minimumDirectXVersion et minimumSystemRam de cet objet sont requises dans le corps de la demande. Les autres valeurs sont renseignées par l’Espace partenaires.
Valeur | Type | Description |
---|---|---|
fileName | string | Nom du package. |
fileStatus | string | État du package. Il peut s’agir de l’une des valeurs suivantes :
|
id | string | ID qui identifie de manière unique le package. Cette valeur est utilisée par l’Espace partenaires. |
version | string | Version du package d’application. Pour plus d’informations, voir Numérotation des versions de packages. |
architecture | string | Architecture du package d’application (par exemple, ARM). |
languages | tableau | Tableau des codes des langues prises en charge par l’application. Pour plus d’informations, voir Langues prises en charge. |
capabilities | tableau | Tableau des fonctionnalités exigées par le package. Pour plus d’informations sur les fonctionnalités, voir Déclarations des fonctionnalités d’application. |
minimumDirectXVersion | string | Version DirectX minimale prise en charge par le package d’application. Cette valeur peut être définie uniquement pour les applications qui ciblent Windows 8.x. Elle est ignorée pour les applications qui ciblent d’autres versions. Il peut s’agir de l’une des valeurs suivantes :
|
minimumSystemRam | string | Mémoire RAM minimale exigée par le package d’application. Cette valeur peut être définie uniquement pour les applications qui ciblent Windows 8.x. Elle est ignorée pour les applications qui ciblent d’autres versions. Il peut s’agir de l’une des valeurs suivantes :
|
Ressource des options de remise du package
Cette ressource contient les paramètres de déploiement de package progressif et de mise à jour obligatoire de la soumission.
{
"packageDeliveryOptions": {
"packageRollout": {
"isPackageRollout": false,
"packageRolloutPercentage": 0.0,
"packageRolloutStatus": "PackageRolloutNotStarted",
"fallbackSubmissionId": "0"
},
"isMandatoryUpdate": false,
"mandatoryUpdateEffectiveDate": "1601-01-01T00:00:00.0000000Z"
},
}
Cette ressource a les valeurs suivantes.
Valeur | Type | Description |
---|---|---|
packageRollout | object | Ressource de lancement de packages qui contient les paramètres de lancement de packages progressif de la soumission. |
isMandatoryUpdate | boolean | Indique si vous souhaitez traiter les packages de cette soumission comme obligatoires pour l’installation automatique des mises à jour de l’application. Pour plus d’informations sur les packages obligatoires pour l’installation automatique des mises à jour de l’application, consultez Télécharger et installer les mises à jour de package pour votre application. |
mandatoryUpdateEffectiveDate | Date | Date et heure auxquelles les packages de cette soumission deviennent obligatoires, au format ISO 8601 dans le fuseau horaire UTC. |
Ressource de lancement de packages
Contient les paramètres de déploiement de package de la soumission. Cette ressource a les valeurs suivantes.
Valeur | Type | Description |
---|---|---|
isPackageRollout | boolean | Indique si le déploiement de package progressif est activé pour la soumission. |
packageRolloutPercentage | float | Pourcentage d’utilisateurs qui recevront les packages de déploiement progressif. |
packageRolloutStatus | string | Une des chaînes suivantes qui indique l’état de déploiement de package progressif :
|
fallbackSubmissionId | string | ID de la soumission qui sera reçue par les clients n’obtenant pas les packages de déploiement progressif. |
Notes
Les valeurs packageRolloutStatus et fallbackSubmissionId sont affectées par l’Espace partenaires et ne sont pas destinées à être définies par le développeur. Si vous incluez ces valeurs dans un corps de requête, ces valeurs seront ignorées.
Énumérations
Ces méthodes utilisent les énumérations suivantes.
Code d’état de soumission
Les codes suivants représentent l’état d’une soumission.
Code | Description |
---|---|
None | Aucun code n’a été spécifié. |
InvalidArchive | L’archive ZIP contenant le package n’est pas valide ou a un format d’archive non reconnu. |
MissingFiles | L’archive ZIP ne dispose pas de tous les fichiers qui ont été répertoriés dans les données de votre soumission, ou ils se trouvent dans un emplacement incorrect dans l’archive. |
PackageValidationFailed | La validation d’un ou de plusieurs packages de votre soumission a échoué. |
InvalidParameterValue | Un des paramètres dans le corps de la requête n’est pas valide. |
InvalidOperation | L’opération que vous avez tentée n’est pas valide. |
InvalidState | L’opération que vous avez tentée n’est pas valide pour l’état actuel de la version d’évaluation du package. |
ResourceNotFound | La version d’évaluation du package spécifiée est introuvable. |
ServiceError | Une erreur de service interne a empêché la requête de réussir. Relancez la requête. |
ListingOptOutWarning | Le développeur supprimé un listing d’une soumission précédente ou il n’a pas inclus d’informations de listing prises en charge par le package. |
ListingOptInWarning | Le développeur a ajouté un listing. |
UpdateOnlyWarning | Le développeur essaie d’insérer quelque chose qui prend uniquement en charge la mise à jour. |
Autres | La soumission est dans un état non reconnu ou non affecté à une catégorie. |
PackageValidationWarning | Le processus de validation du package a généré un avertissement. |
Rubriques connexes
- Créer et gérer des soumissions à l’aide des services du Microsoft Store
- Gérer les versions d’évaluation des packages à l’aide de l’API de soumission au Microsoft Store
- Obtenir une soumission de version d’évaluation du package
- Créer une soumission de version d’évaluation du package
- Mettre à jour une soumission de version d’évaluation de package
- Valider une soumission de version d’évaluation de package
- Supprime une soumission de version d’évaluation du package
- Obtenir l’état d’une soumission de version d’évaluation de package
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour