Po skonfigurowaniu wszystkiego możesz wysyłać żądania do interfejsu Google Play Developer Reporting API, aby pobierać metadane o zestawach danych i wykonywać zapytania dotyczące ich danych.
Poniższe przykłady kodu pokazują, jak wysłać kilka prostych żądań. Poniższe metody pokazują na przykład, jak pobierać różne dane dotyczące aplikacji. Istnieje kilka różnych parametrów zapytania, których można użyć, aby zawęzić zapytanie.
Pobieranie metadanych zestawu danych
Poniższy przykład pobiera metadane zestawu danych dotyczących wskaźnika awaryjności ustawionego dla fikcyjnej aplikacji com.example.app
.
Proste żądanie:
To żądanie HTTP GET
określa parametr nazwy aplikacji i zwraca pełny zasób danych powiązany z aplikacją.
GET https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/crashRateMetricSet
Odpowiedź z informacjami o rodzaju danych:
Odpowiedź zawiera te pola związane z zestawem danych:
{ "freshness_info": { "freshness": [ "aggregation_period": "DAILY" "latest_end_time": { year: "2021" month: "7" day: "22" time_zone: "America/Los_Angeles" } ] } }
Korzystanie z funkcji zapytania
Poniższe żądanie HTTP POST
tego samego zasobu używa punktu końcowego query
do pobierania określonych danych z zestawu danych.
POST https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/crashRateMetricSet:query
W treści żądania przekaż opcje zapytania, aby pobrać dane na podstawie określonych kryteriów.
{ "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" }
Oto kilka przykładów na poziomie kolekcji:
Pola | |
---|---|
timelineSpec |
Określenie parametrów agregacji osi czasu. Listę obsługiwanych okresów agregacji znajdziesz w dokumentacji każdego zestawu danych. |
dimensions[] |
Wymiary, według których chcesz podzielić dane. Listę obsługiwanych wymiarów znajdziesz w dokumentacji każdego zestawu danych. |
metrics[] |
Dane do agregacji. |
pageSize |
Maksymalny rozmiar zwracanych danych. Jeśli nie zostanie określona, zwracanych będzie maksymalnie 1000 wierszy. Maksymalna wartość to 100 000. Wartości powyżej 100 000 zostaną zmienione na 100 000. |
Obsługa odpowiedzi
Gdy serwer przetworzy prawidłowe żądanie z prawidłowymi polami, razem z żądanymi danymi wyśle kod stanu HTTP 200 OK
. Jeśli parametr zapytania fields
zawiera błąd lub jest nieprawidłowy z innego powodu, serwer zwróci kod stanu HTTP 400 Bad Request
i komunikat o błędzie z wyjaśnieniem, na czym polega problem z wybranymi polami (na przykład "Invalid field timeline_spec"
).
Poniżej znajdziesz przykładową odpowiedź, o której była już mowa wcześniej, we wprowadzeniu.
POST https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/crashRateMetricSet:query
Odpowiedź wygląda tak:
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" }
Uwaga: w interfejsach API, które obsługują parametry zapytania do dzielenia danych na strony (na przykład maxResults
i nextPageToken
), te parametry pozwalają zmniejszyć liczbę wyników zapytań do rozmiaru, który ułatwia obsługę.