Anomalie

L'API Google Play Developer Reporting ti consente di recuperare le anomalie rilevate nei set di metriche. Viene generata un'anomalia ogni volta che il valore della metrica supera l'intervallo previsto della metrica, in base ai valori dei 28 giorni precedenti per la stessa metrica. Le anomalie per giorni consecutivi vengono unite in un unico risultato di anomalia.

Se l'aumento anomalo del valore di una metrica persiste per un periodo di tempo sufficiente, il modello di rilevamento si adatta e amplia i valori previsti finché i punti dati successivi non vengono più considerati anomali.

Recupero delle anomalie

Le anomalie possono essere elencate con il metodo anomalies.list.

Richiesta semplice:

Questa richiesta HTTP GET specifica il parametro del nome dell'applicazione e restituisce l'elenco completo delle anomalie rilevate per la tua applicazione.

GET https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/anomalies

Risposta all'anomalia:

La risposta include informazioni sufficienti per eseguire query esattamente nel punto in cui si è verificata l'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"
        }
      }
    },
  ]
}

Richiesta filtrata:

È possibile applicare un filtro per restituire solo le anomalie attive in un periodo di tempo specifico. Per farlo, specifica la funzione activeBetween(start, end) nel campo del filtro della richiesta. È possibile specificare limiti illimitati su entrambi i lati dell'intervallo con la parola chiave speciale UNBOUNDED. Se specifichi un limite iniziale o finale, deve seguire il formato RFC 3339, ad esempio 2022-02-22T04:00Z.

GET https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/anomalies?filter=activeBetween("2022-01-01T00:00:00Z", UNBOUNDED)

Risposta filtrata:

La risposta include solo le anomalie attive nell'intervallo di tempo specificato:

{
  "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"
        }
      }
    },
  ]
}

Metriche disponibili

Al momento, non tutte le metriche e i set di metriche supportano il rilevamento delle anomalie. Ecco l'elenco delle metriche attualmente supportate:

Set di metriche Metriche supportate
vitals.anrrate anrRate
vitals.crashrate crashRate
vitals.excessivewakeuprate excessiveWakeupRate
vitals.stuckbackgroundwakelockrate stuckBgWakelockRate