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

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