Wysyłanie zapytań do zestawów danych

Po skonfigurowaniu wszystkich ustawień możesz wysyłać żądania do interfejsu Google Play Developer Reporting API, aby pobierać metadane o wskaźnikach i wysyłać zapytania o ich dane.

Poniższe przykłady kodu pokazują, jak wysłać kilka prostych żądań. Poniższe metody pokazują na przykład, jak pobrać różne wskaźniki dla aplikacji. Do zawężania zapytań możesz używać kilku różnych parametrów zapytania.

Pobieram metadane zestawu danych

Ten przykład pobiera metadane wskaźnika częstotliwości awarii dla fikcyjnej aplikacji com.example.app.

Proste żądanie:

To żądanie GET określa parametr nazwy aplikacji i zwraca pełny zasób wskaźnika powiązany z Twoją aplikacją.

GET https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/crashRateMetricSet

Odpowiedź dotycząca danych:

Odpowiedź zawiera następujące pola związane ze zbiorem danych:

{
  "freshness_info": {
    "freshness": [
      "aggregation_period": "DAILY"
      "latest_end_time": { year: "2021" month: "7" day: "22" time_zone: "America/Los_Angeles" }
    ]
  }
}

Korzystanie z funkcji zapytań

Poniższe żądanie HTTP POST dla tego samego zasobu używa punktu końcowego query do pobierania określonych danych ze zbioru danych.

POST https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/crashRateMetricSet:query

W treści żądania przekazuj opcje zapytania, aby pobrać wskaźniki 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

object (TimelineSpec)

Specyfikacja parametrów agregacji osi czasu. Listę obsługiwanych wskaźników znajdziesz w dokumentacji dotyczącej obsługiwanych okresów agregacji.

dimensions[]

string

Wymiary, według których chcesz podzielić dane. Listę obsługiwanych wskaźników znajdziesz w dokumentacji poszczególnych wymiarów.

metrics[]

string

Dane do agregowania.

pageSize

integer

Maksymalny rozmiar zwróconych danych.

Jeśli wartość nie zostanie określona, zostanie zwróconych maksymalnie 1000 wierszy. Wartość maksymalna to 100 000, a 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 wraz z komunikatem o błędzie, który informuje użytkownika, co jest nieprawidłowe w przypadku wybranych pól (na przykład "Invalid field timeline_spec").

Oto przykład odpowiedzi przedstawiony w sekcji wprowadzającej powyżej.

POST https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/crashRateMetricSet:query

Odpowiedź będzie 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 podziału danych na strony (na przykład maxResults i nextPageToken), możesz użyć tych parametrów, by zmniejszyć liczbę wyników zapytań do rozmiaru, który ułatwia obsługę.