Usando a API de Diagnóstico
Importante
O Visual Studio App Center está programado para ser desativado em 31 de março de 2025. Embora você possa continuar a usar o Visual Studio App Center até que ele seja totalmente desativado, há várias alternativas recomendadas para as quais você pode considerar a migração.
O Diagnóstico do App Center dá suporte a várias funcionalidades de API listadas na seção falhas 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 de 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 ao seu lado para garantir uma transição suave.
Há três tipos de APIs de falhas:
- Falha nas APIs que são mapeadas para novas APIs
- Falha nas APIs que não existem mais
- Falha nas APIs que permanecem sem filtro
Falha nas APIs que são mapeadas para novas APIs
ApIs antigas listadas na seção falhas foram preteridas e removidas. Você deve usar as novas APIs diagnóstico conforme listado na tabela abaixo.
APIs de falhas antigas | Nova API de Falhas |
---|---|
GET/v0.1/apps/{owner_name}/{app_name}/retention_settings | 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}/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}/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}/errorGroups/{errorGroupId}/errors/{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}/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}/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}/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}/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 | 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}/diagnóstico/symbol_groups_info |
GET/v0.1/apps/{owner_name}/{app_name}/symbol_groups/{symbol_group_id} | GET/v0.1/apps/{owner_name}/{app_name}/diagnóstico/symbol_groups/{symbol_group_id} |
GET/v0.1/apps/{owner_name}/{app_name}/symbol_groups | GET/v0.1/apps/{owner_name}/{app_name}/diagnóstico/symbol_groups |
APIs de falhas não filtradas
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 filtradas |
---|
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 |