После того, как вы все настроите, вы можете отправлять запросы в 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 | Спецификация параметров агрегации временной шкалы. Ознакомьтесь с документацией по каждому набору метрик, чтобы узнать, какие периоды агрегирования поддерживаются. |
dimensions[] | Параметры, по которым можно разделить показатели. Список поддерживаемых параметров см. в документации по каждому набору показателей. |
metrics[] | Метрики для агрегирования. |
pageSize | Максимальный размер возвращаемых данных. Если не указано, будет возвращено не более 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
), используйте эти параметры, чтобы уменьшить результаты каждого запроса до управляемого размера.