Partager via


Obtenir des données de rapport d’erreurs pour votre application

Utilisez cette méthode dans l’API d’analyse du Microsoft Store pour obtenir des données de rapport d’erreurs agrégées pour votre application au format JSON pour une plage de dates donnée et d’autres filtres facultatifs. Cette méthode ne peut récupérer que les erreurs qui se sont produites au cours des 30 derniers jours. Ces informations sont également disponibles dans la section Échecs du rapport d'intégrité dans Partner Center.

Vous pouvez récupérer des informations d'erreur supplémentaires à l'aide des méthodes obtenir les détails de l'erreur, obtenir la trace de pile, et télécharger le fichier CAB.

Conditions préalables

Pour utiliser cette méthode, vous devez d’abord effectuer les opérations suivantes :

  • Si vous ne l’avez pas déjà fait, remplissez tous les prérequis pour l’API d’analytique du Microsoft Store.
  • Obtenir un jeton d’accès Azure AD à utiliser dans l’en-tête de requête pour cette méthode. Après avoir obtenu un jeton d’accès, vous avez 60 minutes pour l’utiliser avant son expiration. Une fois le jeton expiré, vous pouvez en obtenir un nouveau.

Demande

Syntaxe de la requête

Méthode URI de requête
OBTENIR https://manage.devcenter.microsoft.com/v1.0/my/analytics/failurehits

En-tête de requête

Header Type Description
Autorisation string Obligatoire. Jeton d’accès Azure AD au format porteur<jeton>.

Paramètres de requête

Paramètre Type Description Obligatoire
applicationId string ID Store de l’application pour laquelle vous souhaitez récupérer les données de rapport d’erreurs. L'ID du magasin est disponible sur la page d'identité de l'application dans le Partner Center. Un exemple d’ID store est 9WZDNCRFJ3Q8. Oui
date de début Date Date de début dans la plage de dates des données de rapport d’erreurs à récupérer. La valeur par défaut est la date actuelle. Si le niveau d'agrégation est le jour, la semaineou le mois, ce paramètre doit spécifier une date au format mm/dd/yyyy. Si aggregationLevel est hour, ce paramètre peut spécifier une date au format mm/dd/yyyy ou une date et une heure au format yyyy-mm-dd hh:mm:ss.

Remarque : Cette méthode ne peut récupérer que les erreurs qui se sont produites au cours des 30 derniers jours.
Non
date de fin Date Date de fin dans la plage de dates des données de rapport d’erreurs à récupérer. La valeur par défaut est la date actuelle. Si le aggregationLevel est le jour, la semaine ou le mois, ce paramètre doit spécifier une date au format mm/dd/yyyy. Si aggregationLevel est hour, ce paramètre peut spécifier une date au format mm/dd/yyyy ou une date et une heure au format yyyy-mm-dd hh:mm:ss. Non
haut int Nombre de lignes de données à retourner dans la requête. La valeur maximale et la valeur par défaut si elle n’est pas spécifiée est 1 0000. S’il existe plus de lignes dans la requête, le corps de la réponse inclut un lien suivant que vous pouvez utiliser pour demander la page suivante de données. Non
skip int Nombre de lignes à ignorer dans la requête. Utilisez ce paramètre pour parcourir des jeux de données volumineux. Par exemple, top=10000 et skip=0 récupère les 1 000 premières lignes de données, top=10000 et skip=10000 récupère les 1 0000 lignes de données suivantes, et ainsi de suite. Non
filter string Une ou plusieurs instructions qui filtrent les lignes dans la réponse. Chaque instruction contient un nom de champ à partir du corps de la réponse et une valeur associés aux opérateurs eq ou ne, et les instructions peuvent être combinées à l’aide et ou ou. Les valeurs de chaîne doivent être entourées de guillemets simples dans le paramètre de filtre . Vous pouvez spécifier les champs suivants à partir du corps de la réponse :

  • applicationName
  • failureName
  • failureHash
  • symbol
  • osVersion
  • osRelease
  • eventType
  • market
  • typeD'appareil
  • packageName
  • packageVersion
  • date
Non
aggregationLevel string Spécifie l’intervalle de temps pour lequel récupérer des données agrégées. Il peut s’agir de l’une des chaînes suivantes : heure, jour, semaineou mois. Si elle n’est pas spécifiée, la valeur par défaut est jour. Si vous spécifiez week ou month, les valeurs failureName et failureHash sont limitées à 1000 buckets.

Remarque : Si vous spécifiez heure, vous pouvez récupérer les données d’erreur uniquement à partir des 72 heures précédentes. Pour récupérer les données d’erreur antérieures à 72 heures, spécifiez jour ou l’un des autres niveaux d’agrégation.
Non
orderby string Une instruction qui ordonne les valeurs des données de résultat. La syntaxe est *orderby=field [order]. Le paramètre du champ peut être l'une (et une seule) des valeurs suivantes :
  • applicationName
  • failureName
  • failureHash
  • symbol
  • osVersion
  • osRelease
  • eventType
  • market
  • deviceType
  • packageName
  • packageVersion
  • date

Le paramètre d’ordre est facultatif et peut être asc ou desc pour spécifier l’ordre croissant ou décroissant pour chaque champ. La valeur par défaut est asc.

Voici un exemple de chaîne orderby : orderby=date

Remarque : Tout paramètre doit provenir de la liste prise en charge par groupby.

Non
groupby string Instruction qui applique l’agrégation de données uniquement aux champs spécifiés. Vous pouvez spécifier les champs suivants :
  • failureName
  • failureHash
  • symbol
  • osVersion
  • eventType
  • market
  • type de dispositif
  • packageName
  • packageVersion

Les lignes de données retournées contiennent les champs spécifiés dans le paramètre groupby, ainsi que les éléments suivants :

  • date
  • applicationId
  • applicationName
  • deviceCount
  • eventCount

Le paramètre groupby peut être utilisé avec le paramètre aggregationLevel. Par exemple : &groupby=failureName,market&aggregationLevel=week

Remarque : Les paramètres peuvent ne pas contenir de doublons.
Non

Exemple de requête

Les exemples suivants illustrent plusieurs demandes d’obtention de données de rapport d’erreurs. Remplacez la valeur applicationId par l’ID store de votre application.

GET https://manage.devcenter.microsoft.com/v1.0/my/analytics/failurehits?applicationId=9NBLGGGZ5QDR&startDate=1/1/2015&endDate=2/1/2015&top=10&skip=0 HTTP/1.1
Authorization: Bearer <your access token>

GET https://manage.devcenter.microsoft.com/v1.0/my/analytics/failurehits?applicationId=9NBLGGGZ5QDR&startDate=8/1/2015&endDate=8/31/2015&skip=0&filter=market eq 'US' and deviceType eq 'phone' HTTP/1.1
Authorization: Bearer <your access token>

Réponse

Corps de réponse

Valeur Type Description
Valeur tableau Tableau d’objets qui contiennent des données de rapport d’erreurs agrégées. Pour plus d’informations sur les données de chaque objet, consultez la section des valeurs d’erreur et ci-dessous.
@nextLink ficelle S’il existe des pages de données supplémentaires, cette chaîne contient un URI que vous pouvez utiliser pour demander la page suivante des données. Par exemple, cette valeur est retournée si le paramètre premier de la requête est défini sur 1 0000, mais qu’il y a plus de 1 000 lignes d’erreurs pour la requête.
NombreTotal entier Nombre total de lignes dans le résultat des données de la requête.

Valeurs d’erreur

Les éléments du tableau Valeur contiennent les valeurs suivantes.

Valeur Type Description
Date string La première date de la plage de dates des données d’erreur, au format yyyy-mm-dd. Si la demande spécifie un jour unique, cette valeur est cette date. Si la demande spécifie une plage de dates plus longue, cette valeur est la première date de cette plage de dates. Pour les requêtes qui spécifient une valeur aggregationLevel de hour, cette valeur inclut également une valeur temporelle au format hh:mm:ss.
applicationId string ID Store de l’application pour laquelle vous souhaitez récupérer les données d’erreur.
applicationName string Le nom d'affichage de l'application.
failureName string Nom de l’échec, constitué de quatre parties : une ou plusieurs classes de problème, un code de vérification d’exception/bogue, le nom de l’image où l’échec s’est produit et le nom de la fonction associée.
failureHash string Identificateur unique de l’erreur.
symbole string Symbole affecté à cette erreur.
osVersion ficelle Une des chaînes suivantes qui spécifie la version du système d’exploitation sur laquelle l’erreur s’est produite :
  • Windows Phone 7.5
  • Windows Phone 8
  • Windows Phone 8.1
  • Windows Phone 10
  • Windows 8
  • Windows 8.1
  • Windows 10
  • Windows 11
  • inconnu
osRelease string Une des chaînes suivantes qui spécifie la version du système d'exploitation ou l'anneau de vol (en tant que sous-population au sein de la version du système d'exploitation) sur lequel l'erreur s'est produite.

Pour Windows 11 : version 2110

Pour Windows 10 :

  • Version 1507
  • Version 1511
  • Version 1607
  • Version 1703
  • Version 1709
  • Version 1803
  • Préversion
  • Insider Rapide
  • Insider Lent

Pour Windows Server 1709 :

  • RTM

Pour Windows Server 2016 :

  • Version 1607

Pour Windows 8.1 :

  • Mise à jour 1

Pour Windows 7 :

  • Service Pack 1

Si la version du système d’exploitation ou la boucle de distribution de versions d’évaluation est inconnue, ce champ a la valeur Inconnu.

type d'événement string Une des chaînes suivantes :
  • crash
  • hang
  • memory
  • jse
marché string Code pays ISO 3166 du marché de l’appareil.
type d'appareil string Une des chaînes suivantes qui indique le type d’appareil sur lequel l’erreur s’est produite :
  • PC
  • Phone
  • Console-Xbox One
  • Console-Xbox Série X
  • Internet des objets
  • Holographic
  • inconnu
nom du paquet string Nom unique du package d’application associé à cette erreur.
packageVersion string Version du package d’application associé à cette erreur.
nombre d'appareils nombre Nombre d’appareils uniques qui correspondent à cette erreur pour le niveau d’agrégation spécifié.
eventCount nombre Nombre d’événements attribués à cette erreur pour le niveau d’agrégation spécifié.

Remarque

Cette méthode ne peut récupérer que les erreurs qui se sont produites au cours des 30 derniers jours.

Exemple de demande et de réponse

L’extrait de code suivant illustre un exemple de corps de requête et de réponse JSON pour cette requête.

Exemple de requête

GET https://manage.devcenter.microsoft.com/v1.0/my/analytics/failurehits?applicationId=9NBLGGGZ5QDR&startDate=07/02/2022&endDate=07/20/2022&top=10&skip=0&filter=market eq 'US'&groupby=failureName,failureHash,symbol,osVersion,eventType,market,deviceType,packageName,packageVersion,osRelease&orderby=date
HTTP/1.1
Authorization: Bearer <your access token>

Exemple de réponse

{
    "Value": [
        {
            "date": "2022-07-21",
            "applicationId": "9NBLGGGZ5QDR",
            "applicationName": "Contoso Demo",
            "failureName": "APPLICATION_HANG_BlockedOn_FileIO_Microsoft.Contoso Demo!CEServices.InternalLiveTileUpdaterRuntime_dfffffff_Microsoft.Contoso Demo!unknown_error_in_application",
            "failureHash": "c21da75f-ea4d-538b-cfec-73654ef810b9",
            "symbol": "Microsoft.Contoso Demo!unknown_error_in_application",
            "osVersion": "6.3.9600",
            "osRelease": "RTM",
            "osArchitecture": null,
            "eventType": "hang",
            "market": "US",
            "deviceType": "PC",
            "praid": null,
            "packageName": "microsoft.Contoso Demo_2.5.2.34894_x86__8wekyb3d8bbwe",
            "packageVersion": "2.5.2.34894",
            "ram": null,
            "massStorage": null,
            "cpu": null,
            "cpuManufacturer": null,
            "cpuFamilyName": null,
            "sandboxId": null,
            "deviceCount": 6.0,
            "eventCount": 1.05263157894737
        },
        {
            "date": "2022-07-21",
            "applicationId": "9NBLGGGZ5QDR",
            "applicationName": "Contoso Demo",
            "failureName": "APPLICATION_HANG_BlockedOn_FileIO_Microsoft.Contoso Demo!CEServices.InternalLiveTileUpdaterRuntime_dfffffff_Microsoft.Contoso Demo!unknown_error_in_application",
            "failureHash": "c21da75f-ea4d-538b-cfec-73654ef810b9",
            "symbol": "Microsoft.Contoso Demo!unknown_error_in_application",
            "osVersion": "6.3.9600",
            "osRelease": "RTM",
            "osArchitecture": null,
            "eventType": "hang",
            "market": "US",
            "deviceType": "Unknown",
            "praid": null,
            "packageName": "microsoft.Contoso Demo_2.5.2.34894_x86__8wekyb3d8bbwe",
            "packageVersion": "2.5.2.34894",
            "ram": null,
            "massStorage": null,
            "cpu": null,
            "cpuManufacturer": null,
            "cpuFamilyName": null,
            "sandboxId": null,
            "deviceCount": 7.14285714285714,
            "eventCount": 1.05263157894737
        },
        {
            "date": "2022-07-21",
            "applicationId": "9NBLGGGZ5QDR",
            "applicationName": "Contoso Demo",
            "failureName": "APPLICATION_HANG_Microsoft.Contoso Demo!CEServices.InternalLiveTileUpdaterRuntime_dfffffff_twinapi.appcore.dll!WaitCoalesced",
            "failureHash": "233e04bb-7a3d-eb28-c316-1120aa9defc0",
            "symbol": "twinapi.appcore.dll!WaitCoalesced",
            "osVersion": "6.3.9600",
            "osRelease": "RTM",
            "osArchitecture": null,
            "eventType": "hang",
            "market": "US",
            "deviceType": "PC",
            "praid": null,
            "packageName": "microsoft.Contoso Demo_2.5.2.34894_x86__8wekyb3d8bbwe",
            "packageVersion": "2.5.2.34894",
            "ram": null,
            "massStorage": null,
            "cpu": null,
            "cpuManufacturer": null,
            "cpuFamilyName": null,
            "sandboxId": null,
            "deviceCount": 6.0,
            "eventCount": 8.94736842105263
        }
    ],
    "@nextLink": "failurehits?applicationId=9NBLGGGZ5QDR&aggregationLevel=day&startDate=2022/07/02&endDate=2022/07/21&top=10&skip=10&groupby=failureName,failureHash,symbol,osVersion,eventType,market,deviceType,packageName,packageVersion,osRelease&filter=market eq 'US'&orderby=date",
    "TotalCount": 443
}