Bagikan melalui


Menggunakan API Diagnostik

Penting

Visual Studio App Center dijadwalkan untuk dihentikan pada 31 Maret 2025. Meskipun Anda dapat terus menggunakan Visual Studio App Center hingga sepenuhnya dihentikan, ada beberapa alternatif yang direkomendasikan yang dapat Anda pertimbangkan untuk bermigrasi.

Pelajari selengkapnya tentang garis waktu dukungan dan alternatif.

Diagnostik App Center mendukung beberapa fungsi API yang tercantum di bawah bagian crash dan kesalahan di halaman swagger App Center. Baca Dokumentasi API App Center untuk mempelajari cara memperoleh token API dan melakukan panggilan ke API App Center.

Catatan

APP Center Diagnostics API tidak mendukung CORS (Cross-Origin Resource Sharing), sehingga permintaan dari klien yang mengamanatkan ini seperti browser akan gagal. Untuk berinteraksi dengan API dari browser, Anda dapat menggunakan layanan proksi di bawah domain Anda sendiri yang meneruskan permintaan ke API App Center.

Transisi ke API baru

Dengan pengumuman Ketersediaan Umum Diagnostik App Center kami tahun lalu dan peningkatan diagnostik UWP kami, kami membuat beberapa perubahan dalam API kami untuk memungkinkan alur backend yang ditingkatkan untuk memproses crash dan kesalahan Anda. Bergantung pada API mana yang Anda gunakan, mungkin ada beberapa tindakan yang diperlukan di ujung Anda untuk memastikan transisi yang lancar.

Ada tiga jenis API crash:

  1. Crash API yang memetakan ke API baru
  2. Crash API yang tidak ada lagi
  3. Crash API yang tetap tidak berubah

Crash API yang memetakan ke API baru

API lama yang tercantum di bagian crash tidak digunakan lagi dan telah dihapus. Anda harus menggunakan API diagnostik baru seperti yang tercantum dalam tabel di bawah ini.

API Crash Lama CRASH API Baru
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}/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}/errors/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}/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 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

API Crash yang Tidak Diubah

Ada beberapa API crash yang tetap sama di alur baru. API berikut akan terus berfungsi seperti yang diharapkan dan tidak ada tindakan yang diperlukan saat ini.

API Crash yang Tidak Diubah
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