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, basée sur les 28 jours de valeurs précédents pour cette même métrique. Les anomalies pour des jours consécutifs sont fusionnées dans 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 répertoriées à l'aide de 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 par votre application.
GET https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/anomalies
Réponse en cas d'anomalie:
La réponse inclut suffisamment d'informations pour interroger l'emplacement exact 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" } } }, ] }
Requête filtrée:
Il est possible d'appliquer un filtre pour ne renvoyer 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 pendant la période 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
Actuellement, toutes les métriques et tous les ensembles de métriques ne sont pas compatibles avec la détection d'anomalies. Voici la liste des métriques actuellement compatibles:
Ensemble de métriques | Métriques acceptées |
---|---|
vitals.anrrate |
Taux d'ar |
vitals.crashrate |
Taux de plantages |
vitals.excessivewakeuprate |
Taux de wakeups excessif |
vitals.stuckbackgroundwakelockrate |
Taux de wakelock bloqué |