Interroger des 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 des métadonnées sur des ensembles de métriques et interroger leurs métriques.

Les exemples de code suivants montrent comment envoyer quelques requêtes simples. Par exemple, les méthodes ci-dessous vous montrent comment récupérer diverses métriques pour votre application. Plusieurs paramètres de requête peuvent être utilisés pour affiner votre requête.

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

L'exemple suivant récupère les métadonnées de la métrique de taux de plantages définie 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 la métrique:

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 pour cette même ressource utilise le point de terminaison query pour extraire 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 timeline. Veuillez consulter la documentation de chaque ensemble de métriques pour obtenir la liste des périodes d'agrégation acceptées.

dimensions[]

string

Variables 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 ce paramètre n'est pas spécifié, 1 000 lignes au maximum seront renvoyées. La valeur maximale est 100 000 ; les valeurs supérieures à 100 000 seront forcées à 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 n'est pas valide pour une autre raison, le serveur renvoie un 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 présenté dans la section d'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 : Pour les API compatibles avec les paramètres de pagination de données (maxResults et nextPageToken, par exemple), utilisez ces paramètres afin de réduire les résultats de chaque requête à une taille gérable.