Запрос наборов метрик

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

В следующих примерах кода показано, как отправить несколько простых запросов. Например, методы ниже показывают, как получить различные метрики для вашего приложения. Существует несколько различных параметров запроса, которые можно использовать для сужения запроса.

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

В следующем примере извлекаются метаданные для набора показателей частоты сбоев для вымышленного приложения 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 строк. Максимальное значение — 100 000; значения выше 100 000 будут приведены к 100 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 ), используйте эти параметры, чтобы уменьшить результаты каждого запроса до управляемого размера.