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 des 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. Vous pouvez utiliser plusieurs paramètres de requête pour affiner votre requête.
Récupération des métadonnées de l'ensemble de métriques…
L'exemple suivant récupère les métadonnées de l'ensemble de métriques de taux de plantage pour une application fictive, com.example.app.
Requête simple :
Cette requête HTTP GET spécifie le paramètre de nom de l'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 aux 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 POSTrequête HTTP 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 des 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 |
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[] |
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[] |
Métriques à agréger. |
pageSize |
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 10 000. Les valeurs supérieures sont réduites à 10 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.