Запрос наборов показателей

Задав необходимые настройки, вы сможете отправлять запросы к Google Play Developer Reporting API, чтобы получать метаданные о наборах показателей и запрашивать их значения.

Ниже приведены примеры кода, используемые для отправки некоторых простых запросов. Например, методы ниже показывают, как получить различные показатели для приложения. Чтобы сузить запрос, можно использовать несколько разных параметров запроса.

Получение метаданных набора показателей

В следующем примере извлекаются метаданные для набора показателей доли сбоев вымышленного приложения com.example.app.

Простой запрос:

В этом HTTP-запросе GET указывается параметр названия приложения и возвращается весь ресурс показателей, связанный с вашим приложением.

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

Ответ с информацией о показателе:

Ответ содержит следующие поля, связанные с набором показателей:

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

Как использовать функцию запросов

В следующем HTTP-запросе POST для того же ресурса используется конечная точка query, чтобы получить определенные данные из набора показателей.

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

В теле запроса передайте параметры запроса, чтобы получить показатели на основе определенных критериев.

{
  "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"
}

Несколько примеров на уровне коллекций:

Поля
timelineSpec

object (TimelineSpec)

Спецификация параметров агрегирования хронологии. Чтобы узнать, какие периоды агрегирования поддерживаются, ознакомьтесь с документацией по каждому набору показателей.

dimensions[]

string

Параметры, по которым можно сегментировать показатели. Список поддерживаемых параметров можно найти в документации по каждому набору показателей.

metrics[]

string

Показатели, которые нужно агрегировать.

pageSize

integer

Максимальный размер возвращаемых данных.

Если значение не указано, будет возвращено не более 1000 строк. Максимальное значение – 10 000. Значения выше 10 000 будут принудительно заменены на 10 000.

Обработка ответов

После обработки действительного запроса, содержащего действительные поля, сервер возвращает код статуса HTTP 200 OK вместе с запрошенными данными. Если в параметре запроса fields есть ошибка или он недействителен, сервер возвращает код статуса HTTP 400 Bad Request, а также сообщение об ошибке, указывающее, что пользователь неправильно выбрал поля, например "Invalid field timeline_spec".

Вот пример ответа, показанного во вводном разделе выше.

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

Ответ выглядит так:

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"
}

Примечание. В случае с теми API, которые поддерживают параметры запроса для разбивки данных на страницы (например, maxResults и nextPageToken), можно использовать такие параметры для сокращения числа результатов по каждому запросу.