Singleton resource representing the set of crashrate metrics. This metric set contains crashes
data combined with usage data to produce a normalized metric independent of user counts.
**Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals.
Due to historical constraints, the only supported timezone is `America/Los_Angeles`. * HOURLY:
metrics are aggregated in hourly intervals. The default and only supported timezone is `UTC`.
**Supported metrics:** * `crashRate` (`google.type.Decimal`): Percentage of distinct users in the
aggregation period that experienced at least one crash. * `crashRate7dUserWeighted`
(`google.type.Decimal`): Rolling average value of `crashRate` in the last 7 days. The daily
values are weighted by the count of distinct users for the day. Not supported in HOURLY
granularity. * `crashRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of
`crashRate` in the last 28 days. The daily values are weighted by the count of distinct users for
the day. Not supported in HOURLY granularity. * `userPerceivedCrashRate` (`google.type.Decimal`):
Percentage of distinct users in the aggregation period that experienced at least one crash while
they were actively using your app (a user-perceived crash). An app is considered to be in active
use if it is displaying any activity or executing any foreground service. *
`userPerceivedCrashRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of
`userPerceivedCrashRate` in the last 7 days. The daily values are weighted by the count of
distinct users for the day. Not supported in HOURLY granularity. *
`userPerceivedCrashRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of
`userPerceivedCrashRate` in the last 28 days. The daily values are weighted by the count of
distinct users for the day. Not supported in HOURLY granularity. * `distinctUsers`
(`google.type.Decimal`): Count of distinct users in the aggregation period that were used as
normalization value for the `crashRate` and `userPerceivedCrashRate` metrics. A user is counted
in this metric if they used the app actively during the aggregation period. An app is considered
to be in active use if it is displaying any activity or executing any foreground service. Care
must be taken not to aggregate this count further, as it may result in users being counted
multiple times. The value is rounded to the nearest multiple of 10, 100, 1,000 or 1,000,000,
depending on the magnitude of the value. **Supported dimensions:** * `apiLevel` (string): the API
level of Android that was running on the user's device, e.g., 26. * `versionCode` (int64):
version of the app that was running on the user's device. * `deviceModel` (string): unique
identifier of the user's device model. The form of the identifier is 'deviceBrand/device', where
deviceBrand corresponds to Build.BRAND and device corresponds to Build.DEVICE, e.g.,
google/coral. * `deviceBrand` (string): unique identifier of the user's device brand, e.g.,
google. * `deviceType` (string): the type (also known as form factor) of the user's device, e.g.,
PHONE. * `countryCode` (string): the country or region of the user's device based on their IP
address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). *
`deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). *
`deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung.
[Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) *
`deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., "Exynos 2100".
[Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake`
(string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the
device's CPU, e.g., "Kryo 240". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM.
* `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion`
(string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan
version of the device, e.g., "4198400". * `deviceGlEsVersion` (string): OpenGL ES version of the
device, e.g., "196610". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL,
LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. **Required
permissions**: to access this resource, the calling user needs the _View app information (read-
only)_ permission for the app. **Related metric sets:** * vitals.errors contains unnormalized
version (absolute counts) of crashes. * vitals.errors contains normalized metrics about ANRs,
another stability metric.
This is the Java data model class that specifies how to parse/serialize into the JSON that is
transmitted over HTTP when working with the Google Play Developer Reporting API. For a detailed
explanation see:
https://developers.google.com/api-client-library/java/google-http-java-client/json