L'API Google Play Developer Reporting vous permet de récupérer les anomalies détectées dans les ensembles de métriques. Une anomalie est générée chaque fois que la valeur de la métrique dépasse la plage attendue, en fonction des valeurs des 28 jours précédents pour cette même métrique. Les anomalies sur plusieurs jours consécutifs sont fusionnées en un seul résultat d'anomalie.
Si l'augmentation anormale de la valeur d'une métrique persiste suffisamment longtemps, le modèle de détection s'adapte et élargit les valeurs attendues jusqu'à ce que les points de données suivants ne soient plus considérés comme anormaux.
Récupérer les anomalies
Les anomalies peuvent être listées avec la méthode anomalies.list.
Requête simple :
Cette requête HTTP GET
spécifie le paramètre de nom d'application et renvoie la liste complète des anomalies détectées pour votre application.
GET https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/anomalies
Réponse à l'anomalie :
La réponse inclut suffisamment d'informations pour identifier précisément l'emplacement de l'anomalie :
{ "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" } } }, ] }
Demande filtrée :
Il est possible d'appliquer un filtre pour n'afficher que les anomalies qui étaient actives pendant une période spécifique. Pour ce faire, spécifiez la fonction activeBetween(start, end)
dans le champ de filtre de la requête. Il est possible de spécifier des limites illimitées de chaque côté de la plage avec le mot clé spécial UNBOUNDED
. Si vous spécifiez une limite de début ou de fin, elle doit respecter le format RFC 3339, par exemple 2022-02-22T04:00Z
.
GET https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/anomalies?filter=activeBetween("2022-01-01T00:00:00Z", UNBOUNDED)
Réponse filtrée :
La réponse n'inclut que les anomalies qui étaient actives dans la plage de temps spécifiée :
{ "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" } } }, ] }
Métriques disponibles
La détection des anomalies n'est pas compatible avec toutes les métriques et tous les ensembles de métriques pour le moment. Voici la liste des métriques actuellement acceptées :
Ensemble de métriques | Métriques acceptées |
---|---|
vitals.anrrate |
anrRate |
vitals.crashrate |
crashRate |
vitals.excessivewakeuprate |
excessiveWakeupRate |
vitals.stuckbackgroundwakelockrate |
stuckBgWakelockRate |