Interroger les ensembles de métriques

Une fois la configuration terminée, vous pouvez envoyer des requêtes à l'API Google Play Developer Reporting pour récupérer les métadonnées sur les ensembles de métriques et interroger leurs métriques.

Les exemples de code ci-dessous vous indiquent comment envoyer quelques requêtes simples. Par exemple, les méthodes ci-dessous vous montrent comment récupérer différentes métriques pour votre application. Il existe plusieurs paramètres de requête différents qui peuvent être utilisés pour affiner votre requête.

Récupérer les métadonnées d'un ensemble de métriques

L'exemple suivant récupère les métadonnées de l'ensemble de métriques sur le taux d'erreur pour une application fictive, com.example.app.

Requête simple :

Cette requête HTTP GET spécifie le paramètre de nom d'application et renvoie la ressource de métrique complète associée à votre application.

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

Réponse d'informations sur les métriques :

La réponse inclut les champs suivants liés à l'ensemble de métriques :

{
  "freshness_info": {
    "freshness": [
      "aggregation_period": "DAILY"
      "latest_end_time": { year: "2021" month: "7" day: "22" time_zone: "America/Los_Angeles" }
    ]
  }
}

Utiliser la fonctionnalité de requête

La requête HTTP POST suivante portant sur cette même ressource utilise le point de terminaison query pour récupérer des données spécifiques de l'ensemble de métriques.

POST https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/crashRateMetricSet:query

Dans le corps de la requête, transmettez les options de requête pour récupérer les métriques en fonction de critères spécifiques.

{
  "timeline_spec": {
    "aggregation_period": "DAILY"
    "start_time": { year: "2021" month: "7" day: "1" time_zone: "America/Los_Angeles" }
    "end_time": { year: "2021" month: "7" day: "3" time_zone: "America/Los_Angeles" }
   }
  "dimensions": ["apiLevel"]
  "metrics": ["errorReportCount", "distinctUsers"]
  "page_size": "10"
}

Exemples pour les collections :

Champs
timelineSpec

object (TimelineSpec)

Spécification des paramètres d'agrégation de la chronologie. Veuillez consulter la documentation de chaque ensemble de métriques pour obtenir la liste des périodes d'agrégation acceptées.

dimensions[]

string

Dimensions selon lesquelles segmenter les métriques. Veuillez consulter la documentation de chaque ensemble de métriques pour obtenir la liste des dimensions acceptées.

metrics[]

string

Métriques à agréger.

pageSize

integer

Taille maximale des données renvoyées.

Si aucune valeur n'est spécifiée, 1 000 lignes au maximum sont renvoyées. La valeur maximale est 100 000. Les valeurs supérieures sont réduites à 100 000.

Gérer les réponses

Une fois qu'un serveur a traité une requête valide incluant des champs valides, il renvoie le code d'état HTTP 200 OK ainsi que les données demandées. Si le paramètre de requête fields comporte une erreur ou s'il n'est pas valide pour une autre raison, le serveur renvoie le code d'état HTTP 400 Bad Request, ainsi qu'un message d'erreur indiquant à l'utilisateur la raison pour laquelle sa sélection de champs est incorrecte (par exemple, "Invalid field timeline_spec").

Voici l'exemple de réponse mentionné dans l'introduction ci-dessus.

POST https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/crashRateMetricSet:query

La réponse est semblable à ce qui suit :

200 OK
{
  rows: [
    {
      aggregation_period: "DAILY"
      start_time: { year: "2021" month: "7" day: "1" time_zone: "America/Los_Angeles" }
      dimensions: [{dimension: "apiLevel" int64_value: "20"}]
      metrics: [
        {metric: "errorReportCount" decimal_value: "100"},
        {metric: "distinctUsers" decimal_value: "57"},
      ]
    }, {
      aggregation_period: "DAILY"
      start_time: { year: "2021" month: "7" day: "1" time_zone: "America/Los_Angeles" }
      dimensions: [{dimension: "apiLevel" int64_value: "21"}]
      metrics: [
        {metric: "errorReportCount" decimal_value: "123"},
        {metric: "distinctUsers" decimal_value: "65"},
      ]
    },
    ...
  ]
  next_page_token: "eW91IGhhdmUgdG9vIG11Y2ggZnJlZSB0aW1l"
}

Remarque : Dans le cas des API qui acceptent des paramètres de requête pour la pagination des données (par exemple, maxResults et nextPageToken), utilisez ces paramètres afin que la taille des résultats de chaque requête soit gérable.