Google Play Developer Reporting API . vitals . errors . issues

Instance Methods

close()

Close httplib2 connections.

search(parent, filter=None, interval_endTime_day=None, interval_endTime_hours=None, interval_endTime_minutes=None, interval_endTime_month=None, interval_endTime_nanos=None, interval_endTime_seconds=None, interval_endTime_timeZone_id=None, interval_endTime_timeZone_version=None, interval_endTime_utcOffset=None, interval_endTime_year=None, interval_startTime_day=None, interval_startTime_hours=None, interval_startTime_minutes=None, interval_startTime_month=None, interval_startTime_nanos=None, interval_startTime_seconds=None, interval_startTime_timeZone_id=None, interval_startTime_timeZone_version=None, interval_startTime_utcOffset=None, interval_startTime_year=None, orderBy=None, pageSize=None, pageToken=None, sampleErrorReportLimit=None, x__xgafv=None)

Searches all error issues in which reports have been grouped.

search_next()

Retrieves the next page of results.

Method Details

close()
Close httplib2 connections.
search(parent, filter=None, interval_endTime_day=None, interval_endTime_hours=None, interval_endTime_minutes=None, interval_endTime_month=None, interval_endTime_nanos=None, interval_endTime_seconds=None, interval_endTime_timeZone_id=None, interval_endTime_timeZone_version=None, interval_endTime_utcOffset=None, interval_endTime_year=None, interval_startTime_day=None, interval_startTime_hours=None, interval_startTime_minutes=None, interval_startTime_month=None, interval_startTime_nanos=None, interval_startTime_seconds=None, interval_startTime_timeZone_id=None, interval_startTime_timeZone_version=None, interval_startTime_utcOffset=None, interval_startTime_year=None, orderBy=None, pageSize=None, pageToken=None, sampleErrorReportLimit=None, x__xgafv=None)
Searches all error issues in which reports have been grouped.

Args:
  parent: string, Required. Parent resource of the error issues, indicating the application for which they were received. Format: apps/{app} (required)
  filter: string, A selection predicate to retrieve only a subset of the issues. Counts in the returned error issues will only reflect occurrences that matched the filter. For filtering basics, please check [AIP-160](https://google.aip.dev/160). ** Supported field names:** * `apiLevel`: Matches error issues that occurred in the requested Android versions (specified as the numeric API level) only. Example: `apiLevel = 28 OR apiLevel = 29`. * `versionCode`: Matches error issues that occurred in the requested app version codes only. Example: `versionCode = 123 OR versionCode = 456`. * `deviceModel`: Matches error issues that occurred in the requested devices. Example: `deviceModel = "google/walleye" OR deviceModel = "google/marlin"`. * `deviceBrand`: Matches error issues that occurred in the requested device brands. Example: `deviceBrand = "Google". * `deviceType`: Matches error issues that occurred in the requested device types. Example: `deviceType = "PHONE"`. * `errorIssueType`: Matches error issues of the requested types only. Valid candidates: `CRASH`, `ANR`. Example: `errorIssueType = CRASH OR errorIssueType = ANR`. * `appProcessState`: Matches error issues on the process state of an app, indicating whether an app runs in the foreground (user-visible) or background. Valid candidates: `FOREGROUND`, `BACKGROUND`. Example: `appProcessState = FOREGROUND`. * `isUserPerceived`: Matches error issues that are user-perceived. It is not accompanied by any operators. Example: `isUserPerceived`. ** Supported operators:** * Comparison operators: The only supported comparison operator is equality. The filtered field must appear on the left hand side of the comparison. * Logical Operators: Logical operators `AND` and `OR` can be used to build complex filters following a conjunctive normal form (CNF), i.e., conjunctions of disjunctions. The `OR` operator takes precedence over `AND` so the use of parenthesis is not necessary when building CNF. The `OR` operator is only supported to build disjunctions that apply to the same field, e.g., `versionCode = 123 OR errorIssueType = ANR` is not a valid filter. ** Examples ** Some valid filtering expressions: * `versionCode = 123 AND errorIssueType = ANR` * `versionCode = 123 AND errorIssueType = OR errorIssueType = CRASH` * `versionCode = 123 AND (errorIssueType = OR errorIssueType = CRASH)`
  interval_endTime_day: integer, Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day.
  interval_endTime_hours: integer, Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value "24:00:00" for scenarios like business closing time.
  interval_endTime_minutes: integer, Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.
  interval_endTime_month: integer, Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month.
  interval_endTime_nanos: integer, Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0.
  interval_endTime_seconds: integer, Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds.
  interval_endTime_timeZone_id: string, IANA Time Zone Database time zone, e.g. "America/New_York".
  interval_endTime_timeZone_version: string, Optional. IANA Time Zone Database version number, e.g. "2019a".
  interval_endTime_utcOffset: string, UTC offset. Must be whole seconds, between -18 hours and +18 hours. For example, a UTC offset of -4:00 would be represented as { seconds: -14400 }.
  interval_endTime_year: integer, Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.
  interval_startTime_day: integer, Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day.
  interval_startTime_hours: integer, Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value "24:00:00" for scenarios like business closing time.
  interval_startTime_minutes: integer, Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.
  interval_startTime_month: integer, Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month.
  interval_startTime_nanos: integer, Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0.
  interval_startTime_seconds: integer, Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds.
  interval_startTime_timeZone_id: string, IANA Time Zone Database time zone, e.g. "America/New_York".
  interval_startTime_timeZone_version: string, Optional. IANA Time Zone Database version number, e.g. "2019a".
  interval_startTime_utcOffset: string, UTC offset. Must be whole seconds, between -18 hours and +18 hours. For example, a UTC offset of -4:00 would be represented as { seconds: -14400 }.
  interval_startTime_year: integer, Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.
  orderBy: string, Specifies a field that will be used to order the results. ** Supported dimensions:** * `errorReportCount`: Orders issues by number of error reports. * `distinctUsers`: Orders issues by number of unique affected users. ** Supported operations:** * `asc` for ascending order. * `desc` for descending order. Format: A field and an operation, e.g., `errorReportCount desc` *Note:* currently only one field is supported at a time.
  pageSize: integer, The maximum number of error issues to return. The service may return fewer than this value. If unspecified, at most 50 error issues will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
  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.
  sampleErrorReportLimit: integer, Optional. Number of sample error reports to return per ErrorIssue. If unspecified, 0 will be used. *Note:* currently only 0 and 1 are supported.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response with a paginated list of issues that matched the request.
  "errorIssues": [ # ErrorIssues that were found.
    { # A group of related ErrorReports received for an app. Similar error reports are grouped together into issues with a likely identical root cause. **Please note:** this resource is currently in Alpha. There could be changes to the issue grouping that would result in similar but more recent error reports being assigned to different issues. This could also cause some issues disappearing entirely and being replaced by new ones. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app.
      "cause": "A String", # Cause of the issue. Depending on the type this can be either: * APPLICATION_NOT_RESPONDING: the type of ANR that occurred, e.g., 'Input dispatching timed out'. * CRASH: for Java unhandled exception errors, the type of the innermost exception that was thrown, e.g., IllegalArgumentException. For signals in native code, the signal that was raised, e.g. SIGSEGV.
      "distinctUsers": "A String", # An estimate of the number of unique users who have experienced this issue (only considering occurrences matching the filters and within the requested time period).
      "distinctUsersPercent": { # A representation of a decimal value, such as 2.5. Clients may convert values into language-native decimal formats, such as Java's BigDecimal or Python's decimal.Decimal. [BigDecimal]: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html [decimal.Decimal]: https://docs.python.org/3/library/decimal.html # An estimated percentage of users affected by any issue that are affected by this issue (only considering occurrences matching the filters and within the requested time period).
        "value": "A String", # The decimal value, as a string. The string representation consists of an optional sign, `+` (`U+002B`) or `-` (`U+002D`), followed by a sequence of zero or more decimal digits ("the integer"), optionally followed by a fraction, optionally followed by an exponent. An empty string **should** be interpreted as `0`. The fraction consists of a decimal point followed by zero or more decimal digits. The string must contain at least one digit in either the integer or the fraction. The number formed by the sign, the integer and the fraction is referred to as the significand. The exponent consists of the character `e` (`U+0065`) or `E` (`U+0045`) followed by one or more decimal digits. Services **should** normalize decimal values before storing them by: - Removing an explicitly-provided `+` sign (`+2.5` -> `2.5`). - Replacing a zero-length integer value with `0` (`.5` -> `0.5`). - Coercing the exponent character to upper-case, with explicit sign (`2.5e8` -> `2.5E+8`). - Removing an explicitly-provided zero exponent (`2.5E0` -> `2.5`). Services **may** perform additional normalization based on its own needs and the internal decimal implementation selected, such as shifting the decimal point and exponent value together (example: `2.5E-1` <-> `0.25`). Additionally, services **may** preserve trailing zeroes in the fraction to indicate increased precision, but are not required to do so. Note that only the `.` character is supported to divide the integer and the fraction; `,` **should not** be supported regardless of locale. Additionally, thousand separators **should not** be supported. If a service does support them, values **must** be normalized. The ENBF grammar is: DecimalString = '' | [Sign] Significand [Exponent]; Sign = '+' | '-'; Significand = Digits '.' | [Digits] '.' Digits; Exponent = ('e' | 'E') [Sign] Digits; Digits = { '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' }; Services **should** clearly document the range of supported values, the maximum supported precision (total number of digits), and, if applicable, the scale (number of digits after the decimal point), as well as how it behaves when receiving out-of-bounds values. Services **may** choose to accept values passed as input even when the value has a higher precision or scale than the service supports, and **should** round the value to fit the supported scale. Alternatively, the service **may** error with `400 Bad Request` (`INVALID_ARGUMENT` in gRPC) if precision would be lost. Services **should** error with `400 Bad Request` (`INVALID_ARGUMENT` in gRPC) if the service receives a value outside of the supported range.
      },
      "errorReportCount": "A String", # The total number of error reports in this issue (only considering occurrences matching the filters and within the requested time period).
      "firstAppVersion": { # Representations of an app version. # The earliest (inclusive) app version appearing in this ErrorIssue in the requested time period (only considering occurrences matching the filters).
        "versionCode": "A String", # Numeric version code of the app version (set by the app's developer).
      },
      "firstOsVersion": { # Representation of an OS version. # The smallest OS version in which this error cluster has occurred in the requested time period (only considering occurrences matching the filters and within the requested time period).
        "apiLevel": "A String", # Numeric version code of the OS - API level
      },
      "issueUri": "A String", # Link to the issue in Android vitals in the Play Console.
      "lastAppVersion": { # Representations of an app version. # The latest (inclusive) app version appearing in this ErrorIssue in the requested time period (only considering occurrences matching the filters).
        "versionCode": "A String", # Numeric version code of the app version (set by the app's developer).
      },
      "lastErrorReportTime": "A String", # Start of the hour during which the last error report in this issue occurred.
      "lastOsVersion": { # Representation of an OS version. # The latest OS version in which this error cluster has occurred in the requested time period (only considering occurrences matching the filters and within the requested time period).
        "apiLevel": "A String", # Numeric version code of the OS - API level
      },
      "location": "A String", # Location where the issue happened. Depending on the type this can be either: * APPLICATION_NOT_RESPONDING: the name of the activity or service that stopped responding. * CRASH: the likely method name that caused the error.
      "name": "A String", # Identifier. The resource name of the issue. Format: apps/{app}/{issue}
      "sampleErrorReports": [ # Output only. Sample error reports which belong to this ErrorIssue. *Note:* currently a maximum of 1 per ErrorIssue is supported. Format: "apps/{app}/{report}"
        "A String",
      ],
      "type": "A String", # Type of the errors grouped in this issue.
    },
  ],
  "nextPageToken": "A String", # Continuation token to fetch the next page of data.
}
search_next()
Retrieves the next page of results.

        Args:
          previous_request: The request for the previous page. (required)
          previous_response: The response from the request for the previous page. (required)

        Returns:
          A request object that you can call 'execute()' on to request the next
          page. Returns None if there are no more items in the collection.