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 |
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[] |
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[] |
Métriques à agréger. |
pageSize |
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.