google-apis-playdeveloperreporting_v1alpha1 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.yardopts +13 -0
- data/CHANGELOG.md +7 -0
- data/LICENSE.md +202 -0
- data/OVERVIEW.md +96 -0
- data/lib/google/apis/playdeveloperreporting_v1alpha1/classes.rb +1512 -0
- data/lib/google/apis/playdeveloperreporting_v1alpha1/gem_version.rb +28 -0
- data/lib/google/apis/playdeveloperreporting_v1alpha1/representations.rb +512 -0
- data/lib/google/apis/playdeveloperreporting_v1alpha1/service.rb +704 -0
- data/lib/google/apis/playdeveloperreporting_v1alpha1.rb +33 -0
- data/lib/google-apis-playdeveloperreporting_v1alpha1.rb +15 -0
- metadata +82 -0
@@ -0,0 +1,1512 @@
|
|
1
|
+
# Copyright 2020 Google LLC
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
require 'date'
|
16
|
+
require 'google/apis/core/base_service'
|
17
|
+
require 'google/apis/core/json_representation'
|
18
|
+
require 'google/apis/core/hashable'
|
19
|
+
require 'google/apis/errors'
|
20
|
+
|
21
|
+
module Google
|
22
|
+
module Apis
|
23
|
+
module PlaydeveloperreportingV1alpha1
|
24
|
+
|
25
|
+
# Represents an anomaly detected in a dataset. Our anomaly detection systems
|
26
|
+
# flag datapoints in a time series that fall outside of and expected range
|
27
|
+
# derived from historical data. Although those expected ranges have an upper and
|
28
|
+
# a lower bound, we only flag anomalies when the data has become unexpectedly
|
29
|
+
# _worse_, which usually corresponds to the case where the metric crosses the
|
30
|
+
# upper bound. Multiple contiguous datapoints in a timeline outside of the
|
31
|
+
# expected range will be grouped into a single anomaly. Therefore, an anomaly
|
32
|
+
# represents effectively a segment of a metric's timeline. The information
|
33
|
+
# stored in the `timeline_spec`, `dimensions` and `metric` can be used to fetch
|
34
|
+
# a full timeline with extended ragne for context. **Required permissions**: to
|
35
|
+
# access this resource, the calling user needs the _View app information (read-
|
36
|
+
# only)_ permission for the app.
|
37
|
+
class GooglePlayDeveloperReportingV1alpha1Anomaly
|
38
|
+
include Google::Apis::Core::Hashable
|
39
|
+
|
40
|
+
# Combination of dimensions in which the anomaly was detected.
|
41
|
+
# Corresponds to the JSON property `dimensions`
|
42
|
+
# @return [Array<Google::Apis::PlaydeveloperreportingV1alpha1::GooglePlayDeveloperReportingV1alpha1DimensionValue>]
|
43
|
+
attr_accessor :dimensions
|
44
|
+
|
45
|
+
# Represents the value of a metric.
|
46
|
+
# Corresponds to the JSON property `metric`
|
47
|
+
# @return [Google::Apis::PlaydeveloperreportingV1alpha1::GooglePlayDeveloperReportingV1alpha1MetricValue]
|
48
|
+
attr_accessor :metric
|
49
|
+
|
50
|
+
# Metric set resource where the anomaly was detected.
|
51
|
+
# Corresponds to the JSON property `metricSet`
|
52
|
+
# @return [String]
|
53
|
+
attr_accessor :metric_set
|
54
|
+
|
55
|
+
# Name of the anomaly. Format: apps/`app`/anomalies/`anomaly`
|
56
|
+
# Corresponds to the JSON property `name`
|
57
|
+
# @return [String]
|
58
|
+
attr_accessor :name
|
59
|
+
|
60
|
+
# Specification of the time-related aggregation parameters of a timeline.
|
61
|
+
# Timelines have an aggregation period (`DAILY`, `HOURLY`, etc) which defines
|
62
|
+
# how events are aggregated in metrics. The points in a timeline are defined by
|
63
|
+
# the starting DateTime of the aggregation period. The duration is implicit in
|
64
|
+
# the AggregationPeriod. Hourly aggregation periods, when supported by a metric
|
65
|
+
# set, are always specified in UTC to avoid ambiguities around daylight saving
|
66
|
+
# time transitions, where an hour is skipped when adopting DST, and repeated
|
67
|
+
# when abandoning DST. For example, the timestamp '2021-11-07 01:00:00 America/
|
68
|
+
# Los_Angeles' is ambiguous since it can correspond to '2021-11-07 08:00:00 UTC'
|
69
|
+
# or '2021-11-07 09:00:00 UTC'. Daily aggregation periods require specifying a
|
70
|
+
# timezone which will determine the precise instants of the start and the end of
|
71
|
+
# the day. Not all metric sets support all timezones, so make sure to check
|
72
|
+
# which timezones are supported by the metric set you want to query.
|
73
|
+
# Corresponds to the JSON property `timelineSpec`
|
74
|
+
# @return [Google::Apis::PlaydeveloperreportingV1alpha1::GooglePlayDeveloperReportingV1alpha1TimelineSpec]
|
75
|
+
attr_accessor :timeline_spec
|
76
|
+
|
77
|
+
def initialize(**args)
|
78
|
+
update!(**args)
|
79
|
+
end
|
80
|
+
|
81
|
+
# Update properties of this object
|
82
|
+
def update!(**args)
|
83
|
+
@dimensions = args[:dimensions] if args.key?(:dimensions)
|
84
|
+
@metric = args[:metric] if args.key?(:metric)
|
85
|
+
@metric_set = args[:metric_set] if args.key?(:metric_set)
|
86
|
+
@name = args[:name] if args.key?(:name)
|
87
|
+
@timeline_spec = args[:timeline_spec] if args.key?(:timeline_spec)
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
# Singleton resource representing the set of ANR (Application not responding)
|
92
|
+
# metrics. This metric set contains ANRs data combined with usage data to
|
93
|
+
# produce a normalized metric independent of user counts. **Supported
|
94
|
+
# aggregation periods:** * DAILY: metrics are aggregated in calendar date
|
95
|
+
# intervals. Due to historical constraints, the only supported timezone is `
|
96
|
+
# America/Los_Angeles`. **Supported metrics:** * `anrRate` (`google.type.Decimal`
|
97
|
+
# ): Percentage of distinct users in the aggregation period that experienced at
|
98
|
+
# least one ANR. If your app exhibits an ANR rate equal to or higher than the
|
99
|
+
# threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by
|
100
|
+
# number of installs). * `anrRate7dUserWeighted` (`google.type.Decimal`):
|
101
|
+
# Rolling average value of `anrRate` in the last 7 days. The daily values are
|
102
|
+
# weighted by the count of distinct users for the day. * `anrRate28dUserWeighted`
|
103
|
+
# (`google.type.Decimal`): Rolling average value of `anrRate` in the last 28
|
104
|
+
# days. The daily values are weighted by the count of distinct users for the day.
|
105
|
+
# * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the
|
106
|
+
# aggregation period that were used as normalization value for the `anrRate`
|
107
|
+
# metric. A user is counted in this metric if they used the app in the
|
108
|
+
# foreground during the aggregation period. Care must be taken not to aggregate
|
109
|
+
# this count further, as it may result in users being counted multiple times. **
|
110
|
+
# Supported dimensions:** * `apiLevel` (string): the API level of Android that
|
111
|
+
# was running on the user's device. * `versionCode` (int64): version of the app
|
112
|
+
# that was running on the user's device. * `deviceModel` (string): unique
|
113
|
+
# identifier of the user's device model. * `deviceType` (string): the type (also
|
114
|
+
# known as form factor) of the user's device. * `countryCode` (string): the
|
115
|
+
# country or region of the user's device based on their IP address, represented
|
116
|
+
# as a 2-letter ISO-3166 code (e.g. US for the United States). **Required
|
117
|
+
# permissions**: to access this resource, the calling user needs the _View app
|
118
|
+
# information (read-only)_ permission for the app. **Related metric sets:** *
|
119
|
+
# vitals.errors contains unnormalized version (absolute counts) of crashes. *
|
120
|
+
# vitals.errors contains normalized metrics about crashes, another stability
|
121
|
+
# metric.
|
122
|
+
class GooglePlayDeveloperReportingV1alpha1AnrRateMetricSet
|
123
|
+
include Google::Apis::Core::Hashable
|
124
|
+
|
125
|
+
# Represents the latest available time that can be requested in a TimelineSpec.
|
126
|
+
# Different aggregation periods have different freshness. For example, `DAILY`
|
127
|
+
# aggregation may lag behind `HOURLY` in cases where such aggregation is
|
128
|
+
# computed only once at the end of the day.
|
129
|
+
# Corresponds to the JSON property `freshnessInfo`
|
130
|
+
# @return [Google::Apis::PlaydeveloperreportingV1alpha1::GooglePlayDeveloperReportingV1alpha1FreshnessInfo]
|
131
|
+
attr_accessor :freshness_info
|
132
|
+
|
133
|
+
# The resource name. Format: apps/`app`/anrRateMetricSet
|
134
|
+
# Corresponds to the JSON property `name`
|
135
|
+
# @return [String]
|
136
|
+
attr_accessor :name
|
137
|
+
|
138
|
+
def initialize(**args)
|
139
|
+
update!(**args)
|
140
|
+
end
|
141
|
+
|
142
|
+
# Update properties of this object
|
143
|
+
def update!(**args)
|
144
|
+
@freshness_info = args[:freshness_info] if args.key?(:freshness_info)
|
145
|
+
@name = args[:name] if args.key?(:name)
|
146
|
+
end
|
147
|
+
end
|
148
|
+
|
149
|
+
# Singleton resource representing the set of crashrate metrics. This metric set
|
150
|
+
# contains crashes data combined with usage data to produce a normalized metric
|
151
|
+
# independent of user counts. **Supported aggregation periods:** * DAILY:
|
152
|
+
# metrics are aggregated in calendar date intervals. Due to historical
|
153
|
+
# constraints, the only supported timezone is `America/Los_Angeles`. **Supported
|
154
|
+
# metrics:** * `crashRate` (`google.type.Decimal`): Percentage of distinct users
|
155
|
+
# in the aggregation period that experienced at least one crash. If your app
|
156
|
+
# exhibits a crash rate equal to or higher than the threshold, it's in the
|
157
|
+
# bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `
|
158
|
+
# crashRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `
|
159
|
+
# crashRate` in the last 7 days. The daily values are weighted by the count of
|
160
|
+
# distinct users for the day. * `crashRate28dUserWeighted` (`google.type.Decimal`
|
161
|
+
# ): Rolling average value of `crashRate` in the last 28 days. The daily values
|
162
|
+
# are weighted by the count of distinct users for the day. * `distinctUsers` (`
|
163
|
+
# google.type.Decimal`): Count of distinct users in the aggregation period that
|
164
|
+
# were used as normalization value for the `crashRate` metric. A user is counted
|
165
|
+
# in this metric if they used the app in the foreground during the aggregation
|
166
|
+
# period. Care must be taken not to aggregate this count further, as it may
|
167
|
+
# result in users being counted multiple times. **Supported dimensions:** * `
|
168
|
+
# apiLevel` (string): the API level of Android that was running on the user's
|
169
|
+
# device. * `versionCode` (int64): version of the app that was running on the
|
170
|
+
# user's device. * `deviceModel` (string): unique identifier of the user's
|
171
|
+
# device model. * `deviceType` (string): the type (also known as form factor) of
|
172
|
+
# the user's device. * `countryCode` (string): the country or region of the user'
|
173
|
+
# s device based on their IP address, represented as a 2-letter ISO-3166 code (e.
|
174
|
+
# g. US for the United States). **Required permissions**: to access this
|
175
|
+
# resource, the calling user needs the _View app information (read-only)_
|
176
|
+
# permission for the app. **Related metric sets:** * vitals.errors contains
|
177
|
+
# unnormalized version (absolute counts) of crashes. * vitals.errors contains
|
178
|
+
# normalized metrics about ANRs, another stability metric.
|
179
|
+
class GooglePlayDeveloperReportingV1alpha1CrashRateMetricSet
|
180
|
+
include Google::Apis::Core::Hashable
|
181
|
+
|
182
|
+
# Represents the latest available time that can be requested in a TimelineSpec.
|
183
|
+
# Different aggregation periods have different freshness. For example, `DAILY`
|
184
|
+
# aggregation may lag behind `HOURLY` in cases where such aggregation is
|
185
|
+
# computed only once at the end of the day.
|
186
|
+
# Corresponds to the JSON property `freshnessInfo`
|
187
|
+
# @return [Google::Apis::PlaydeveloperreportingV1alpha1::GooglePlayDeveloperReportingV1alpha1FreshnessInfo]
|
188
|
+
attr_accessor :freshness_info
|
189
|
+
|
190
|
+
# The resource name. Format: apps/`app`/crashRateMetricSet
|
191
|
+
# Corresponds to the JSON property `name`
|
192
|
+
# @return [String]
|
193
|
+
attr_accessor :name
|
194
|
+
|
195
|
+
def initialize(**args)
|
196
|
+
update!(**args)
|
197
|
+
end
|
198
|
+
|
199
|
+
# Update properties of this object
|
200
|
+
def update!(**args)
|
201
|
+
@freshness_info = args[:freshness_info] if args.key?(:freshness_info)
|
202
|
+
@name = args[:name] if args.key?(:name)
|
203
|
+
end
|
204
|
+
end
|
205
|
+
|
206
|
+
# Represents the value of a single dimension.
|
207
|
+
class GooglePlayDeveloperReportingV1alpha1DimensionValue
|
208
|
+
include Google::Apis::Core::Hashable
|
209
|
+
|
210
|
+
# Name of the dimension.
|
211
|
+
# Corresponds to the JSON property `dimension`
|
212
|
+
# @return [String]
|
213
|
+
attr_accessor :dimension
|
214
|
+
|
215
|
+
# Actual value, represented as an int64.
|
216
|
+
# Corresponds to the JSON property `int64Value`
|
217
|
+
# @return [Fixnum]
|
218
|
+
attr_accessor :int64_value
|
219
|
+
|
220
|
+
# Actual value, represented as a string.
|
221
|
+
# Corresponds to the JSON property `stringValue`
|
222
|
+
# @return [String]
|
223
|
+
attr_accessor :string_value
|
224
|
+
|
225
|
+
def initialize(**args)
|
226
|
+
update!(**args)
|
227
|
+
end
|
228
|
+
|
229
|
+
# Update properties of this object
|
230
|
+
def update!(**args)
|
231
|
+
@dimension = args[:dimension] if args.key?(:dimension)
|
232
|
+
@int64_value = args[:int64_value] if args.key?(:int64_value)
|
233
|
+
@string_value = args[:string_value] if args.key?(:string_value)
|
234
|
+
end
|
235
|
+
end
|
236
|
+
|
237
|
+
# Singleton resource representing the set of error report metrics. This metric
|
238
|
+
# set contains unnormalized error report counts. **Supported aggregation periods:
|
239
|
+
# ** * DAILY: metrics are aggregated in calendar date intervals. The default and
|
240
|
+
# only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `
|
241
|
+
# errorReportCount` (`google.type.Decimal`): Absolute count of individual error
|
242
|
+
# reports that have been received for an app. * `distinctUsers` (`google.type.
|
243
|
+
# Decimal`): Count of distinct users for which reports have been received. Care
|
244
|
+
# must be taken not to aggregate this count further, as it may result in users
|
245
|
+
# being counted multiple times. **Supported dimensions:** * `apiLevel` (string):
|
246
|
+
# the API level of Android that was running on the user's device. * `versionCode`
|
247
|
+
# (int64): version of the app that was running on the user's device. * `
|
248
|
+
# deviceModel` (string): unique identifier of the user's device model. * `
|
249
|
+
# deviceType` (string): identifier of the device's form factor, e.g., PHONE. * `
|
250
|
+
# reportType` (string): the type of error. The value should correspond to one of
|
251
|
+
# the possible values in ErrorType. * `issueId` (string): the id an error was
|
252
|
+
# assigned to. The value should correspond to the ``issue`` component of the
|
253
|
+
# issue name. **Required permissions**: to access this resource, the calling
|
254
|
+
# user needs the _View app information (read-only)_ permission for the app. **
|
255
|
+
# Related metric sets:** * vitals.errors.counts contains normalized metrics
|
256
|
+
# about Crashes, another stability metric. * vitals.errors.counts contains
|
257
|
+
# normalized metrics about ANRs, another stability metric.
|
258
|
+
class GooglePlayDeveloperReportingV1alpha1ErrorCountMetricSet
|
259
|
+
include Google::Apis::Core::Hashable
|
260
|
+
|
261
|
+
# Represents the latest available time that can be requested in a TimelineSpec.
|
262
|
+
# Different aggregation periods have different freshness. For example, `DAILY`
|
263
|
+
# aggregation may lag behind `HOURLY` in cases where such aggregation is
|
264
|
+
# computed only once at the end of the day.
|
265
|
+
# Corresponds to the JSON property `freshnessInfo`
|
266
|
+
# @return [Google::Apis::PlaydeveloperreportingV1alpha1::GooglePlayDeveloperReportingV1alpha1FreshnessInfo]
|
267
|
+
attr_accessor :freshness_info
|
268
|
+
|
269
|
+
# The resource name. Format: apps/`app`/errorCountMetricSet
|
270
|
+
# Corresponds to the JSON property `name`
|
271
|
+
# @return [String]
|
272
|
+
attr_accessor :name
|
273
|
+
|
274
|
+
def initialize(**args)
|
275
|
+
update!(**args)
|
276
|
+
end
|
277
|
+
|
278
|
+
# Update properties of this object
|
279
|
+
def update!(**args)
|
280
|
+
@freshness_info = args[:freshness_info] if args.key?(:freshness_info)
|
281
|
+
@name = args[:name] if args.key?(:name)
|
282
|
+
end
|
283
|
+
end
|
284
|
+
|
285
|
+
# A group of related ErrorReports received for an app. Similar error reports are
|
286
|
+
# grouped together into issues with a likely identical root cause. **Please note:
|
287
|
+
# ** this resource is currently in Alpha. There could be changes to the issue
|
288
|
+
# grouping that would result in similar but more recent error reports being
|
289
|
+
# assigned to different issues. This could also cause some issues disappearing
|
290
|
+
# entirely and being replaced by new ones. **Required permissions**: to access
|
291
|
+
# this resource, the calling user needs the _View app information (read-only)_
|
292
|
+
# permission for the app.
|
293
|
+
class GooglePlayDeveloperReportingV1alpha1ErrorIssue
|
294
|
+
include Google::Apis::Core::Hashable
|
295
|
+
|
296
|
+
# Cause of the issue. Depending on the type this can be either: *
|
297
|
+
# APPLICATION_NOT_RESPONDING: the type of ANR that occurred, e.g., 'Input
|
298
|
+
# dispatching timed out'. * CRASH: for Java unhandled exception errors, the type
|
299
|
+
# of the innermost exception that was thrown, e.g., IllegalArgumentException.
|
300
|
+
# For signals in native code, the signal that was raised, e.g. SIGSEGV.
|
301
|
+
# Corresponds to the JSON property `cause`
|
302
|
+
# @return [String]
|
303
|
+
attr_accessor :cause
|
304
|
+
|
305
|
+
# Location where the issue happened. Depending on the type this can be either: *
|
306
|
+
# APPLICATION_NOT_RESPONDING: the name of the activity or service that stopped
|
307
|
+
# responding. * CRASH: the likely method name that caused the error.
|
308
|
+
# Corresponds to the JSON property `location`
|
309
|
+
# @return [String]
|
310
|
+
attr_accessor :location
|
311
|
+
|
312
|
+
# The resource name of the issue. Format: apps/`app`/errorIssues/`issue`
|
313
|
+
# Corresponds to the JSON property `name`
|
314
|
+
# @return [String]
|
315
|
+
attr_accessor :name
|
316
|
+
|
317
|
+
# Type of the errors grouped in this issue.
|
318
|
+
# Corresponds to the JSON property `type`
|
319
|
+
# @return [String]
|
320
|
+
attr_accessor :type
|
321
|
+
|
322
|
+
def initialize(**args)
|
323
|
+
update!(**args)
|
324
|
+
end
|
325
|
+
|
326
|
+
# Update properties of this object
|
327
|
+
def update!(**args)
|
328
|
+
@cause = args[:cause] if args.key?(:cause)
|
329
|
+
@location = args[:location] if args.key?(:location)
|
330
|
+
@name = args[:name] if args.key?(:name)
|
331
|
+
@type = args[:type] if args.key?(:type)
|
332
|
+
end
|
333
|
+
end
|
334
|
+
|
335
|
+
# An error report received for an app. There reports are produced by the Android
|
336
|
+
# platform code when a (potentially fatal) error condition is detected.
|
337
|
+
# Identical reports from many users will be deduplicated and coalesced into a
|
338
|
+
# single ErrorReport. **Required permissions**: to access this resource, the
|
339
|
+
# calling user needs the _View app information (read-only)_ permission for the
|
340
|
+
# app.
|
341
|
+
class GooglePlayDeveloperReportingV1alpha1ErrorReport
|
342
|
+
include Google::Apis::Core::Hashable
|
343
|
+
|
344
|
+
# The issue this report was associated with. **Please note:** this resource is
|
345
|
+
# currently in Alpha. There could be changes to the issue grouping that would
|
346
|
+
# result in similar but more recent error reports being assigned to a different
|
347
|
+
# issue.
|
348
|
+
# Corresponds to the JSON property `issue`
|
349
|
+
# @return [String]
|
350
|
+
attr_accessor :issue
|
351
|
+
|
352
|
+
# The resource name of the report. Format: apps/`app`/errorReports/`report`
|
353
|
+
# Corresponds to the JSON property `name`
|
354
|
+
# @return [String]
|
355
|
+
attr_accessor :name
|
356
|
+
|
357
|
+
# Textual representation of the error report. These textual reports are produced
|
358
|
+
# by the platform. The reports are then sanitized and filtered to remove any
|
359
|
+
# potentially sensitive information. Although their format is fairly stable,
|
360
|
+
# they are not entirely meant for machine consumption and we cannot guarantee
|
361
|
+
# that there won't be subtle changes to the formatting that may break systems
|
362
|
+
# trying to parse information out of the reports.
|
363
|
+
# Corresponds to the JSON property `reportText`
|
364
|
+
# @return [String]
|
365
|
+
attr_accessor :report_text
|
366
|
+
|
367
|
+
# Type of the error for which this report was generated.
|
368
|
+
# Corresponds to the JSON property `type`
|
369
|
+
# @return [String]
|
370
|
+
attr_accessor :type
|
371
|
+
|
372
|
+
def initialize(**args)
|
373
|
+
update!(**args)
|
374
|
+
end
|
375
|
+
|
376
|
+
# Update properties of this object
|
377
|
+
def update!(**args)
|
378
|
+
@issue = args[:issue] if args.key?(:issue)
|
379
|
+
@name = args[:name] if args.key?(:name)
|
380
|
+
@report_text = args[:report_text] if args.key?(:report_text)
|
381
|
+
@type = args[:type] if args.key?(:type)
|
382
|
+
end
|
383
|
+
end
|
384
|
+
|
385
|
+
# Singleton resource representing the set of Excessive Weakeups metrics. This
|
386
|
+
# metric set contains AlarmManager wakeup counts data combined with process
|
387
|
+
# state data to produce a normalized metric independent of user counts. **
|
388
|
+
# Supported aggregation periods:** * DAILY: metrics are aggregated in calendar
|
389
|
+
# date intervals. Due to historical constraints, the only supported timezone is `
|
390
|
+
# America/Los_Angeles`. **Supported metrics:** * `excessiveWakeupRate` (`google.
|
391
|
+
# type.Decimal`): Percentage of distinct users in the aggregation period that
|
392
|
+
# had more than 10 wakeups per hour. If your app exhibits an excessive wakeup
|
393
|
+
# rate equal to or higher than the threshold, it's in the bottom 25% of the top
|
394
|
+
# 1,000 apps on Google Play (by number of installs). * `
|
395
|
+
# excessiveWakeupRate7dUserWeighted` (`google.type.Decimal`): Rolling average
|
396
|
+
# value of `excessiveWakeupRate` in the last 7 days. The daily values are
|
397
|
+
# weighted by the count of distinct users for the day. * `
|
398
|
+
# excessiveWakeupRate28dUserWeighted` (`google.type.Decimal`): Rolling average
|
399
|
+
# value of `excessiveWakeupRate` in the last 28 days. The daily values are
|
400
|
+
# weighted by the count of distinct users for the day. * `distinctUsers` (`
|
401
|
+
# google.type.Decimal`): Count of distinct users in the aggregation period that
|
402
|
+
# were used as normalization value for the `excessiveWakeupRate` metric. A user
|
403
|
+
# is counted in this metric if they app was doing any work on the device, i.e.,
|
404
|
+
# not just active foreground usage but also background work. Care must be taken
|
405
|
+
# not to aggregate this count further, as it may result in users being counted
|
406
|
+
# multiple times. **Supported dimensions:** * `apiLevel` (string): the API level
|
407
|
+
# of Android that was running on the user's device. * `versionCode` (int64):
|
408
|
+
# version of the app that was running on the user's device. * `deviceModel` (
|
409
|
+
# string): unique identifier of the user's device model. * `deviceType` (string):
|
410
|
+
# the type (also known as form factor) of the user's device. * `countryCode` (
|
411
|
+
# string): the country or region of the user's device based on their IP address,
|
412
|
+
# represented as a 2-letter ISO-3166 code (e.g. US for the United States). **
|
413
|
+
# Required permissions**: to access this resource, the calling user needs the
|
414
|
+
# _View app information (read-only)_ permission for the app.
|
415
|
+
class GooglePlayDeveloperReportingV1alpha1ExcessiveWakeupRateMetricSet
|
416
|
+
include Google::Apis::Core::Hashable
|
417
|
+
|
418
|
+
# Represents the latest available time that can be requested in a TimelineSpec.
|
419
|
+
# Different aggregation periods have different freshness. For example, `DAILY`
|
420
|
+
# aggregation may lag behind `HOURLY` in cases where such aggregation is
|
421
|
+
# computed only once at the end of the day.
|
422
|
+
# Corresponds to the JSON property `freshnessInfo`
|
423
|
+
# @return [Google::Apis::PlaydeveloperreportingV1alpha1::GooglePlayDeveloperReportingV1alpha1FreshnessInfo]
|
424
|
+
attr_accessor :freshness_info
|
425
|
+
|
426
|
+
# The resource name. Format: apps/`app`/excessiveWakeupRateMetricSet
|
427
|
+
# Corresponds to the JSON property `name`
|
428
|
+
# @return [String]
|
429
|
+
attr_accessor :name
|
430
|
+
|
431
|
+
def initialize(**args)
|
432
|
+
update!(**args)
|
433
|
+
end
|
434
|
+
|
435
|
+
# Update properties of this object
|
436
|
+
def update!(**args)
|
437
|
+
@freshness_info = args[:freshness_info] if args.key?(:freshness_info)
|
438
|
+
@name = args[:name] if args.key?(:name)
|
439
|
+
end
|
440
|
+
end
|
441
|
+
|
442
|
+
# Represents the latest available time that can be requested in a TimelineSpec.
|
443
|
+
# Different aggregation periods have different freshness. For example, `DAILY`
|
444
|
+
# aggregation may lag behind `HOURLY` in cases where such aggregation is
|
445
|
+
# computed only once at the end of the day.
|
446
|
+
class GooglePlayDeveloperReportingV1alpha1FreshnessInfo
|
447
|
+
include Google::Apis::Core::Hashable
|
448
|
+
|
449
|
+
# Information about data freshness for every supported aggregation period. This
|
450
|
+
# field has set semantics, keyed by the `aggregation_period` field.
|
451
|
+
# Corresponds to the JSON property `freshnesses`
|
452
|
+
# @return [Array<Google::Apis::PlaydeveloperreportingV1alpha1::GooglePlayDeveloperReportingV1alpha1FreshnessInfoFreshness>]
|
453
|
+
attr_accessor :freshnesses
|
454
|
+
|
455
|
+
def initialize(**args)
|
456
|
+
update!(**args)
|
457
|
+
end
|
458
|
+
|
459
|
+
# Update properties of this object
|
460
|
+
def update!(**args)
|
461
|
+
@freshnesses = args[:freshnesses] if args.key?(:freshnesses)
|
462
|
+
end
|
463
|
+
end
|
464
|
+
|
465
|
+
# Information about data freshness for a single aggregation period.
|
466
|
+
class GooglePlayDeveloperReportingV1alpha1FreshnessInfoFreshness
|
467
|
+
include Google::Apis::Core::Hashable
|
468
|
+
|
469
|
+
# Aggregation period for which data is available.
|
470
|
+
# Corresponds to the JSON property `aggregationPeriod`
|
471
|
+
# @return [String]
|
472
|
+
attr_accessor :aggregation_period
|
473
|
+
|
474
|
+
# Represents civil time (or occasionally physical time). This type can represent
|
475
|
+
# a civil time in one of a few possible ways: * When utc_offset is set and
|
476
|
+
# time_zone is unset: a civil time on a calendar day with a particular offset
|
477
|
+
# from UTC. * When time_zone is set and utc_offset is unset: a civil time on a
|
478
|
+
# calendar day in a particular time zone. * When neither time_zone nor
|
479
|
+
# utc_offset is set: a civil time on a calendar day in local time. The date is
|
480
|
+
# relative to the Proleptic Gregorian Calendar. If year is 0, the DateTime is
|
481
|
+
# considered not to have a specific year. month and day must have valid, non-
|
482
|
+
# zero values. This type may also be used to represent a physical time if all
|
483
|
+
# the date and time fields are set and either case of the `time_offset` oneof is
|
484
|
+
# set. Consider using `Timestamp` message for physical time instead. If your use
|
485
|
+
# case also would like to store the user's timezone, that can be done in another
|
486
|
+
# field. This type is more flexible than some applications may want. Make sure
|
487
|
+
# to document and validate your application's limitations.
|
488
|
+
# Corresponds to the JSON property `latestEndTime`
|
489
|
+
# @return [Google::Apis::PlaydeveloperreportingV1alpha1::GoogleTypeDateTime]
|
490
|
+
attr_accessor :latest_end_time
|
491
|
+
|
492
|
+
def initialize(**args)
|
493
|
+
update!(**args)
|
494
|
+
end
|
495
|
+
|
496
|
+
# Update properties of this object
|
497
|
+
def update!(**args)
|
498
|
+
@aggregation_period = args[:aggregation_period] if args.key?(:aggregation_period)
|
499
|
+
@latest_end_time = args[:latest_end_time] if args.key?(:latest_end_time)
|
500
|
+
end
|
501
|
+
end
|
502
|
+
|
503
|
+
# Response with a list of anomalies in datasets.
|
504
|
+
class GooglePlayDeveloperReportingV1alpha1ListAnomaliesResponse
|
505
|
+
include Google::Apis::Core::Hashable
|
506
|
+
|
507
|
+
# Anomalies that were found.
|
508
|
+
# Corresponds to the JSON property `anomalies`
|
509
|
+
# @return [Array<Google::Apis::PlaydeveloperreportingV1alpha1::GooglePlayDeveloperReportingV1alpha1Anomaly>]
|
510
|
+
attr_accessor :anomalies
|
511
|
+
|
512
|
+
# Continuation token to fetch the next page of data.
|
513
|
+
# Corresponds to the JSON property `nextPageToken`
|
514
|
+
# @return [String]
|
515
|
+
attr_accessor :next_page_token
|
516
|
+
|
517
|
+
def initialize(**args)
|
518
|
+
update!(**args)
|
519
|
+
end
|
520
|
+
|
521
|
+
# Update properties of this object
|
522
|
+
def update!(**args)
|
523
|
+
@anomalies = args[:anomalies] if args.key?(:anomalies)
|
524
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
525
|
+
end
|
526
|
+
end
|
527
|
+
|
528
|
+
# Represents the value of a metric.
|
529
|
+
class GooglePlayDeveloperReportingV1alpha1MetricValue
|
530
|
+
include Google::Apis::Core::Hashable
|
531
|
+
|
532
|
+
# A representation of a decimal value, such as 2.5. Clients may convert values
|
533
|
+
# into language-native decimal formats, such as Java's BigDecimal or Python's
|
534
|
+
# decimal.Decimal. [BigDecimal]: https://docs.oracle.com/en/java/javase/11/docs/
|
535
|
+
# api/java.base/java/math/BigDecimal.html [decimal.Decimal]: https://docs.python.
|
536
|
+
# org/3/library/decimal.html
|
537
|
+
# Corresponds to the JSON property `decimalValue`
|
538
|
+
# @return [Google::Apis::PlaydeveloperreportingV1alpha1::GoogleTypeDecimal]
|
539
|
+
attr_accessor :decimal_value
|
540
|
+
|
541
|
+
# Name of the metric.
|
542
|
+
# Corresponds to the JSON property `metric`
|
543
|
+
# @return [String]
|
544
|
+
attr_accessor :metric
|
545
|
+
|
546
|
+
def initialize(**args)
|
547
|
+
update!(**args)
|
548
|
+
end
|
549
|
+
|
550
|
+
# Update properties of this object
|
551
|
+
def update!(**args)
|
552
|
+
@decimal_value = args[:decimal_value] if args.key?(:decimal_value)
|
553
|
+
@metric = args[:metric] if args.key?(:metric)
|
554
|
+
end
|
555
|
+
end
|
556
|
+
|
557
|
+
# Represents a row of dimensions and metrics.
|
558
|
+
class GooglePlayDeveloperReportingV1alpha1MetricsRow
|
559
|
+
include Google::Apis::Core::Hashable
|
560
|
+
|
561
|
+
# Granularity of the aggregation period of the row.
|
562
|
+
# Corresponds to the JSON property `aggregationPeriod`
|
563
|
+
# @return [String]
|
564
|
+
attr_accessor :aggregation_period
|
565
|
+
|
566
|
+
# Dimension columns in the row.
|
567
|
+
# Corresponds to the JSON property `dimensions`
|
568
|
+
# @return [Array<Google::Apis::PlaydeveloperreportingV1alpha1::GooglePlayDeveloperReportingV1alpha1DimensionValue>]
|
569
|
+
attr_accessor :dimensions
|
570
|
+
|
571
|
+
# Metric columns in the row.
|
572
|
+
# Corresponds to the JSON property `metrics`
|
573
|
+
# @return [Array<Google::Apis::PlaydeveloperreportingV1alpha1::GooglePlayDeveloperReportingV1alpha1MetricValue>]
|
574
|
+
attr_accessor :metrics
|
575
|
+
|
576
|
+
# Represents civil time (or occasionally physical time). This type can represent
|
577
|
+
# a civil time in one of a few possible ways: * When utc_offset is set and
|
578
|
+
# time_zone is unset: a civil time on a calendar day with a particular offset
|
579
|
+
# from UTC. * When time_zone is set and utc_offset is unset: a civil time on a
|
580
|
+
# calendar day in a particular time zone. * When neither time_zone nor
|
581
|
+
# utc_offset is set: a civil time on a calendar day in local time. The date is
|
582
|
+
# relative to the Proleptic Gregorian Calendar. If year is 0, the DateTime is
|
583
|
+
# considered not to have a specific year. month and day must have valid, non-
|
584
|
+
# zero values. This type may also be used to represent a physical time if all
|
585
|
+
# the date and time fields are set and either case of the `time_offset` oneof is
|
586
|
+
# set. Consider using `Timestamp` message for physical time instead. If your use
|
587
|
+
# case also would like to store the user's timezone, that can be done in another
|
588
|
+
# field. This type is more flexible than some applications may want. Make sure
|
589
|
+
# to document and validate your application's limitations.
|
590
|
+
# Corresponds to the JSON property `startTime`
|
591
|
+
# @return [Google::Apis::PlaydeveloperreportingV1alpha1::GoogleTypeDateTime]
|
592
|
+
attr_accessor :start_time
|
593
|
+
|
594
|
+
def initialize(**args)
|
595
|
+
update!(**args)
|
596
|
+
end
|
597
|
+
|
598
|
+
# Update properties of this object
|
599
|
+
def update!(**args)
|
600
|
+
@aggregation_period = args[:aggregation_period] if args.key?(:aggregation_period)
|
601
|
+
@dimensions = args[:dimensions] if args.key?(:dimensions)
|
602
|
+
@metrics = args[:metrics] if args.key?(:metrics)
|
603
|
+
@start_time = args[:start_time] if args.key?(:start_time)
|
604
|
+
end
|
605
|
+
end
|
606
|
+
|
607
|
+
# Request message for QueryAnrRateMetricSet.
|
608
|
+
class GooglePlayDeveloperReportingV1alpha1QueryAnrRateMetricSetRequest
|
609
|
+
include Google::Apis::Core::Hashable
|
610
|
+
|
611
|
+
# Dimensions to slice the metrics by. **Supported dimensions:** * `apiLevel` (
|
612
|
+
# string): the API level of Android that was running on the user's device. * `
|
613
|
+
# versionCode` (int64): version of the app that was running on the user's device.
|
614
|
+
# * `deviceModel` (string): unique identifier of the user's device model. * `
|
615
|
+
# deviceType` (string): the type (also known as form factor) of the user's
|
616
|
+
# device. * `countryCode` (string): the country or region of the user's device
|
617
|
+
# based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US
|
618
|
+
# for the United States).
|
619
|
+
# Corresponds to the JSON property `dimensions`
|
620
|
+
# @return [Array<String>]
|
621
|
+
attr_accessor :dimensions
|
622
|
+
|
623
|
+
# Filters to apply to data. The filtering expression follows [AIP-160](https://
|
624
|
+
# google.aip.dev/160) standard and supports filtering by equality of all
|
625
|
+
# breakdown dimensions.
|
626
|
+
# Corresponds to the JSON property `filter`
|
627
|
+
# @return [String]
|
628
|
+
attr_accessor :filter
|
629
|
+
|
630
|
+
# Metrics to aggregate. **Supported metrics:** * `anrRate` (`google.type.Decimal`
|
631
|
+
# ): Percentage of distinct users in the aggregation period that experienced at
|
632
|
+
# least one ANR. If your app exhibits an ANR rate equal to or higher than the
|
633
|
+
# threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by
|
634
|
+
# number of installs). * `anrRate7dUserWeighted` (`google.type.Decimal`):
|
635
|
+
# Rolling average value of `anrRate` in the last 7 days. The daily values are
|
636
|
+
# weighted by the count of distinct users for the day. * `anrRate28dUserWeighted`
|
637
|
+
# (`google.type.Decimal`): Rolling average value of `anrRate` in the last 28
|
638
|
+
# days. The daily values are weighted by the count of distinct users for the day.
|
639
|
+
# * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the
|
640
|
+
# aggregation period that were used as normalization value for the `anrRate`
|
641
|
+
# metric. A user is counted in this metric if they used the app in the
|
642
|
+
# foreground during the aggregation period. Care must be taken not to aggregate
|
643
|
+
# this count further, as it may result in users being counted multiple times.
|
644
|
+
# Corresponds to the JSON property `metrics`
|
645
|
+
# @return [Array<String>]
|
646
|
+
attr_accessor :metrics
|
647
|
+
|
648
|
+
# Maximum size of the returned data. If unspecified, at most 1000 rows will be
|
649
|
+
# returned. The maximum value is 100,000; values above 100,000 will be coerced
|
650
|
+
# to 100,000.
|
651
|
+
# Corresponds to the JSON property `pageSize`
|
652
|
+
# @return [Fixnum]
|
653
|
+
attr_accessor :page_size
|
654
|
+
|
655
|
+
# A page token, received from a previous call. Provide this to retrieve the
|
656
|
+
# subsequent page. When paginating, all other parameters provided to the request
|
657
|
+
# must match the call that provided the page token.
|
658
|
+
# Corresponds to the JSON property `pageToken`
|
659
|
+
# @return [String]
|
660
|
+
attr_accessor :page_token
|
661
|
+
|
662
|
+
# Specification of the time-related aggregation parameters of a timeline.
|
663
|
+
# Timelines have an aggregation period (`DAILY`, `HOURLY`, etc) which defines
|
664
|
+
# how events are aggregated in metrics. The points in a timeline are defined by
|
665
|
+
# the starting DateTime of the aggregation period. The duration is implicit in
|
666
|
+
# the AggregationPeriod. Hourly aggregation periods, when supported by a metric
|
667
|
+
# set, are always specified in UTC to avoid ambiguities around daylight saving
|
668
|
+
# time transitions, where an hour is skipped when adopting DST, and repeated
|
669
|
+
# when abandoning DST. For example, the timestamp '2021-11-07 01:00:00 America/
|
670
|
+
# Los_Angeles' is ambiguous since it can correspond to '2021-11-07 08:00:00 UTC'
|
671
|
+
# or '2021-11-07 09:00:00 UTC'. Daily aggregation periods require specifying a
|
672
|
+
# timezone which will determine the precise instants of the start and the end of
|
673
|
+
# the day. Not all metric sets support all timezones, so make sure to check
|
674
|
+
# which timezones are supported by the metric set you want to query.
|
675
|
+
# Corresponds to the JSON property `timelineSpec`
|
676
|
+
# @return [Google::Apis::PlaydeveloperreportingV1alpha1::GooglePlayDeveloperReportingV1alpha1TimelineSpec]
|
677
|
+
attr_accessor :timeline_spec
|
678
|
+
|
679
|
+
def initialize(**args)
|
680
|
+
update!(**args)
|
681
|
+
end
|
682
|
+
|
683
|
+
# Update properties of this object
|
684
|
+
def update!(**args)
|
685
|
+
@dimensions = args[:dimensions] if args.key?(:dimensions)
|
686
|
+
@filter = args[:filter] if args.key?(:filter)
|
687
|
+
@metrics = args[:metrics] if args.key?(:metrics)
|
688
|
+
@page_size = args[:page_size] if args.key?(:page_size)
|
689
|
+
@page_token = args[:page_token] if args.key?(:page_token)
|
690
|
+
@timeline_spec = args[:timeline_spec] if args.key?(:timeline_spec)
|
691
|
+
end
|
692
|
+
end
|
693
|
+
|
694
|
+
# Response message for QueryAnrRateMetricSet.
|
695
|
+
class GooglePlayDeveloperReportingV1alpha1QueryAnrRateMetricSetResponse
|
696
|
+
include Google::Apis::Core::Hashable
|
697
|
+
|
698
|
+
# Continuation token to fetch the next page of data.
|
699
|
+
# Corresponds to the JSON property `nextPageToken`
|
700
|
+
# @return [String]
|
701
|
+
attr_accessor :next_page_token
|
702
|
+
|
703
|
+
# Returned rows of data.
|
704
|
+
# Corresponds to the JSON property `rows`
|
705
|
+
# @return [Array<Google::Apis::PlaydeveloperreportingV1alpha1::GooglePlayDeveloperReportingV1alpha1MetricsRow>]
|
706
|
+
attr_accessor :rows
|
707
|
+
|
708
|
+
def initialize(**args)
|
709
|
+
update!(**args)
|
710
|
+
end
|
711
|
+
|
712
|
+
# Update properties of this object
|
713
|
+
def update!(**args)
|
714
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
715
|
+
@rows = args[:rows] if args.key?(:rows)
|
716
|
+
end
|
717
|
+
end
|
718
|
+
|
719
|
+
# Request message for QueryCrashRateMetricSet.
|
720
|
+
class GooglePlayDeveloperReportingV1alpha1QueryCrashRateMetricSetRequest
|
721
|
+
include Google::Apis::Core::Hashable
|
722
|
+
|
723
|
+
# Dimensions to slice the metrics by. **Supported dimensions:** * `apiLevel` (
|
724
|
+
# string): the API level of Android that was running on the user's device. * `
|
725
|
+
# versionCode` (int64): version of the app that was running on the user's device.
|
726
|
+
# * `deviceModel` (string): unique identifier of the user's device model. * `
|
727
|
+
# deviceType` (string): the type (also known as form factor) of the user's
|
728
|
+
# device. * `countryCode` (string): the country or region of the user's device
|
729
|
+
# based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US
|
730
|
+
# for the United States).
|
731
|
+
# Corresponds to the JSON property `dimensions`
|
732
|
+
# @return [Array<String>]
|
733
|
+
attr_accessor :dimensions
|
734
|
+
|
735
|
+
# Filters to apply to data. The filtering expression follows [AIP-160](https://
|
736
|
+
# google.aip.dev/160) standard and supports filtering by equality of all
|
737
|
+
# breakdown dimensions.
|
738
|
+
# Corresponds to the JSON property `filter`
|
739
|
+
# @return [String]
|
740
|
+
attr_accessor :filter
|
741
|
+
|
742
|
+
# Metrics to aggregate. **Supported metrics:** * `crashRate` (`google.type.
|
743
|
+
# Decimal`): Percentage of distinct users in the aggregation period that
|
744
|
+
# experienced at least one crash. If your app exhibits a crash rate equal to or
|
745
|
+
# higher than the threshold, it's in the bottom 25% of the top 1,000 apps on
|
746
|
+
# Google Play (by number of installs). * `crashRate7dUserWeighted` (`google.type.
|
747
|
+
# Decimal`): Rolling average value of `crashRate` in the last 7 days. The daily
|
748
|
+
# values are weighted by the count of distinct users for the day. * `
|
749
|
+
# crashRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `
|
750
|
+
# crashRate` in the last 28 days. The daily values are weighted by the count of
|
751
|
+
# distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count
|
752
|
+
# of distinct users in the aggregation period that were used as normalization
|
753
|
+
# value for the `crashRate` metric. A user is counted in this metric if they
|
754
|
+
# used the app in the foreground during the aggregation period. Care must be
|
755
|
+
# taken not to aggregate this count further, as it may result in users being
|
756
|
+
# counted multiple times.
|
757
|
+
# Corresponds to the JSON property `metrics`
|
758
|
+
# @return [Array<String>]
|
759
|
+
attr_accessor :metrics
|
760
|
+
|
761
|
+
# Maximum size of the returned data. If unspecified, at most 1000 rows will be
|
762
|
+
# returned. The maximum value is 100,000; values above 100,000 will be coerced
|
763
|
+
# to 100,000.
|
764
|
+
# Corresponds to the JSON property `pageSize`
|
765
|
+
# @return [Fixnum]
|
766
|
+
attr_accessor :page_size
|
767
|
+
|
768
|
+
# A page token, received from a previous call. Provide this to retrieve the
|
769
|
+
# subsequent page. When paginating, all other parameters provided to the request
|
770
|
+
# must match the call that provided the page token.
|
771
|
+
# Corresponds to the JSON property `pageToken`
|
772
|
+
# @return [String]
|
773
|
+
attr_accessor :page_token
|
774
|
+
|
775
|
+
# Specification of the time-related aggregation parameters of a timeline.
|
776
|
+
# Timelines have an aggregation period (`DAILY`, `HOURLY`, etc) which defines
|
777
|
+
# how events are aggregated in metrics. The points in a timeline are defined by
|
778
|
+
# the starting DateTime of the aggregation period. The duration is implicit in
|
779
|
+
# the AggregationPeriod. Hourly aggregation periods, when supported by a metric
|
780
|
+
# set, are always specified in UTC to avoid ambiguities around daylight saving
|
781
|
+
# time transitions, where an hour is skipped when adopting DST, and repeated
|
782
|
+
# when abandoning DST. For example, the timestamp '2021-11-07 01:00:00 America/
|
783
|
+
# Los_Angeles' is ambiguous since it can correspond to '2021-11-07 08:00:00 UTC'
|
784
|
+
# or '2021-11-07 09:00:00 UTC'. Daily aggregation periods require specifying a
|
785
|
+
# timezone which will determine the precise instants of the start and the end of
|
786
|
+
# the day. Not all metric sets support all timezones, so make sure to check
|
787
|
+
# which timezones are supported by the metric set you want to query.
|
788
|
+
# Corresponds to the JSON property `timelineSpec`
|
789
|
+
# @return [Google::Apis::PlaydeveloperreportingV1alpha1::GooglePlayDeveloperReportingV1alpha1TimelineSpec]
|
790
|
+
attr_accessor :timeline_spec
|
791
|
+
|
792
|
+
def initialize(**args)
|
793
|
+
update!(**args)
|
794
|
+
end
|
795
|
+
|
796
|
+
# Update properties of this object
|
797
|
+
def update!(**args)
|
798
|
+
@dimensions = args[:dimensions] if args.key?(:dimensions)
|
799
|
+
@filter = args[:filter] if args.key?(:filter)
|
800
|
+
@metrics = args[:metrics] if args.key?(:metrics)
|
801
|
+
@page_size = args[:page_size] if args.key?(:page_size)
|
802
|
+
@page_token = args[:page_token] if args.key?(:page_token)
|
803
|
+
@timeline_spec = args[:timeline_spec] if args.key?(:timeline_spec)
|
804
|
+
end
|
805
|
+
end
|
806
|
+
|
807
|
+
# Response message for QueryCrashRateMetricSet.
|
808
|
+
class GooglePlayDeveloperReportingV1alpha1QueryCrashRateMetricSetResponse
|
809
|
+
include Google::Apis::Core::Hashable
|
810
|
+
|
811
|
+
# Continuation token to fetch the next page of data.
|
812
|
+
# Corresponds to the JSON property `nextPageToken`
|
813
|
+
# @return [String]
|
814
|
+
attr_accessor :next_page_token
|
815
|
+
|
816
|
+
# Returned rows of data.
|
817
|
+
# Corresponds to the JSON property `rows`
|
818
|
+
# @return [Array<Google::Apis::PlaydeveloperreportingV1alpha1::GooglePlayDeveloperReportingV1alpha1MetricsRow>]
|
819
|
+
attr_accessor :rows
|
820
|
+
|
821
|
+
def initialize(**args)
|
822
|
+
update!(**args)
|
823
|
+
end
|
824
|
+
|
825
|
+
# Update properties of this object
|
826
|
+
def update!(**args)
|
827
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
828
|
+
@rows = args[:rows] if args.key?(:rows)
|
829
|
+
end
|
830
|
+
end
|
831
|
+
|
832
|
+
# Request message for QueryErrorCountMetricSet.
|
833
|
+
class GooglePlayDeveloperReportingV1alpha1QueryErrorCountMetricSetRequest
|
834
|
+
include Google::Apis::Core::Hashable
|
835
|
+
|
836
|
+
# Dimensions to slice the data by. **Supported dimensions:** * `apiLevel` (
|
837
|
+
# string): the API level of Android that was running on the user's device. * `
|
838
|
+
# versionCode` (int64): version of the app that was running on the user's device.
|
839
|
+
# * `deviceModel` (string): unique identifier of the user's device model. * `
|
840
|
+
# deviceType` (string): identifier of the device's form factor, e.g., PHONE. * `
|
841
|
+
# reportType` (string): the type of error. The value should correspond to one of
|
842
|
+
# the possible values in ErrorType. * `issueId` (string): the id an error was
|
843
|
+
# assigned to. The value should correspond to the ``issue`` component of the
|
844
|
+
# issue name.
|
845
|
+
# Corresponds to the JSON property `dimensions`
|
846
|
+
# @return [Array<String>]
|
847
|
+
attr_accessor :dimensions
|
848
|
+
|
849
|
+
# Filters to apply to data. The filtering expression follows [AIP-160](https://
|
850
|
+
# google.aip.dev/160) standard and supports filtering by equality of all
|
851
|
+
# breakdown dimensions.
|
852
|
+
# Corresponds to the JSON property `filter`
|
853
|
+
# @return [String]
|
854
|
+
attr_accessor :filter
|
855
|
+
|
856
|
+
# Metrics to aggregate. **Supported metrics:** * `errorReportCount` (`google.
|
857
|
+
# type.Decimal`): Absolute count of individual error reports that have been
|
858
|
+
# received for an app. * `distinctUsers` (`google.type.Decimal`): Count of
|
859
|
+
# distinct users for which reports have been received. Care must be taken not to
|
860
|
+
# aggregate this count further, as it may result in users being counted multiple
|
861
|
+
# times.
|
862
|
+
# Corresponds to the JSON property `metrics`
|
863
|
+
# @return [Array<String>]
|
864
|
+
attr_accessor :metrics
|
865
|
+
|
866
|
+
# Maximum size of the returned data. If unspecified, at most 1000 rows will be
|
867
|
+
# returned. The maximum value is 100000; values above 100000 will be coerced to
|
868
|
+
# 100000.
|
869
|
+
# Corresponds to the JSON property `pageSize`
|
870
|
+
# @return [Fixnum]
|
871
|
+
attr_accessor :page_size
|
872
|
+
|
873
|
+
# A page token, received from a previous call. Provide this to retrieve the
|
874
|
+
# subsequent page. When paginating, all other parameters provided to the request
|
875
|
+
# must match the call that provided the page token.
|
876
|
+
# Corresponds to the JSON property `pageToken`
|
877
|
+
# @return [String]
|
878
|
+
attr_accessor :page_token
|
879
|
+
|
880
|
+
# Specification of the time-related aggregation parameters of a timeline.
|
881
|
+
# Timelines have an aggregation period (`DAILY`, `HOURLY`, etc) which defines
|
882
|
+
# how events are aggregated in metrics. The points in a timeline are defined by
|
883
|
+
# the starting DateTime of the aggregation period. The duration is implicit in
|
884
|
+
# the AggregationPeriod. Hourly aggregation periods, when supported by a metric
|
885
|
+
# set, are always specified in UTC to avoid ambiguities around daylight saving
|
886
|
+
# time transitions, where an hour is skipped when adopting DST, and repeated
|
887
|
+
# when abandoning DST. For example, the timestamp '2021-11-07 01:00:00 America/
|
888
|
+
# Los_Angeles' is ambiguous since it can correspond to '2021-11-07 08:00:00 UTC'
|
889
|
+
# or '2021-11-07 09:00:00 UTC'. Daily aggregation periods require specifying a
|
890
|
+
# timezone which will determine the precise instants of the start and the end of
|
891
|
+
# the day. Not all metric sets support all timezones, so make sure to check
|
892
|
+
# which timezones are supported by the metric set you want to query.
|
893
|
+
# Corresponds to the JSON property `timelineSpec`
|
894
|
+
# @return [Google::Apis::PlaydeveloperreportingV1alpha1::GooglePlayDeveloperReportingV1alpha1TimelineSpec]
|
895
|
+
attr_accessor :timeline_spec
|
896
|
+
|
897
|
+
def initialize(**args)
|
898
|
+
update!(**args)
|
899
|
+
end
|
900
|
+
|
901
|
+
# Update properties of this object
|
902
|
+
def update!(**args)
|
903
|
+
@dimensions = args[:dimensions] if args.key?(:dimensions)
|
904
|
+
@filter = args[:filter] if args.key?(:filter)
|
905
|
+
@metrics = args[:metrics] if args.key?(:metrics)
|
906
|
+
@page_size = args[:page_size] if args.key?(:page_size)
|
907
|
+
@page_token = args[:page_token] if args.key?(:page_token)
|
908
|
+
@timeline_spec = args[:timeline_spec] if args.key?(:timeline_spec)
|
909
|
+
end
|
910
|
+
end
|
911
|
+
|
912
|
+
# Error counts query response.
|
913
|
+
class GooglePlayDeveloperReportingV1alpha1QueryErrorCountMetricSetResponse
|
914
|
+
include Google::Apis::Core::Hashable
|
915
|
+
|
916
|
+
# Continuation token to fetch the next page of data.
|
917
|
+
# Corresponds to the JSON property `nextPageToken`
|
918
|
+
# @return [String]
|
919
|
+
attr_accessor :next_page_token
|
920
|
+
|
921
|
+
# Returned rows.
|
922
|
+
# Corresponds to the JSON property `rows`
|
923
|
+
# @return [Array<Google::Apis::PlaydeveloperreportingV1alpha1::GooglePlayDeveloperReportingV1alpha1MetricsRow>]
|
924
|
+
attr_accessor :rows
|
925
|
+
|
926
|
+
def initialize(**args)
|
927
|
+
update!(**args)
|
928
|
+
end
|
929
|
+
|
930
|
+
# Update properties of this object
|
931
|
+
def update!(**args)
|
932
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
933
|
+
@rows = args[:rows] if args.key?(:rows)
|
934
|
+
end
|
935
|
+
end
|
936
|
+
|
937
|
+
# Request message for QueryExcessiveWakeupRateMetricSet.
|
938
|
+
class GooglePlayDeveloperReportingV1alpha1QueryExcessiveWakeupRateMetricSetRequest
|
939
|
+
include Google::Apis::Core::Hashable
|
940
|
+
|
941
|
+
# Dimensions to slice the data by. **Supported dimensions:** * `apiLevel` (
|
942
|
+
# string): the API level of Android that was running on the user's device. * `
|
943
|
+
# versionCode` (int64): version of the app that was running on the user's device.
|
944
|
+
# * `deviceModel` (string): unique identifier of the user's device model. * `
|
945
|
+
# deviceType` (string): the type (also known as form factor) of the user's
|
946
|
+
# device. * `countryCode` (string): the country or region of the user's device
|
947
|
+
# based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US
|
948
|
+
# for the United States).
|
949
|
+
# Corresponds to the JSON property `dimensions`
|
950
|
+
# @return [Array<String>]
|
951
|
+
attr_accessor :dimensions
|
952
|
+
|
953
|
+
# Filters to apply to data. The filtering expression follows [AIP-160](https://
|
954
|
+
# google.aip.dev/160) standard and supports filtering by equality of all
|
955
|
+
# breakdown dimensions.
|
956
|
+
# Corresponds to the JSON property `filter`
|
957
|
+
# @return [String]
|
958
|
+
attr_accessor :filter
|
959
|
+
|
960
|
+
# Metrics to aggregate. **Supported metrics:** * `excessiveWakeupRate` (`google.
|
961
|
+
# type.Decimal`): Percentage of distinct users in the aggregation period that
|
962
|
+
# had more than 10 wakeups per hour. If your app exhibits an excessive wakeup
|
963
|
+
# rate equal to or higher than the threshold, it's in the bottom 25% of the top
|
964
|
+
# 1,000 apps on Google Play (by number of installs). * `
|
965
|
+
# excessiveWakeupRate7dUserWeighted` (`google.type.Decimal`): Rolling average
|
966
|
+
# value of `excessiveWakeupRate` in the last 7 days. The daily values are
|
967
|
+
# weighted by the count of distinct users for the day. * `
|
968
|
+
# excessiveWakeupRate28dUserWeighted` (`google.type.Decimal`): Rolling average
|
969
|
+
# value of `excessiveWakeupRate` in the last 28 days. The daily values are
|
970
|
+
# weighted by the count of distinct users for the day. * `distinctUsers` (`
|
971
|
+
# google.type.Decimal`): Count of distinct users in the aggregation period that
|
972
|
+
# were used as normalization value for the `excessiveWakeupRate` metric. A user
|
973
|
+
# is counted in this metric if they app was doing any work on the device, i.e.,
|
974
|
+
# not just active foreground usage but also background work. Care must be taken
|
975
|
+
# not to aggregate this count further, as it may result in users being counted
|
976
|
+
# multiple times.
|
977
|
+
# Corresponds to the JSON property `metrics`
|
978
|
+
# @return [Array<String>]
|
979
|
+
attr_accessor :metrics
|
980
|
+
|
981
|
+
# Maximum size of the returned data. If unspecified, at most 1000 rows will be
|
982
|
+
# returned. The maximum value is 100000; values above 100000 will be coerced to
|
983
|
+
# 100000.
|
984
|
+
# Corresponds to the JSON property `pageSize`
|
985
|
+
# @return [Fixnum]
|
986
|
+
attr_accessor :page_size
|
987
|
+
|
988
|
+
# A page token, received from a previous call. Provide this to retrieve the
|
989
|
+
# subsequent page. When paginating, all other parameters provided to the request
|
990
|
+
# must match the call that provided the page token.
|
991
|
+
# Corresponds to the JSON property `pageToken`
|
992
|
+
# @return [String]
|
993
|
+
attr_accessor :page_token
|
994
|
+
|
995
|
+
# Specification of the time-related aggregation parameters of a timeline.
|
996
|
+
# Timelines have an aggregation period (`DAILY`, `HOURLY`, etc) which defines
|
997
|
+
# how events are aggregated in metrics. The points in a timeline are defined by
|
998
|
+
# the starting DateTime of the aggregation period. The duration is implicit in
|
999
|
+
# the AggregationPeriod. Hourly aggregation periods, when supported by a metric
|
1000
|
+
# set, are always specified in UTC to avoid ambiguities around daylight saving
|
1001
|
+
# time transitions, where an hour is skipped when adopting DST, and repeated
|
1002
|
+
# when abandoning DST. For example, the timestamp '2021-11-07 01:00:00 America/
|
1003
|
+
# Los_Angeles' is ambiguous since it can correspond to '2021-11-07 08:00:00 UTC'
|
1004
|
+
# or '2021-11-07 09:00:00 UTC'. Daily aggregation periods require specifying a
|
1005
|
+
# timezone which will determine the precise instants of the start and the end of
|
1006
|
+
# the day. Not all metric sets support all timezones, so make sure to check
|
1007
|
+
# which timezones are supported by the metric set you want to query.
|
1008
|
+
# Corresponds to the JSON property `timelineSpec`
|
1009
|
+
# @return [Google::Apis::PlaydeveloperreportingV1alpha1::GooglePlayDeveloperReportingV1alpha1TimelineSpec]
|
1010
|
+
attr_accessor :timeline_spec
|
1011
|
+
|
1012
|
+
def initialize(**args)
|
1013
|
+
update!(**args)
|
1014
|
+
end
|
1015
|
+
|
1016
|
+
# Update properties of this object
|
1017
|
+
def update!(**args)
|
1018
|
+
@dimensions = args[:dimensions] if args.key?(:dimensions)
|
1019
|
+
@filter = args[:filter] if args.key?(:filter)
|
1020
|
+
@metrics = args[:metrics] if args.key?(:metrics)
|
1021
|
+
@page_size = args[:page_size] if args.key?(:page_size)
|
1022
|
+
@page_token = args[:page_token] if args.key?(:page_token)
|
1023
|
+
@timeline_spec = args[:timeline_spec] if args.key?(:timeline_spec)
|
1024
|
+
end
|
1025
|
+
end
|
1026
|
+
|
1027
|
+
# Response message for QueryExcessiveWakeupRateMetricSet.
|
1028
|
+
class GooglePlayDeveloperReportingV1alpha1QueryExcessiveWakeupRateMetricSetResponse
|
1029
|
+
include Google::Apis::Core::Hashable
|
1030
|
+
|
1031
|
+
# Continuation token to fetch the next page of data.
|
1032
|
+
# Corresponds to the JSON property `nextPageToken`
|
1033
|
+
# @return [String]
|
1034
|
+
attr_accessor :next_page_token
|
1035
|
+
|
1036
|
+
# Returned rows of data.
|
1037
|
+
# Corresponds to the JSON property `rows`
|
1038
|
+
# @return [Array<Google::Apis::PlaydeveloperreportingV1alpha1::GooglePlayDeveloperReportingV1alpha1MetricsRow>]
|
1039
|
+
attr_accessor :rows
|
1040
|
+
|
1041
|
+
def initialize(**args)
|
1042
|
+
update!(**args)
|
1043
|
+
end
|
1044
|
+
|
1045
|
+
# Update properties of this object
|
1046
|
+
def update!(**args)
|
1047
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1048
|
+
@rows = args[:rows] if args.key?(:rows)
|
1049
|
+
end
|
1050
|
+
end
|
1051
|
+
|
1052
|
+
# Request message for QueryStuckBackgroundWakelockRateMetricSet.
|
1053
|
+
class GooglePlayDeveloperReportingV1alpha1QueryStuckBackgroundWakelockRateMetricSetRequest
|
1054
|
+
include Google::Apis::Core::Hashable
|
1055
|
+
|
1056
|
+
# Dimensions to slice the data by. **Supported dimensions:** * `apiLevel` (
|
1057
|
+
# string): the API level of Android that was running on the user's device. * `
|
1058
|
+
# versionCode` (int64): version of the app that was running on the user's device.
|
1059
|
+
# * `deviceModel` (string): unique identifier of the user's device model. * `
|
1060
|
+
# deviceType` (string): the type (also known as form factor) of the user's
|
1061
|
+
# device. * `countryCode` (string): the country or region of the user's device
|
1062
|
+
# based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US
|
1063
|
+
# for the United States).
|
1064
|
+
# Corresponds to the JSON property `dimensions`
|
1065
|
+
# @return [Array<String>]
|
1066
|
+
attr_accessor :dimensions
|
1067
|
+
|
1068
|
+
# Filters to apply to data. The filtering expression follows [AIP-160](https://
|
1069
|
+
# google.aip.dev/160) standard and supports filtering by equality of all
|
1070
|
+
# breakdown dimensions.
|
1071
|
+
# Corresponds to the JSON property `filter`
|
1072
|
+
# @return [String]
|
1073
|
+
attr_accessor :filter
|
1074
|
+
|
1075
|
+
# Metrics to aggregate. **Supported metrics:** * `stuckBgWakelockRate` (`google.
|
1076
|
+
# type.Decimal`): Percentage of distinct users in the aggregation period that
|
1077
|
+
# had a wakelock held in the background for longer than 1 hour. If your app
|
1078
|
+
# exhibits a stuck background wakelock rate equal to or higher than the
|
1079
|
+
# threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by
|
1080
|
+
# number of installs). * `stuckBgWakelockRate7dUserWeighted` (`google.type.
|
1081
|
+
# Decimal`): Rolling average value of `stuckBgWakelockRate` in the last 7 days.
|
1082
|
+
# The daily values are weighted by the count of distinct users for the day. * `
|
1083
|
+
# stuckBgWakelockRate28dUserWeighted` (`google.type.Decimal`): Rolling average
|
1084
|
+
# value of `stuckBgWakelockRate` in the last 28 days. The daily values are
|
1085
|
+
# weighted by the count of distinct users for the day. * `distinctUsers` (`
|
1086
|
+
# google.type.Decimal`): Count of distinct users in the aggregation period that
|
1087
|
+
# were used as normalization value for the `stuckBgWakelockRate` metric. A user
|
1088
|
+
# is counted in this metric if they app was doing any work on the device, i.e.,
|
1089
|
+
# not just active foreground usage but also background work. Care must be taken
|
1090
|
+
# not to aggregate this count further, as it may result in users being counted
|
1091
|
+
# multiple times.
|
1092
|
+
# Corresponds to the JSON property `metrics`
|
1093
|
+
# @return [Array<String>]
|
1094
|
+
attr_accessor :metrics
|
1095
|
+
|
1096
|
+
# Maximum size of the returned data. If unspecified, at most 1000 rows will be
|
1097
|
+
# returned. The maximum value is 100000; values above 100000 will be coerced to
|
1098
|
+
# 100000.
|
1099
|
+
# Corresponds to the JSON property `pageSize`
|
1100
|
+
# @return [Fixnum]
|
1101
|
+
attr_accessor :page_size
|
1102
|
+
|
1103
|
+
# A page token, received from a previous call. Provide this to retrieve the
|
1104
|
+
# subsequent page. When paginating, all other parameters provided to the request
|
1105
|
+
# must match the call that provided the page token.
|
1106
|
+
# Corresponds to the JSON property `pageToken`
|
1107
|
+
# @return [String]
|
1108
|
+
attr_accessor :page_token
|
1109
|
+
|
1110
|
+
# Specification of the time-related aggregation parameters of a timeline.
|
1111
|
+
# Timelines have an aggregation period (`DAILY`, `HOURLY`, etc) which defines
|
1112
|
+
# how events are aggregated in metrics. The points in a timeline are defined by
|
1113
|
+
# the starting DateTime of the aggregation period. The duration is implicit in
|
1114
|
+
# the AggregationPeriod. Hourly aggregation periods, when supported by a metric
|
1115
|
+
# set, are always specified in UTC to avoid ambiguities around daylight saving
|
1116
|
+
# time transitions, where an hour is skipped when adopting DST, and repeated
|
1117
|
+
# when abandoning DST. For example, the timestamp '2021-11-07 01:00:00 America/
|
1118
|
+
# Los_Angeles' is ambiguous since it can correspond to '2021-11-07 08:00:00 UTC'
|
1119
|
+
# or '2021-11-07 09:00:00 UTC'. Daily aggregation periods require specifying a
|
1120
|
+
# timezone which will determine the precise instants of the start and the end of
|
1121
|
+
# the day. Not all metric sets support all timezones, so make sure to check
|
1122
|
+
# which timezones are supported by the metric set you want to query.
|
1123
|
+
# Corresponds to the JSON property `timelineSpec`
|
1124
|
+
# @return [Google::Apis::PlaydeveloperreportingV1alpha1::GooglePlayDeveloperReportingV1alpha1TimelineSpec]
|
1125
|
+
attr_accessor :timeline_spec
|
1126
|
+
|
1127
|
+
def initialize(**args)
|
1128
|
+
update!(**args)
|
1129
|
+
end
|
1130
|
+
|
1131
|
+
# Update properties of this object
|
1132
|
+
def update!(**args)
|
1133
|
+
@dimensions = args[:dimensions] if args.key?(:dimensions)
|
1134
|
+
@filter = args[:filter] if args.key?(:filter)
|
1135
|
+
@metrics = args[:metrics] if args.key?(:metrics)
|
1136
|
+
@page_size = args[:page_size] if args.key?(:page_size)
|
1137
|
+
@page_token = args[:page_token] if args.key?(:page_token)
|
1138
|
+
@timeline_spec = args[:timeline_spec] if args.key?(:timeline_spec)
|
1139
|
+
end
|
1140
|
+
end
|
1141
|
+
|
1142
|
+
# Response message for QueryStuckBackgroundWakelockRateMetricSet.
|
1143
|
+
class GooglePlayDeveloperReportingV1alpha1QueryStuckBackgroundWakelockRateMetricSetResponse
|
1144
|
+
include Google::Apis::Core::Hashable
|
1145
|
+
|
1146
|
+
# Continuation token to fetch the next page of data.
|
1147
|
+
# Corresponds to the JSON property `nextPageToken`
|
1148
|
+
# @return [String]
|
1149
|
+
attr_accessor :next_page_token
|
1150
|
+
|
1151
|
+
# Returned rows of data.
|
1152
|
+
# Corresponds to the JSON property `rows`
|
1153
|
+
# @return [Array<Google::Apis::PlaydeveloperreportingV1alpha1::GooglePlayDeveloperReportingV1alpha1MetricsRow>]
|
1154
|
+
attr_accessor :rows
|
1155
|
+
|
1156
|
+
def initialize(**args)
|
1157
|
+
update!(**args)
|
1158
|
+
end
|
1159
|
+
|
1160
|
+
# Update properties of this object
|
1161
|
+
def update!(**args)
|
1162
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1163
|
+
@rows = args[:rows] if args.key?(:rows)
|
1164
|
+
end
|
1165
|
+
end
|
1166
|
+
|
1167
|
+
# Response with a paginated list of issues that matched the request.
|
1168
|
+
class GooglePlayDeveloperReportingV1alpha1SearchErrorIssuesResponse
|
1169
|
+
include Google::Apis::Core::Hashable
|
1170
|
+
|
1171
|
+
# ErrorIssues that were found.
|
1172
|
+
# Corresponds to the JSON property `errorIssues`
|
1173
|
+
# @return [Array<Google::Apis::PlaydeveloperreportingV1alpha1::GooglePlayDeveloperReportingV1alpha1ErrorIssue>]
|
1174
|
+
attr_accessor :error_issues
|
1175
|
+
|
1176
|
+
# Continuation token to fetch the next page of data.
|
1177
|
+
# Corresponds to the JSON property `nextPageToken`
|
1178
|
+
# @return [String]
|
1179
|
+
attr_accessor :next_page_token
|
1180
|
+
|
1181
|
+
def initialize(**args)
|
1182
|
+
update!(**args)
|
1183
|
+
end
|
1184
|
+
|
1185
|
+
# Update properties of this object
|
1186
|
+
def update!(**args)
|
1187
|
+
@error_issues = args[:error_issues] if args.key?(:error_issues)
|
1188
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1189
|
+
end
|
1190
|
+
end
|
1191
|
+
|
1192
|
+
# Response with a paginated list of error reports matching the search query.
|
1193
|
+
class GooglePlayDeveloperReportingV1alpha1SearchErrorReportsResponse
|
1194
|
+
include Google::Apis::Core::Hashable
|
1195
|
+
|
1196
|
+
# Error reports that were found.
|
1197
|
+
# Corresponds to the JSON property `errorReports`
|
1198
|
+
# @return [Array<Google::Apis::PlaydeveloperreportingV1alpha1::GooglePlayDeveloperReportingV1alpha1ErrorReport>]
|
1199
|
+
attr_accessor :error_reports
|
1200
|
+
|
1201
|
+
# Page token to fetch the next page of reports.
|
1202
|
+
# Corresponds to the JSON property `nextPageToken`
|
1203
|
+
# @return [String]
|
1204
|
+
attr_accessor :next_page_token
|
1205
|
+
|
1206
|
+
def initialize(**args)
|
1207
|
+
update!(**args)
|
1208
|
+
end
|
1209
|
+
|
1210
|
+
# Update properties of this object
|
1211
|
+
def update!(**args)
|
1212
|
+
@error_reports = args[:error_reports] if args.key?(:error_reports)
|
1213
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1214
|
+
end
|
1215
|
+
end
|
1216
|
+
|
1217
|
+
# Singleton resource representing the set of Stuck Background Wakelocks metrics.
|
1218
|
+
# This metric set contains PowerManager wakelock duration data combined with
|
1219
|
+
# process state data to produce a normalized metric independent of user counts. *
|
1220
|
+
# *Supported aggregation periods:** * DAILY: metrics are aggregated in calendar
|
1221
|
+
# date intervals. Due to historical constraints, the only supported timezone is `
|
1222
|
+
# America/Los_Angeles`. **Supported metrics:** * `stuckBgWakelockRate` (`google.
|
1223
|
+
# type.Decimal`): Percentage of distinct users in the aggregation period that
|
1224
|
+
# had a wakelock held in the background for longer than 1 hour. If your app
|
1225
|
+
# exhibits a stuck background wakelocks rate equal to or higher than the
|
1226
|
+
# threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by
|
1227
|
+
# number of installs). * `stuckBgWakelockRate7dUserWeighted` (`google.type.
|
1228
|
+
# Decimal`): Rolling average value of `stuckBgWakelockRate` in the last 7 days.
|
1229
|
+
# The daily values are weighted by the count of distinct users for the day. * `
|
1230
|
+
# stuckBgWakelockRate28dUserWeighted` (`google.type.Decimal`): Rolling average
|
1231
|
+
# value of `stuckBgWakelockRate` in the last 28 days. The daily values are
|
1232
|
+
# weighted by the count of distinct users for the day. * `distinctUsers` (`
|
1233
|
+
# google.type.Decimal`): Count of distinct users in the aggregation period that
|
1234
|
+
# were used as normalization value for the `stuckBgWakelockRate` metric. A user
|
1235
|
+
# is counted in this metric if their app was doing any work on the device, i.e.,
|
1236
|
+
# not just active foreground usage but also background work. Care must be taken
|
1237
|
+
# not to aggregate this count further, as it may result in users being counted
|
1238
|
+
# multiple times. **Supported dimensions:** * `apiLevel` (string): the API level
|
1239
|
+
# of Android that was running on the user's device. * `versionCode` (int64):
|
1240
|
+
# version of the app that was running on the user's device. * `deviceModel` (
|
1241
|
+
# string): unique identifier of the user's device model. * `deviceType` (string):
|
1242
|
+
# the type (also known as form factor) of the user's device. * `countryCode` (
|
1243
|
+
# string): the country or region of the user's device based on their IP address,
|
1244
|
+
# represented as a 2-letter ISO-3166 code (e.g. US for the United States). **
|
1245
|
+
# Required permissions**: to access this resource, the calling user needs the
|
1246
|
+
# _View app information (read-only)_ permission for the app.
|
1247
|
+
class GooglePlayDeveloperReportingV1alpha1StuckBackgroundWakelockRateMetricSet
|
1248
|
+
include Google::Apis::Core::Hashable
|
1249
|
+
|
1250
|
+
# Represents the latest available time that can be requested in a TimelineSpec.
|
1251
|
+
# Different aggregation periods have different freshness. For example, `DAILY`
|
1252
|
+
# aggregation may lag behind `HOURLY` in cases where such aggregation is
|
1253
|
+
# computed only once at the end of the day.
|
1254
|
+
# Corresponds to the JSON property `freshnessInfo`
|
1255
|
+
# @return [Google::Apis::PlaydeveloperreportingV1alpha1::GooglePlayDeveloperReportingV1alpha1FreshnessInfo]
|
1256
|
+
attr_accessor :freshness_info
|
1257
|
+
|
1258
|
+
# The resource name. Format: apps/`app`/stuckBackgroundWakelockRateMetricSet
|
1259
|
+
# Corresponds to the JSON property `name`
|
1260
|
+
# @return [String]
|
1261
|
+
attr_accessor :name
|
1262
|
+
|
1263
|
+
def initialize(**args)
|
1264
|
+
update!(**args)
|
1265
|
+
end
|
1266
|
+
|
1267
|
+
# Update properties of this object
|
1268
|
+
def update!(**args)
|
1269
|
+
@freshness_info = args[:freshness_info] if args.key?(:freshness_info)
|
1270
|
+
@name = args[:name] if args.key?(:name)
|
1271
|
+
end
|
1272
|
+
end
|
1273
|
+
|
1274
|
+
# Specification of the time-related aggregation parameters of a timeline.
|
1275
|
+
# Timelines have an aggregation period (`DAILY`, `HOURLY`, etc) which defines
|
1276
|
+
# how events are aggregated in metrics. The points in a timeline are defined by
|
1277
|
+
# the starting DateTime of the aggregation period. The duration is implicit in
|
1278
|
+
# the AggregationPeriod. Hourly aggregation periods, when supported by a metric
|
1279
|
+
# set, are always specified in UTC to avoid ambiguities around daylight saving
|
1280
|
+
# time transitions, where an hour is skipped when adopting DST, and repeated
|
1281
|
+
# when abandoning DST. For example, the timestamp '2021-11-07 01:00:00 America/
|
1282
|
+
# Los_Angeles' is ambiguous since it can correspond to '2021-11-07 08:00:00 UTC'
|
1283
|
+
# or '2021-11-07 09:00:00 UTC'. Daily aggregation periods require specifying a
|
1284
|
+
# timezone which will determine the precise instants of the start and the end of
|
1285
|
+
# the day. Not all metric sets support all timezones, so make sure to check
|
1286
|
+
# which timezones are supported by the metric set you want to query.
|
1287
|
+
class GooglePlayDeveloperReportingV1alpha1TimelineSpec
|
1288
|
+
include Google::Apis::Core::Hashable
|
1289
|
+
|
1290
|
+
# Type of the aggregation period of the datapoints in the timeline. Intervals
|
1291
|
+
# are identified by the date and time at the start of the interval.
|
1292
|
+
# Corresponds to the JSON property `aggregationPeriod`
|
1293
|
+
# @return [String]
|
1294
|
+
attr_accessor :aggregation_period
|
1295
|
+
|
1296
|
+
# Represents civil time (or occasionally physical time). This type can represent
|
1297
|
+
# a civil time in one of a few possible ways: * When utc_offset is set and
|
1298
|
+
# time_zone is unset: a civil time on a calendar day with a particular offset
|
1299
|
+
# from UTC. * When time_zone is set and utc_offset is unset: a civil time on a
|
1300
|
+
# calendar day in a particular time zone. * When neither time_zone nor
|
1301
|
+
# utc_offset is set: a civil time on a calendar day in local time. The date is
|
1302
|
+
# relative to the Proleptic Gregorian Calendar. If year is 0, the DateTime is
|
1303
|
+
# considered not to have a specific year. month and day must have valid, non-
|
1304
|
+
# zero values. This type may also be used to represent a physical time if all
|
1305
|
+
# the date and time fields are set and either case of the `time_offset` oneof is
|
1306
|
+
# set. Consider using `Timestamp` message for physical time instead. If your use
|
1307
|
+
# case also would like to store the user's timezone, that can be done in another
|
1308
|
+
# field. This type is more flexible than some applications may want. Make sure
|
1309
|
+
# to document and validate your application's limitations.
|
1310
|
+
# Corresponds to the JSON property `endTime`
|
1311
|
+
# @return [Google::Apis::PlaydeveloperreportingV1alpha1::GoogleTypeDateTime]
|
1312
|
+
attr_accessor :end_time
|
1313
|
+
|
1314
|
+
# Represents civil time (or occasionally physical time). This type can represent
|
1315
|
+
# a civil time in one of a few possible ways: * When utc_offset is set and
|
1316
|
+
# time_zone is unset: a civil time on a calendar day with a particular offset
|
1317
|
+
# from UTC. * When time_zone is set and utc_offset is unset: a civil time on a
|
1318
|
+
# calendar day in a particular time zone. * When neither time_zone nor
|
1319
|
+
# utc_offset is set: a civil time on a calendar day in local time. The date is
|
1320
|
+
# relative to the Proleptic Gregorian Calendar. If year is 0, the DateTime is
|
1321
|
+
# considered not to have a specific year. month and day must have valid, non-
|
1322
|
+
# zero values. This type may also be used to represent a physical time if all
|
1323
|
+
# the date and time fields are set and either case of the `time_offset` oneof is
|
1324
|
+
# set. Consider using `Timestamp` message for physical time instead. If your use
|
1325
|
+
# case also would like to store the user's timezone, that can be done in another
|
1326
|
+
# field. This type is more flexible than some applications may want. Make sure
|
1327
|
+
# to document and validate your application's limitations.
|
1328
|
+
# Corresponds to the JSON property `startTime`
|
1329
|
+
# @return [Google::Apis::PlaydeveloperreportingV1alpha1::GoogleTypeDateTime]
|
1330
|
+
attr_accessor :start_time
|
1331
|
+
|
1332
|
+
def initialize(**args)
|
1333
|
+
update!(**args)
|
1334
|
+
end
|
1335
|
+
|
1336
|
+
# Update properties of this object
|
1337
|
+
def update!(**args)
|
1338
|
+
@aggregation_period = args[:aggregation_period] if args.key?(:aggregation_period)
|
1339
|
+
@end_time = args[:end_time] if args.key?(:end_time)
|
1340
|
+
@start_time = args[:start_time] if args.key?(:start_time)
|
1341
|
+
end
|
1342
|
+
end
|
1343
|
+
|
1344
|
+
# Represents civil time (or occasionally physical time). This type can represent
|
1345
|
+
# a civil time in one of a few possible ways: * When utc_offset is set and
|
1346
|
+
# time_zone is unset: a civil time on a calendar day with a particular offset
|
1347
|
+
# from UTC. * When time_zone is set and utc_offset is unset: a civil time on a
|
1348
|
+
# calendar day in a particular time zone. * When neither time_zone nor
|
1349
|
+
# utc_offset is set: a civil time on a calendar day in local time. The date is
|
1350
|
+
# relative to the Proleptic Gregorian Calendar. If year is 0, the DateTime is
|
1351
|
+
# considered not to have a specific year. month and day must have valid, non-
|
1352
|
+
# zero values. This type may also be used to represent a physical time if all
|
1353
|
+
# the date and time fields are set and either case of the `time_offset` oneof is
|
1354
|
+
# set. Consider using `Timestamp` message for physical time instead. If your use
|
1355
|
+
# case also would like to store the user's timezone, that can be done in another
|
1356
|
+
# field. This type is more flexible than some applications may want. Make sure
|
1357
|
+
# to document and validate your application's limitations.
|
1358
|
+
class GoogleTypeDateTime
|
1359
|
+
include Google::Apis::Core::Hashable
|
1360
|
+
|
1361
|
+
# Required. Day of month. Must be from 1 to 31 and valid for the year and month.
|
1362
|
+
# Corresponds to the JSON property `day`
|
1363
|
+
# @return [Fixnum]
|
1364
|
+
attr_accessor :day
|
1365
|
+
|
1366
|
+
# Required. Hours of day in 24 hour format. Should be from 0 to 23. An API may
|
1367
|
+
# choose to allow the value "24:00:00" for scenarios like business closing time.
|
1368
|
+
# Corresponds to the JSON property `hours`
|
1369
|
+
# @return [Fixnum]
|
1370
|
+
attr_accessor :hours
|
1371
|
+
|
1372
|
+
# Required. Minutes of hour of day. Must be from 0 to 59.
|
1373
|
+
# Corresponds to the JSON property `minutes`
|
1374
|
+
# @return [Fixnum]
|
1375
|
+
attr_accessor :minutes
|
1376
|
+
|
1377
|
+
# Required. Month of year. Must be from 1 to 12.
|
1378
|
+
# Corresponds to the JSON property `month`
|
1379
|
+
# @return [Fixnum]
|
1380
|
+
attr_accessor :month
|
1381
|
+
|
1382
|
+
# Required. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
|
1383
|
+
# Corresponds to the JSON property `nanos`
|
1384
|
+
# @return [Fixnum]
|
1385
|
+
attr_accessor :nanos
|
1386
|
+
|
1387
|
+
# Required. Seconds of minutes of the time. Must normally be from 0 to 59. An
|
1388
|
+
# API may allow the value 60 if it allows leap-seconds.
|
1389
|
+
# Corresponds to the JSON property `seconds`
|
1390
|
+
# @return [Fixnum]
|
1391
|
+
attr_accessor :seconds
|
1392
|
+
|
1393
|
+
# Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/
|
1394
|
+
# time-zones).
|
1395
|
+
# Corresponds to the JSON property `timeZone`
|
1396
|
+
# @return [Google::Apis::PlaydeveloperreportingV1alpha1::GoogleTypeTimeZone]
|
1397
|
+
attr_accessor :time_zone
|
1398
|
+
|
1399
|
+
# UTC offset. Must be whole seconds, between -18 hours and +18 hours. For
|
1400
|
+
# example, a UTC offset of -4:00 would be represented as ` seconds: -14400 `.
|
1401
|
+
# Corresponds to the JSON property `utcOffset`
|
1402
|
+
# @return [String]
|
1403
|
+
attr_accessor :utc_offset
|
1404
|
+
|
1405
|
+
# Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime
|
1406
|
+
# without a year.
|
1407
|
+
# Corresponds to the JSON property `year`
|
1408
|
+
# @return [Fixnum]
|
1409
|
+
attr_accessor :year
|
1410
|
+
|
1411
|
+
def initialize(**args)
|
1412
|
+
update!(**args)
|
1413
|
+
end
|
1414
|
+
|
1415
|
+
# Update properties of this object
|
1416
|
+
def update!(**args)
|
1417
|
+
@day = args[:day] if args.key?(:day)
|
1418
|
+
@hours = args[:hours] if args.key?(:hours)
|
1419
|
+
@minutes = args[:minutes] if args.key?(:minutes)
|
1420
|
+
@month = args[:month] if args.key?(:month)
|
1421
|
+
@nanos = args[:nanos] if args.key?(:nanos)
|
1422
|
+
@seconds = args[:seconds] if args.key?(:seconds)
|
1423
|
+
@time_zone = args[:time_zone] if args.key?(:time_zone)
|
1424
|
+
@utc_offset = args[:utc_offset] if args.key?(:utc_offset)
|
1425
|
+
@year = args[:year] if args.key?(:year)
|
1426
|
+
end
|
1427
|
+
end
|
1428
|
+
|
1429
|
+
# A representation of a decimal value, such as 2.5. Clients may convert values
|
1430
|
+
# into language-native decimal formats, such as Java's BigDecimal or Python's
|
1431
|
+
# decimal.Decimal. [BigDecimal]: https://docs.oracle.com/en/java/javase/11/docs/
|
1432
|
+
# api/java.base/java/math/BigDecimal.html [decimal.Decimal]: https://docs.python.
|
1433
|
+
# org/3/library/decimal.html
|
1434
|
+
class GoogleTypeDecimal
|
1435
|
+
include Google::Apis::Core::Hashable
|
1436
|
+
|
1437
|
+
# The decimal value, as a string. The string representation consists of an
|
1438
|
+
# optional sign, `+` (`U+002B`) or `-` (`U+002D`), followed by a sequence of
|
1439
|
+
# zero or more decimal digits ("the integer"), optionally followed by a fraction,
|
1440
|
+
# optionally followed by an exponent. The fraction consists of a decimal point
|
1441
|
+
# followed by zero or more decimal digits. The string must contain at least one
|
1442
|
+
# digit in either the integer or the fraction. The number formed by the sign,
|
1443
|
+
# the integer and the fraction is referred to as the significand. The exponent
|
1444
|
+
# consists of the character `e` (`U+0065`) or `E` (`U+0045`) followed by one or
|
1445
|
+
# more decimal digits. Services **should** normalize decimal values before
|
1446
|
+
# storing them by: - Removing an explicitly-provided `+` sign (`+2.5` -> `2.5`).
|
1447
|
+
# - Replacing a zero-length integer value with `0` (`.5` -> `0.5`). - Coercing
|
1448
|
+
# the exponent character to lower-case (`2.5E8` -> `2.5e8`). - Removing an
|
1449
|
+
# explicitly-provided zero exponent (`2.5e0` -> `2.5`). Services **may** perform
|
1450
|
+
# additional normalization based on its own needs and the internal decimal
|
1451
|
+
# implementation selected, such as shifting the decimal point and exponent value
|
1452
|
+
# together (example: `2.5e-1` <-> `0.25`). Additionally, services **may**
|
1453
|
+
# preserve trailing zeroes in the fraction to indicate increased precision, but
|
1454
|
+
# are not required to do so. Note that only the `.` character is supported to
|
1455
|
+
# divide the integer and the fraction; `,` **should not** be supported
|
1456
|
+
# regardless of locale. Additionally, thousand separators **should not** be
|
1457
|
+
# supported. If a service does support them, values **must** be normalized. The
|
1458
|
+
# ENBF grammar is: DecimalString = [Sign] Significand [Exponent]; Sign = '+' | '-
|
1459
|
+
# '; Significand = Digits '.' | [Digits] '.' Digits; Exponent = ('e' | 'E') [
|
1460
|
+
# Sign] Digits; Digits = ` '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' |
|
1461
|
+
# '9' `; Services **should** clearly document the range of supported values, the
|
1462
|
+
# maximum supported precision (total number of digits), and, if applicable, the
|
1463
|
+
# scale (number of digits after the decimal point), as well as how it behaves
|
1464
|
+
# when receiving out-of-bounds values. Services **may** choose to accept values
|
1465
|
+
# passed as input even when the value has a higher precision or scale than the
|
1466
|
+
# service supports, and **should** round the value to fit the supported scale.
|
1467
|
+
# Alternatively, the service **may** error with `400 Bad Request` (`
|
1468
|
+
# INVALID_ARGUMENT` in gRPC) if precision would be lost. Services **should**
|
1469
|
+
# error with `400 Bad Request` (`INVALID_ARGUMENT` in gRPC) if the service
|
1470
|
+
# receives a value outside of the supported range.
|
1471
|
+
# Corresponds to the JSON property `value`
|
1472
|
+
# @return [String]
|
1473
|
+
attr_accessor :value
|
1474
|
+
|
1475
|
+
def initialize(**args)
|
1476
|
+
update!(**args)
|
1477
|
+
end
|
1478
|
+
|
1479
|
+
# Update properties of this object
|
1480
|
+
def update!(**args)
|
1481
|
+
@value = args[:value] if args.key?(:value)
|
1482
|
+
end
|
1483
|
+
end
|
1484
|
+
|
1485
|
+
# Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/
|
1486
|
+
# time-zones).
|
1487
|
+
class GoogleTypeTimeZone
|
1488
|
+
include Google::Apis::Core::Hashable
|
1489
|
+
|
1490
|
+
# IANA Time Zone Database time zone, e.g. "America/New_York".
|
1491
|
+
# Corresponds to the JSON property `id`
|
1492
|
+
# @return [String]
|
1493
|
+
attr_accessor :id
|
1494
|
+
|
1495
|
+
# Optional. IANA Time Zone Database version number, e.g. "2019a".
|
1496
|
+
# Corresponds to the JSON property `version`
|
1497
|
+
# @return [String]
|
1498
|
+
attr_accessor :version
|
1499
|
+
|
1500
|
+
def initialize(**args)
|
1501
|
+
update!(**args)
|
1502
|
+
end
|
1503
|
+
|
1504
|
+
# Update properties of this object
|
1505
|
+
def update!(**args)
|
1506
|
+
@id = args[:id] if args.key?(:id)
|
1507
|
+
@version = args[:version] if args.key?(:version)
|
1508
|
+
end
|
1509
|
+
end
|
1510
|
+
end
|
1511
|
+
end
|
1512
|
+
end
|