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 |
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 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.