Google Play Developer Reporting API memungkinkan Anda mengambil anomali yang terdeteksi dalam set metrik. Anomali dihasilkan setiap kali nilai metrik melebihi rentang nilai yang diharapkan untuk metrik tersebut, berdasarkan 28 hari nilai sebelumnya untuk metrik yang sama. Anomali untuk hari-hari berturut-turut digabungkan menjadi satu hasil anomali.
Jika peningkatan nilai metrik yang tidak normal berlanjut cukup lama, model deteksi akan beradaptasi dan memperluas nilai yang diharapkan hingga titik data berikutnya tidak lagi dianggap tidak normal.
Mengambil anomali
Anomali dapat dicantumkan dengan metode anomalies.list.
Permintaan sederhana:
Permintaan GET
HTTP ini menentukan parameter nama aplikasi dan menampilkan
daftar lengkap anomali yang terdeteksi untuk aplikasi Anda.
GET https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/anomalies
Respons anomali:
Respons menyertakan informasi yang cukup untuk menanyakan secara tepat di mana anomali terjadi:
{ "anomalies": [ { "name": "apps/com.example.app/anomalies/12345" "metric_set": "apps/com.example.app/anrRateMetricSet" "timeline_spec": { "aggregation_period": "DAILY" "start_time": { "year": 2022 "month": 1 "day": 23 "time_zone": { "id": "America/Los_Angeles" } } "end_time": { "year": 2022 "month": 1 "day": 23 "time_zone": { "id": "America/Los_Angeles" } } } "metric": { "metric": "anrRate", "decimal_value": { "value": "3.1415926535" } } }, { "name": "apps/com.example.app/anomalies/12345" "metric_set": "apps/com.example.app/crashRateMetricSet" "timeline_spec": { "aggregation_period": "DAILY" "start_time": { "year": 2021 "month": 12 "day": 10 "time_zone": { "id": "America/Los_Angeles" } } "end_time": { "year": 2021 "month": 12 "day": 10 "time_zone": { "id": "America/Los_Angeles" } } } "metric": { "metric": "crashRate", "decimal_value": { "value": "2.7182818284" } } }, ] }
Permintaan yang difilter:
Anda dapat menerapkan filter untuk hanya menampilkan anomali yang aktif pada jangka waktu tertentu. Untuk melakukannya, tentukan fungsi activeBetween(start, end)
di kolom filter dalam permintaan. Anda dapat menentukan batas yang tidak terikat di kedua sisi
rentang dengan kata kunci khusus UNBOUNDED
. Jika menentukan batas
awal atau akhir, batas tersebut harus mengikuti format RFC 3339, misalnya 2022-02-22T04:00Z
.
GET https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/anomalies?filter=activeBetween("2022-01-01T00:00:00Z", UNBOUNDED)
Respons yang difilter:
Respons hanya mencakup anomali yang aktif dalam rentang waktu yang ditentukan:
{ "anomalies": [ { "name": "apps/com.example.app/anomalies/12345" "metric_set": "apps/com.example.app/anrRateMetricSet" "timeline_spec": { "aggregation_period": "DAILY" "start_time": { "year": 2022 "month": 1 "day": 23 "time_zone": { "id": "America/Los_Angeles" } } "end_time": { "year": 2022 "month": 1 "day": 23 "time_zone": { "id": "America/Los_Angeles" } } } "metric": { "metric": "anrRate", "decimal_value": { "value": "3.1415926535" } } }, ] }
Metrik yang tersedia
Saat ini, tidak semua metrik dan set metrik mendukung deteksi anomali. Berikut daftar metrik yang didukung saat ini:
Set metrik | Metrik yang didukung |
---|---|
vitals.anrrate |
anrRate |
vitals.crashrate |
crashRate |
vitals.excessivewakeuprate |
excessiveWakeupRate |
vitals.stuckbackgroundwakelockrate |
stuckBgWakelockRate |