Interfejs Google Play Developer Reporting API umożliwia pobieranie anomalii wykrytych w zestawach danych. Anomalia jest wykrywana za każdym razem, gdy wartość danych przekracza oczekiwany zakres wartości tych danych na podstawie wartości z poprzednich 28 dni. Anomalie z kolejnych dni są łączone w jeden wynik anomalii.
Jeśli nietypowy wzrost wartości danych utrzymuje się wystarczająco długo, model wykrywania dostosowuje się i poszerza zakres oczekiwanych wartości, aż kolejne punkty danych przestaną być uznawane za anomalie.
Pobieranie anomalii
Anomalie można wyświetlić za pomocą metody anomalies.list.
Proste żądanie:
To żądanie HTTP GET
określa parametr nazwy aplikacji i zwraca pełną listę wykrytych anomalii w aplikacji.
GET https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/anomalies
Odpowiedź na anomalię:
Odpowiedź zawiera wystarczającą ilość informacji, aby dokładnie określić, gdzie wystąpiła anomalia:
{ "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" } } }, ] }
Odfiltrowane żądanie:
Możesz zastosować filtr, aby zwracać tylko anomalie, które były aktywne w określonym przedziale czasu. Aby to zrobić, w polu filtra w żądaniu określ funkcję activeBetween(start, end)
. Możesz określić nieograniczone limity po obu stronach zakresu za pomocą specjalnego słowa kluczowego UNBOUNDED
. Jeśli określasz początek lub koniec zakresu, musi on być zgodny z formatem RFC 3339, np. 2022-02-22T04:00Z
.
GET https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/anomalies?filter=activeBetween("2022-01-01T00:00:00Z", UNBOUNDED)
Odfiltrowana odpowiedź:
Odpowiedź zawiera tylko anomalie, które były aktywne w określonym przedziale czasu:
{ "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" } } }, ] }
Dostępne dane
Nie wszystkie dane i zestawy danych obsługują obecnie wykrywanie anomalii. Oto lista obecnie obsługiwanych danych:
Zestaw metryczny | Obsługiwane dane |
---|---|
vitals.anrrate |
anrRate |
vitals.crashrate |
crashRate |
vitals.excessivewakeuprate |
excessiveWakeupRate |
vitals.stuckbackgroundwakelockrate |
stuckBgWakelockRate |