Method: vitals.crashrate.query

Queries the metrics in the metric set.

HTTP request

POST https://playdeveloperreporting.googleapis.com/v1alpha1/{name=apps/*/crashRateMetricSet}:query

The URL uses gRPC Transcoding syntax.

Path parameters

Parameters
name

string

Required. The resource name.

Format: apps/{app}/crashRateMetricSet

Request body

The request body contains data with the following structure:

JSON representation
{
  "timelineSpec": {
    object (TimelineSpec)
  },
  "dimensions": [
    string
  ],
  "metrics": [
    string
  ],
  "filter": string,
  "pageSize": integer,
  "pageToken": string,
  "userCohort": enum (UserCohort)
}
Fields
timelineSpec

object (TimelineSpec)

Specification of the timeline aggregation parameters.

Supported aggregation periods:

  • DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the default and only supported timezone is America/Los_Angeles.
  • HOURLY: metrics are aggregated in hourly intervals. The default and only supported timezone is UTC.
dimensions[]

string

Dimensions to slice the metrics by.

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
  • deviceSocModel (string): Model of the device's primary system-on-chip, e.g., "Exynos 2100". Reference
  • 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.
metrics[]

string

Metrics to aggregate.

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.
  • 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.
filter

string

Filters to apply to data. The filtering expression follows AIP-160 standard and supports filtering by equality of all breakdown dimensions.

pageSize

integer

Maximum size of the returned data.

If unspecified, at most 1000 rows will be returned. The maximum value is 100,000; values above 100,000 will be coerced to 100,000.

pageToken

string

A page token, received from a previous call. Provide this to retrieve the subsequent page.

When paginating, all other parameters provided to the request must match the call that provided the page token.

userCohort

enum (UserCohort)

User view to select. The output data will correspond to the selected view.

Supported values:

  • OS_PUBLIC To select data from all publicly released Android versions. This is the default. Supports all the above dimensions.
  • APP_TESTERS To select data from users who have opted in to be testers. Supports all the above dimensions.
  • OS_BETA To select data from beta android versions only, excluding data from released android versions. Only the following dimensions are supported:
  • versionCode (int64): version of the app that was running on the user's device.

  • osBuild (string): OS build of the user's device, e.g., "T1B2.220916.004".

Response body

Response message for crashrate.query.

If successful, the response body contains data with the following structure:

JSON representation
{
  "rows": [
    {
      object (MetricsRow)
    }
  ],
  "nextPageToken": string
}
Fields
rows[]

object (MetricsRow)

Returned rows of data.

nextPageToken

string

Continuation token to fetch the next page of data.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/playdeveloperreporting

For more information, see the OAuth 2.0 Overview.