API Google Play для разработчиков позволяет получать доступ к метрикам, отчетам и информации о временных рамках ваших приложений. Для максимально упрощения использования API стандартизированы наборы метрик . Набор метрик — это логическая группа связанных метрик, имеющих общие атрибуты (такие как актуальность и детализация) и которые можно запрашивать вместе. Набор метрик также содержит ряд измерений, которые можно использовать для фильтрации или создания разбивок. Если не указано иное, все метрики могут быть разбиты или отфильтрованы по всем доступным измерениям.
Свежесть
Каждый ресурс набора метрик предлагает стандартный метод GET для получения даты и времени последней доступной точки данных, известной как «актуальность». Поскольку набор метрик может поддерживать несколько уровней детализации (ежедневно, ежечасно), операция возвращает одно значение актуальности для каждого поддерживаемого уровня детализации.
Значение показателя свежести можно использовать непосредственно в качестве конечной точки в запросе по временному диапазону.
Запросы данных
Для доступа к данным в наборе метрик следует использовать пользовательский метод QUERY для выполнения запросов. Каждый запрос должен указывать детализацию и временной диапазон. Помимо метрик, к которым вы хотите получить доступ, необходимо указать измерения, которые следует использовать для детализации агрегированных данных.
При запросе временных рамок следует проявлять осторожность и запрашивать диапазоны дат, чтобы размер диапазона был обратно пропорционален размеру вашего приложения и количеству сбоев. Например, для большого приложения следует выбирать меньшее количество дней в одном запросе, чтобы избежать тайм-аутов запроса, вызванных чтением слишком большого объема данных.
Доступные наборы метрик
В приведенном ниже указателе перечислены все конечные точки и связанные с ними данные, которые вы можете запросить.
| Набор метрик | Описание | Поддерживаемые метрики |
|---|---|---|
vitals.anrrate | Содержит данные ANR в сочетании с данными об использовании для получения нормализованного показателя, независимого от количества пользователей. | anrRate (google.type.Decimal) : Процент уникальных пользователей за период агрегирования, у которых наблюдалась хотя бы одна ошибка ANR. anrRate7dUserWeighted (google.type.Decimal) : Средневзвешенное значение показателя anrRate за 7 дней, предшествующих и следующих за указанной датой. anrRate28dUserWeighted (google.type.Decimal) : Средневзвешенное значение показателя anrRate за 28 дней, предшествующих и следующих за указанной датой. userPerceivedAnrRate (google.type.Decimal) : Процент уникальных пользователей за период агрегирования, которые столкнулись хотя бы с одним зарегистрированным пользователем сообщением об ошибке. В настоящее время учитываются только сообщения об ошибке типа «Входная диспетчеризация». userPerceivedAnrRate7dUserWeighted (google.type.Decimal) : Средневзвешенное значение показателя userPerceivedAnrRate за 7 дней, предшествующих и следующих за указанной датой. userPerceivedAnrRate28dUserWeighted (google.type.Decimal) : Средневзвешенное значение показателя userPerceivedAnrRate за 28 дней до указанной даты включительно. distinctUsers (google.type.Decimal) : приблизительное количество пользователей, для которых были доступны данные за период агрегирования. |
vitals.crashrate | Содержит данные о сбоях в сочетании с данными об использовании для получения нормализованного показателя, независимого от количества пользователей. | crashRate (google.type.Decimal) : Процент уникальных пользователей за период агрегирования, у которых произошел хотя бы один сбой. crashRate7dUserWeighted (google.type.Decimal) : Средневзвешенное значение показателя crashRate за 7 дней, предшествующих и следующих за указанной датой. crashRate28dUserWeighted (google.type.Decimal) : Средневзвешенное значение показателя crashRate за 28 дней, предшествующих и следующих за указанной датой. userPerceivedCrashRate (google.type.Decimal) : Процент уникальных пользователей за период агрегирования, у которых произошел хотя бы один сбой во время активного использования приложения. userPerceivedCrashRate7dUserWeighted (google.type.Decimal) : Средневзвешенное значение показателя userPerceivedCrashRate за 7 дней, предшествующих и следующих за указанной датой. userPerceivedCrashRate28dUserWeighted (google.type.Decimal) : Средневзвешенное значение показателя userPerceivedCrashRate за 28 дней, предшествующих указанной дате и включительно. distinctUsers (google.type.Decimal) : приблизительное количество пользователей, для которых были доступны данные за период агрегирования. |
vitals.lmkrate | Содержит данные LMK (low memory kill — сокращение объема памяти, используемой для резервирования ресурсов), объединенные с данными об использовании, что позволяет получить нормализованный показатель, не зависящий от количества пользователей. | userPerceivedLmkRate (google.type.Decimal) : Процент уникальных пользователей за период агрегирования, у которых произошло хотя бы одно событие LMK (low memory kill) во время активного использования вашего приложения. Приложение считается активно используемым, если оно отображает какую-либо активность или выполняет какие-либо службы переднего плана. userPerceivedLmkRate7dUserWeighted (google.type.Decimal) : Средневзвешенное значение показателя userPerceivedLmkRate за 7 дней до указанной даты включительно. userPerceivedLmkRate28dUserWeighted (google.type.Decimal) : Средневзвешенное значение показателя userPerceivedLmkRate за 28 дней до указанной даты включительно. distinctUsers (google.type.Decimal) : приблизительное количество пользователей, для которых были доступны данные за период агрегирования. |
vitals.excessivewakeuprate | Содержит данные о количестве пробуждений AlarmManager в сочетании с данными о состоянии процесса для получения нормализованной метрики, независимой от количества пользователей. | excessiveWakeupRate (google.type.Decimal) : Процент уникальных пользователей за период агрегации, у которых было более 10 пробуждений в час. excessiveWakeupRate7dUserWeighted (google.type.Decimal) : Средневзвешенное значение показателя excessiveWakeupRate за 7 дней до указанной даты включительно. excessiveWakeupRate28dUserWeighted (google.type.Decimal) : Средневзвешенное значение показателя excessiveWakeupRate за 28 дней до указанной даты включительно. distinctUsers (google.type.Decimal) : приблизительное количество пользователей, для которых были доступны данные за период агрегирования. |
vitals.stuckbackgroundwakelockrate | Содержит данные о длительности блокировки пробуждения PowerManager в сочетании с данными о состоянии процесса для получения нормализованной метрики, не зависящей от количества пользователей. | stuckBgWakelockRate (google.type.Decimal) : Процент уникальных пользователей за период агрегации, у которых блокировка пробуждения удерживалась в фоновом режиме более 1 часа. stuckBgWakelockRate7dUserWeighted (google.type.Decimal) : Средневзвешенное значение показателя stuckBgWakelockRate за 7 дней до указанной даты включительно. stuckBgWakelockRate28dUserWeighted (google.type.Decimal) : Средневзвешенное значение показателя stuckBgWakelockRate за 28 дней до указанной даты включительно. distinctUsers (google.type.Decimal) : приблизительное количество пользователей, для которых были доступны данные за период агрегирования. |
vitals.slowstartrate | Содержит данные о медленном запуске приложений с разбивкой по типу запуска (холодный, теплый, горячий). | slowStartRate (google.type.Decimal) : Процент уникальных пользователей за период агрегирования, у которых произошло событие медленного запуска. slowStartRate7dUserWeighted (google.type.Decimal) : Средневзвешенное значение показателя slowStartRate за 7 дней до указанной даты включительно. slowStartRate28dUserWeighted (google.type.Decimal) : Средневзвешенное значение показателя slowStartRate за 28 дней, предшествующих и следующих за указанной датой. distinctUsers (google.type.Decimal) : приблизительное количество пользователей, для которых были доступны данные за период агрегирования. |
vitals.errors.counts | Содержит ненормализованные данные о количестве сообщений об ошибках. | Обратите внимание: данный ресурс в настоящее время доступен только в альфа-версии 1 API. errorReportCount (google.type.Decimal) : Абсолютное количество отдельных сообщений об ошибках, полученных для приложения. |
Размеры
Каждый набор метрик поддерживает отдельный набор измерений для фильтрации и детализации. Список измерений, доступных в API, можно найти в приведенном ниже индексе измерений.
| Измерение | Описание |
|---|---|
versionCode | Код версии приложения, работавшего на устройстве пользователя в момент сбора данных. Строковое значение этого параметра может быть интерпретировано как целое число. Дополнительные сведения о работе версионирования приложений на Android см. здесь . |
countryCode | Идентификатор страны или региона пользователя, основанный на его IP-адресе, представленный в виде двухбуквенного кода ISO-3166 (например, US для Соединенных Штатов). |
Габариты устройства
Это параметры, специфичные для данного устройства, а также его программных и аппаратных характеристик.
| Измерение | Описание |
|---|---|
apiLevel | Уровень API Android, работавшего на устройстве пользователя в момент сбора данных. Строковое значение этого параметра может быть интерпретировано как целое число. Список версий Android и их соответствие уровням API можно посмотреть здесь . |
deviceModel | Идентификатор конкретной модели устройства, определенный в каталоге устройств Play Console. |
deviceType | Идентификатор конкретного форм-фактора устройства, используемый каталогом устройств Play Console. |
deviceRamBucket | Оперативная память устройства, в МБ, в единицах (3 ГБ, 4 ГБ и т. д.). |
deviceSocMake | Производитель основного системного чипа устройства, например, Samsung. Подробнее здесь . |
deviceSocModel | Название модели основного процессора устройства, например, "Exynos 2100". См. здесь . |
deviceCpuMake | Производитель процессора устройства, например, Qualcomm. |
deviceCpuModel | Модель процессора устройства, например, "Kryo 240". |
deviceGpuMake | Производитель графического процессора устройства, например, ARM. |
deviceGpuModel | Модель графического процессора устройства, например, Mali. |
deviceGpuVersion | Версия графического процессора устройства, например, T750. |
deviceVulkanVersion | Версия Vulkan устройства, например, "4198400". |
deviceGlEsVersion | Версия OpenGL ES устройства, например, "196610". |
deviceScreenSize | Размер экрана устройства, например, ОБЫЧНЫЙ, БОЛЬШОЙ. |
deviceScreenDpi | Плотность пикселей экрана устройства, например, MDPI, HDPI. |