Compartilhar via


Usando a API de Diagnóstico

Importante

O Visual Studio App Center foi desativado em 31 de março de 2025, com exceção dos recursos de Análise e Diagnóstico, que continuarão com suporte até 30 de junho de 2026. Saiba mais.

O Diagnóstico do App Center dá suporte a vários recursos de API listados na seção de crashes e erros da página Swagger do App Center. Leia a Documentação da API do App Center para saber como adquirir um token de API e fazer chamadas para a API do App Center.

Observação

A API de Diagnóstico do App Center não dá suporte ao CORS (compartilhamento de recursos entre origens), portanto, as solicitações de clientes que exigem isso, como navegadores, falharão. Para interagir com a API de um navegador, você pode usar um serviço proxy em seu próprio domínio que encaminha solicitações para a API do App Center.

Transição para as novas APIs

Com nosso anúncio de Disponibilidade Geral de Diagnóstico do App Center no ano passado e nossas melhorias no diagnóstico UWP, fizemos algumas alterações em nossas APIs para habilitar um pipeline de back-end aprimorado para processar suas falhas e erros. Dependendo de quais APIs você usa, pode haver alguma ação necessária da sua parte para garantir uma transição suave.

Há três tipos de falhas de API:

  1. APIs falham ao serem mapeadas para novas APIs
  2. Encontra travamento com as APIs que não existem mais
  3. Falhas nas APIs que permanecem inalteradas

APIs falham ao serem mapeadas para novas APIs

As APIs antigas listadas na seção de falhas foram preteridas e removidas. Você deve usar as novas APIs de diagnóstico, conforme listado na tabela abaixo.

APIs de falhas antigas Nova API de Crashes
GET/v0.1/apps/{owner_name}/{app_name}/configurações_de_retenção GET/v0.1/apps/{owner_name}/{app_name}/errors/retention_settings
GET/v0.1/apps/{owner_name}/{app_name}/versions GET/v0.1/apps/{owner_name}/{app_name}/analytics/versions
GET/v0.1/apps/{owner_name}/{app_name}/crashes/{crash_id}/attachments/{attachment_id}/text GET/v0.1/apps/{owner_name}/{app_name}/errors/{errorId}/attachments/{attachmentId}/text
GET/v0.1/apps/{owner_name}/{app_name}/crashes/{crash_id}/attachments/{attachment_id}/location GET/v0.1/apps/{owner_name}/{app_name}/errors/{errorId}/attachments/{attachmentId}/location
GET/v0.1/apps/{owner_name}/{app_name}/crashes/{crash_id}/attachments GET/v0.1/apps/{owner_name}/{app_name}/errors/{errorId}/attachments
GET/v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/stacktrace GET/v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/stacktrace
GET/v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes/{crash_id}/stacktrace GET/v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errors/{errorId}/stacktrace
GET/v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes/{crash_id}/native/download GET/v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errors/{errorId}/download
GET/v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes/{crash_id} GET/v0.1/apps/{owner_name}/{app_name}/erros/gruposDeErros/{errorGroupId}/erros/{errorId}
GET/v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes GET/v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errors
GET/v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id} GET/v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}
GET/v0.1/apps/{owner_name}/{app_name}/crash_groups GET/v0.1/apps/{owner_name}/{app_name}/errors/errorGroups
DELETE/v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes/{crash_id} DELETE 0.1/apps/{app_id}/errors/errorGroups/{errorGroupId}/errors/{errorId}
PATCH/v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id PATCH/v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}
GET/v0.1/apps/{owner_name}/{app_name}/crashes_info GET/v0.1/apps/{owner_name}/{app_name}/errors/errorGroups
GET/v0.1/apps/{owner_name}/{app_name}/analytics/crash_groups GET/v0.1/apps/{owner_name}/{app_name}/errors/errorGroups
GET/v0.1/apps/{owner_name}/{app_name}/analytics/crash_groups/{crash_group_id}/crash_counts GET/v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errorCountsPerDay
GET/v0.1/apps/{owner_name}/{app_name}/analytics/crash_counts GET/v0.1/apps/{owner_name}/{app_name}/errors/errorCountsPerDay
GET/v0.1/apps/{owner_name}/{app_name}/analytics/crash_groups/{crash_group_id}/models GET/v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/models
GET/v0.1/apps/{owner_name}/{app_name}/analytics/crash_groups/{crash_group_id}/operating_systems GET/v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/operatingSystems
GET/v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes/{crash_id}/raw/location GET/v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errors/{errorId}/location
GET/v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes/{crash_id}/native GET /v0.1/apps/{ownerName}/{appName}/errors/errorGroups/{errorGroupId}/errors/{errorId}/download?format=text"
GET/v0.1/apps/{owner_name}/{app_name}/analytics/crashfree_device_percentages - Recuperar porcentagens de dispositivos sem falhas GET/v0.1/apps/{owner_name}/{app_name}/errors/errorfreeDevicePercentages
GET/v0.1/apps/{owner_name}/{app_name}/symbol_groups_info GET/v0.1/apps/{owner_name}/{app_name}/diagnostics/symbol_groups_info
GET/v0.1/apps/{owner_name}/{app_name}/symbol_groups/{symbol_group_id} GET/v0.1/apps/{owner_name}/{app_name}/diagnostics/symbol_groups/{symbol_group_id}
GET/v0.1/apps/{owner_name}/{app_name}/symbol_groups GET/v0.1/apps/{owner_name}/{app_name}/diagnostics/symbol_groups

APIs de falhas não alteradas

Há algumas APIs de falhas que permanecem as mesmas no novo pipeline. As APIs a seguir continuarão funcionando conforme o esperado e não há ação necessária no momento.

APIs de falhas não alteradas
GET/v0.1/apps/{owner_name}/{app_name}/symbols/{symbol_id}/status
GET/v0.1/apps/{owner_name}/{app_name}/symbols/{symbol_id}/location
POST/v0.1/apps/{owner_name}/{app_name}/symbols/{symbol_id}/ignore
GET/v0.1/apps/{owner_name}/{app_name}/symbols/{symbol_id}
GET/v0.1/apps/{owner_name}/{app_name}/symbols
GET/v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id}/location
GET/v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id}
PATCH/v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id}
DELETE/v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id}
GET/v0.1/apps/{owner_name}/{app_name}/symbol_uploads
POST/v0.1/apps/{owner_name}/{app_name}/symbol_uploads