Obtenir les données de signalement d’erreurs pour votre application

Utilisez cette méthode dans l’API d’analyse de la Boutique Microsoft 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 l’Espace partenaires.

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

Prérequis

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

  • Si ce n’est pas déjà fait, remplissez toutes les conditions préalables relatives à l’API d’analyse de la Boutique Microsoft.
  • Obtenir un jeton d’accès Azure AD à utiliser dans l’en-tête de requête pour cette méthode. 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 expiré, vous pouvez en obtenir un nouveau.

Requête

Syntaxe de la requête

Méthode URI de demande
GET https://manage.devcenter.microsoft.com/v1.0/my/analytics/failurehits

En-tête de requête

En-tête Type Description
Autorisation string Obligatoire. Jeton d’accès Azure AD au format porteur<jeton>.

Paramètres de la demande

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 store est disponible sur la page Identité de l’application dans l’Espace partenaires. Un exemple d’ID store est 9WZDNCRFJ3Q8. Oui
startDate 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 aggregationLevel est jour, semaine ou mois, ce paramètre doit spécifier une date au format mm/dd/yyyy. Si aggregationLevel est heure, 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
endDate 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 aggregationLevel est jour, semaine ou mois, ce paramètre doit spécifier une date au format mm/dd/yyyy. Si aggregationLevel est heure, 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, soit la valeur par défaut, est 10000 (si cette valeur n’est pas spécifiée). 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 10000 premières lignes de données, top=10000 et skip=10000 récupère les 10000 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
  • symbole
  • osVersion
  • osRelease
  • eventType
  • market
  • deviceType
  • nom_package
  • 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, semaine ou mois. Si aucune valeur n’est spécifiée, la valeur par défaut est jour. Si vous spécifiez une semaine ou un mois, les valeurs failureName et failureHash sont limitées à 1000 compartiments.

Remarque : Si vous spécifiez une 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 le jour ou l’un des autres niveaux d’agrégation.
Non
orderby string Instruction qui commande les valeurs de données de résultat. La syntaxe est orderby=field [order],field [order],.... Le paramètre de champ peut être l’une des chaînes suivantes :
  • applicationName
  • failureName
  • failureHash
  • symbole
  • osVersion
  • osRelease
  • eventType
  • market
  • deviceType
  • nom_package
  • 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,market

Non
groupby string Instruction qui applique l’agrégation de données uniquement aux champs spécifiés. Spécifiez les champs suivants :
  • failureName
  • failureHash
  • symbole
  • osVersion
  • eventType
  • market
  • deviceType
  • nom_package
  • 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

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>

Response

Response body

Valeur Type Description
active 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 valeurs d’erreur ci-dessous.
@nextLink string 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 supérieur de la requête est défini sur 10000, mais qu’il existe plus de 10000 lignes d’erreurs pour la requête.
TotalCount 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 Première date de la plage de dates pour les données d’erreur, au format yyyy-mm-dd. Si la requête spécifie un jour unique, cette valeur est cette date. Si la requête 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 d’heure, cette valeur inclut également une valeur de temps 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 Nom complet de l'application.
failureName string Nom de l’échec, constitué de quatre parties : une ou plusieurs classes de problème, un code d’exception/code de vérification de 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 string 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 la boucle de distribution de versions d’évaluation (sous-remplissage dans la version du système d’exploitation) sur laquelle 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 :

  • Update 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.

eventType string Une des chaînes suivantes :
  • crash
  • hang
  • memory
  • jse
market string Code pays ISO 3166 du marché de l’appareil.
deviceType string Une des chaînes suivantes qui indique le type d’appareil sur lequel l’erreur s’est produite :
  • PC
  • Téléphone
  • Console-Xbox One
  • Console-Xbox Series X
  • IoT
  • Holographique
  • Inconnu
packageName string Nom unique du package de l’application associé à cette erreur.
packageVersion string Version du package de l’application associé à cette erreur.
deviceCount nombre Nombre d’appareils uniques qui correspondent à cette erreur pour l’alignement 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 requête 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
}