Compartilhar via


Obter dados de relatório de erros para seu aplicativo

Use esse método na API de análise da Microsoft Store para obter dados de relatório de erros agregados para seu aplicativo no formato JSON para um determinado intervalo de datas e outros filtros opcionais. Esse método só pode recuperar erros ocorridos nos últimos 30 dias. Essas informações também estão disponíveis na seção Falhas do Relatório de integridade na Central de Parceiros.

Você pode recuperar informações de erro adicionais usando os métodos obter detalhes do erro, obter rastreamento de pilha e baixar arquivo CAB.

Pré-requisitos

Para usar esse método, primeiro você precisa fazer o seguinte:

  • Se você ainda não fez isso, conclua todos os pré-requisitos da API de análise da Microsoft Store.
  • Obter um token de acesso do Azure AD a ser usado no cabeçalho de solicitação para esse método. Depois de obter um token de acesso, você terá 60 minutos para usá-lo antes que ele expire. Depois que o token expirar, você poderá obter um novo.

Solicitação

Sintaxe de solicitação

Método URI de solicitação
GET https://manage.devcenter.microsoft.com/v1.0/my/analytics/failurehits

Cabeçalho da solicitação

Cabeçalho Tipo Descrição
Autorização string Obrigatório. O token de acesso do Azure AD no Token<de portador> do formulário.

Parâmetros de solicitação

Parâmetro Tipo Descrição Necessário
applicationId string A ID da Store do aplicativo cujos dados de relatório de erros você deseja recuperar. O ID da Store está disponível na página de identidade do aplicativo na Central de Parceiros. Um exemplo de ID da Store é 9WZDNCRFJ3Q8. Sim
data de início date A data de início no intervalo de datas dos dados de relatório de erros a serem recuperados. O padrão é a data atual. Se aggregationLevel for dia, semana ou mês, esse parâmetro deverá especificar uma data no formato mm/dd/yyyy. Se aggregationLevel for hora, esse parâmetro poderá especificar uma data no formato mm/dd/yyyy ou uma data e hora no formato yyyy-mm-dd hh:mm:ss.

Observação: Este método só pode recuperar erros ocorridos nos últimos 30 dias.
Não
data de término date A data de término no intervalo de datas dos dados de relatório de erros a serem recuperados. O padrão é a data atual. Se aggregationLevel for dia, semana ou mês, esse parâmetro deverá especificar uma data no formato mm/dd/yyyy. Se aggregationLevel for hora, esse parâmetro poderá especificar uma data no formato mm/dd/yyyy ou uma data e hora no formato yyyy-mm-dd hh:mm:ss. Não
top int O número de linhas de dados a serem retornados na solicitação. O valor máximo e o valor padrão se não especificado for 10000. Se houver mais linhas na consulta, o corpo da resposta incluirá um próximo link que você pode usar para solicitar a próxima página de dados. Não
skip int O número de linhas a serem ignoradas na consulta. Use esse parâmetro para percorrer grandes conjuntos de dados. Por exemplo, top=10000 e skip=0 recupera as primeiras 10000 linhas de dados, top=10000 e skip=10000 recupera as próximas 10000 linhas de dados e assim por diante. Não
filtro string Uma ou mais declarações que filtram as linhas na resposta. Cada instrução contém um nome de campo do corpo da resposta e um valor associados aos operadores eq ou ne, e as instruções podem ser combinadas usando e ou ou. Os valores de cadeia de caracteres devem estar entre aspas simples no filtro dentro do parâmetro. Você pode especificar os seguintes campos do corpo da resposta:

  • applicationName
  • failureName
  • failureHash
  • symbol
  • osVersion
  • osRelease
  • eventType
  • market
  • deviceType
  • packageName
  • packageVersion
  • date
Não
aggregationLevel string Especifica o intervalo de tempo para o qual recuperar dados agregados. Pode ser uma das seguintes cadeias de caracteres: hora, dia, semanaou mês. Se não for especificado, o padrão será dia. Se você especificar semana ou mês, os valores failureName e failureHash serão limitados a 1000 buckets.

Observação: Se você especificar hora, poderá recuperar dados de erro somente das 72 horas anteriores. Para recuperar dados de erro com mais de 72 horas, especifique dia ou um dos outros níveis de agregação.
Não
orderby string Uma instrução que ordena os valores dos dados de resultado. A sintaxe é *orderby=field [order]. O parâmetro field pode ser uma (e somente uma) das seguintes cadeias de caracteres:
  • applicationName
  • failureName
  • failureHash
  • symbol
  • osVersion
  • osRelease
  • eventType
  • market
  • tipo de dispositivo
  • packageName
  • packageVersion
  • date

O parâmetro de ordem é opcional e pode ser asc ou desc para especificar a ordem crescente ou decrescente para cada campo. O padrão é asc.

Aqui está um exemplo orderby string: orderby=date

Observação: qualquer parâmetro deve ser da lista suportada por groupby.

Não
groupby string Uma instrução que aplica a agregação de dados somente aos campos especificados. Você pode especificar os seguintes campos:
  • failureName
  • failureHash
  • symbol
  • osVersion
  • eventType
  • market
  • deviceType
  • packageName
  • packageVersion

As linhas de dados retornadas conterão os campos especificados no parâmetro groupby, bem como o seguinte:

  • date
  • applicationId
  • applicationName
  • deviceCount
  • eventCount

O parâmetro groupby pode ser usado com o parâmetro aggregationLevel. Por exemplo: &groupby=failureName,market&aggregationLevel=week

Observação: os parâmetros podem não conter duplicatas.
Não

Exemplo de solicitação

Os exemplos a seguir demonstram várias solicitações para obter dados de relatório de erros. Substitua o valor applicationId pelo Store ID do seu aplicativo.

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>

Resposta

Corpo da resposta

Valor Tipo Descrição
Valor matriz Uma matriz de objetos que contêm dados de relatório de erros agregados. Para obter mais informações sobre os dados em cada objeto, consulte a seção de valores de erro abaixo.
@nextLink string Se houver páginas adicionais de dados, essa cadeia de caracteres conterá um URI que você pode usar para solicitar a próxima página de dados. Por exemplo, esse valor será retornado se o parâmetro top da solicitação estiver definido como 10000, mas se existirem mais de 10000 linhas de erros para a consulta.
TotalCount Número inteiro O número total de linhas no resultado dos dados da consulta.

Valores de erro

Os elementos na matriz Value contêm os valores a seguir.

Valor Tipo Descrição
date string A primeira data no intervalo de datas para os dados de erros, no formato yyyy-mm-dd. Se a solicitação especificar um único dia, esse valor será essa data. Se a solicitação especificar um intervalo de datas mais longo, esse valor será a primeira data nesse intervalo de datas. Para solicitações que especificam um valor de aggregationLevel de hora, esse valor também inclui um valor temporal no formato hh:mm:ss.
applicationId string A ID da Store do aplicativo cujos dados de erros você deseja recuperar.
nomeDoAplicativo string O nome de exibição do aplicativo.
failureName string O nome da falha, que é composta por quatro partes: uma ou mais classes de problema, um código de verificação de exceção/bug, o nome da imagem em que ocorreu a falha e o nome da função associada.
failureHash string O identificador exclusivo do erro.
símbolo string O símbolo atribuído a esse erro.
osVersion string Uma das seguintes cadeias de caracteres que especifica a versão do sistema operacional na qual o erro ocorreu:
  • Windows Phone 7.5
  • Windows Phone 8
  • Windows Phone 8.1
  • Windows Phone 10
  • Windows 8
  • Windows 8.1
  • Windows 10
  • Windows 11
  • Desconhecido
osRelease string Uma das sequências a seguir que especifica a versão do SO ou as versões de pré-lançamento (como uma subpopulação dentro da versão do SO) em que o erro ocorreu.

Para Windows 11: versão 2110

Para Windows 10:

  • Versão 1507
  • Versão 1511
  • Versão 1607
  • Versão 1703
  • Versão 1709
  • Versão 1803
  • Prévia de Lançamento
  • Participante do Programa Windows Insider - Modo Rápido
  • Participante do Programa Windows Insider - Modo Lento

Para Windows Server 1709:

  • RTM

Para Windows Server 2016:

  • Versão 1607

Para Windows 8.1:

  • Atualização 1

Para Windows 7:

  • Pacote de Serviço 1 (Service Pack 1)

Se a versão do SO ou a versão de pré-lançamento for desconhecida, esse campo terá o valor Desconhecido.

tipoDeEvento string Uma das seguintes cadeias de caracteres:
  • crash
  • hang
  • memory
  • jse
mercado string O código de país ISO 3166 do mercado de dispositivos.
tipo de dispositivo string Uma das seguintes cadeias de caracteres que indica o tipo de dispositivo no qual o erro ocorreu:
  • Computador
  • Telefone
  • Console-Xbox One
  • Console-Xbox Series X
  • IoT
  • Holográfico
  • Desconhecido
packageName string O nome exclusivo do pacote do aplicativo associado a esse erro.
packageVersion string A versão do pacote do aplicativo associada a esse erro.
deviceCount número O número de dispositivos exclusivos que correspondem a esse erro para o nível de agregação especificado.
contagemDeEventos número O número de eventos atribuídos a esse erro para o nível de agregação especificado.

Nota

Esse método só pode recuperar erros ocorridos nos últimos 30 dias.

Exemplo de solicitação e resposta

O snippet de código a seguir demonstra um exemplo de solicitação e corpo de resposta JSON para essa solicitação.

Solicitação de exemplo

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>

Resposta de exemplo

{
    "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
}