google-apis-firebasecrashlytics_v1alpha 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.
@@ -0,0 +1,1564 @@
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 FirebasecrashlyticsV1alpha
24
+
25
+ # Response message for the BatchGetEvents method.
26
+ class BatchGetEventsResponse
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # The list of retrieved events.
30
+ # Corresponds to the JSON property `events`
31
+ # @return [Array<Google::Apis::FirebasecrashlyticsV1alpha::Event>]
32
+ attr_accessor :events
33
+
34
+ def initialize(**args)
35
+ update!(**args)
36
+ end
37
+
38
+ # Update properties of this object
39
+ def update!(**args)
40
+ @events = args[:events] if args.key?(:events)
41
+ end
42
+ end
43
+
44
+ # Request message for the BatchUpdateIssues method.
45
+ class BatchUpdateIssuesRequest
46
+ include Google::Apis::Core::Hashable
47
+
48
+ # Required. The request message specifying the resources to update. A maximum of
49
+ # 100 issues can be modified in a batch.
50
+ # Corresponds to the JSON property `requests`
51
+ # @return [Array<Google::Apis::FirebasecrashlyticsV1alpha::UpdateIssueRequest>]
52
+ attr_accessor :requests
53
+
54
+ # Optional. The list of Issue fields to update. If this is set, the update_mask
55
+ # field in the UpdateIssueRequest messages must either be empty or match this
56
+ # field.
57
+ # Corresponds to the JSON property `updateMask`
58
+ # @return [String]
59
+ attr_accessor :update_mask
60
+
61
+ def initialize(**args)
62
+ update!(**args)
63
+ end
64
+
65
+ # Update properties of this object
66
+ def update!(**args)
67
+ @requests = args[:requests] if args.key?(:requests)
68
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
69
+ end
70
+ end
71
+
72
+ # Response message for the BatchUpdateIssues method.
73
+ class BatchUpdateIssuesResponse
74
+ include Google::Apis::Core::Hashable
75
+
76
+ # Issues updated in the same order as in BatchUpdateIssuesRequest.
77
+ # Corresponds to the JSON property `issues`
78
+ # @return [Array<Google::Apis::FirebasecrashlyticsV1alpha::Issue>]
79
+ attr_accessor :issues
80
+
81
+ def initialize(**args)
82
+ update!(**args)
83
+ end
84
+
85
+ # Update properties of this object
86
+ def update!(**args)
87
+ @issues = args[:issues] if args.key?(:issues)
88
+ end
89
+ end
90
+
91
+ # Analytics events recorded during the session.
92
+ class Breadcrumb
93
+ include Google::Apis::Core::Hashable
94
+
95
+ # Device timestamp for the event.
96
+ # Corresponds to the JSON property `eventTime`
97
+ # @return [String]
98
+ attr_accessor :event_time
99
+
100
+ # Event parameters.
101
+ # Corresponds to the JSON property `params`
102
+ # @return [Hash<String,String>]
103
+ attr_accessor :params
104
+
105
+ # Analytic event name.
106
+ # Corresponds to the JSON property `title`
107
+ # @return [String]
108
+ attr_accessor :title
109
+
110
+ def initialize(**args)
111
+ update!(**args)
112
+ end
113
+
114
+ # Update properties of this object
115
+ def update!(**args)
116
+ @event_time = args[:event_time] if args.key?(:event_time)
117
+ @params = args[:params] if args.key?(:params)
118
+ @title = args[:title] if args.key?(:title)
119
+ end
120
+ end
121
+
122
+ # Web browser metadata.
123
+ class Browser
124
+ include Google::Apis::Core::Hashable
125
+
126
+ # Browser name.
127
+ # Corresponds to the JSON property `browser`
128
+ # @return [String]
129
+ attr_accessor :browser
130
+
131
+ # Browser name and version number. Formatted to be suitable for passing to
132
+ # BrowserFilter.
133
+ # Corresponds to the JSON property `displayName`
134
+ # @return [String]
135
+ attr_accessor :display_name
136
+
137
+ # Browser display version number.
138
+ # Corresponds to the JSON property `displayVersion`
139
+ # @return [String]
140
+ attr_accessor :display_version
141
+
142
+ def initialize(**args)
143
+ update!(**args)
144
+ end
145
+
146
+ # Update properties of this object
147
+ def update!(**args)
148
+ @browser = args[:browser] if args.key?(:browser)
149
+ @display_name = args[:display_name] if args.key?(:display_name)
150
+ @display_version = args[:display_version] if args.key?(:display_version)
151
+ end
152
+ end
153
+
154
+ # Response message for the DeleteUserCrashReports method. All crash reports
155
+ # associated with the specified user will be deleted typically within 24 hours
156
+ # of receiving the crash report.
157
+ class DeleteUserCrashReportsResponse
158
+ include Google::Apis::Core::Hashable
159
+
160
+ # Target time to complete the delete crash reports operation.
161
+ # Corresponds to the JSON property `targetCompleteTime`
162
+ # @return [String]
163
+ attr_accessor :target_complete_time
164
+
165
+ def initialize(**args)
166
+ update!(**args)
167
+ end
168
+
169
+ # Update properties of this object
170
+ def update!(**args)
171
+ @target_complete_time = args[:target_complete_time] if args.key?(:target_complete_time)
172
+ end
173
+ end
174
+
175
+ # Mobile device metadata.
176
+ class Device
177
+ include Google::Apis::Core::Hashable
178
+
179
+ # Device processor architecture.
180
+ # Corresponds to the JSON property `architecture`
181
+ # @return [String]
182
+ attr_accessor :architecture
183
+
184
+ # An invariant name of the manufacturer that submitted this product in its most
185
+ # recognizable public form, e.g. "Google".
186
+ # Corresponds to the JSON property `companyName`
187
+ # @return [String]
188
+ attr_accessor :company_name
189
+
190
+ # Full device name, suitable for passing to DeviceFilter. Format: "manufacturer (
191
+ # model)".
192
+ # Corresponds to the JSON property `displayName`
193
+ # @return [String]
194
+ attr_accessor :display_name
195
+
196
+ # See FormFactor message.
197
+ # Corresponds to the JSON property `formFactor`
198
+ # @return [String]
199
+ attr_accessor :form_factor
200
+
201
+ # Device brand name which is consistent with android.os.Build.BRAND.
202
+ # Corresponds to the JSON property `manufacturer`
203
+ # @return [String]
204
+ attr_accessor :manufacturer
205
+
206
+ # Marketing name, most recognizable public form, e.g. "Pixel 6".
207
+ # Corresponds to the JSON property `marketingName`
208
+ # @return [String]
209
+ attr_accessor :marketing_name
210
+
211
+ # The model name which is consistent with android.os.Build.MODEL, e.g. ("SPH-
212
+ # L710", "GT-I9300").
213
+ # Corresponds to the JSON property `model`
214
+ # @return [String]
215
+ attr_accessor :model
216
+
217
+ def initialize(**args)
218
+ update!(**args)
219
+ end
220
+
221
+ # Update properties of this object
222
+ def update!(**args)
223
+ @architecture = args[:architecture] if args.key?(:architecture)
224
+ @company_name = args[:company_name] if args.key?(:company_name)
225
+ @display_name = args[:display_name] if args.key?(:display_name)
226
+ @form_factor = args[:form_factor] if args.key?(:form_factor)
227
+ @manufacturer = args[:manufacturer] if args.key?(:manufacturer)
228
+ @marketing_name = args[:marketing_name] if args.key?(:marketing_name)
229
+ @model = args[:model] if args.key?(:model)
230
+ end
231
+ end
232
+
233
+ # A generic empty message that you can re-use to avoid defining duplicated empty
234
+ # messages in your APIs. A typical example is to use it as the request or the
235
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
236
+ # protobuf.Empty) returns (google.protobuf.Empty); `
237
+ class Empty
238
+ include Google::Apis::Core::Hashable
239
+
240
+ def initialize(**args)
241
+ update!(**args)
242
+ end
243
+
244
+ # Update properties of this object
245
+ def update!(**args)
246
+ end
247
+ end
248
+
249
+ # A non-fatal error and its stacktrace, only from Apple apps.
250
+ class Error
251
+ include Google::Apis::Core::Hashable
252
+
253
+ # True when the Crashlytics analysis has determined that the stacktrace in this
254
+ # error is where the fault occurred.
255
+ # Corresponds to the JSON property `blamed`
256
+ # @return [Boolean]
257
+ attr_accessor :blamed
258
+ alias_method :blamed?, :blamed
259
+
260
+ # Error code associated with the app's custom logged NSError.
261
+ # Corresponds to the JSON property `code`
262
+ # @return [Fixnum]
263
+ attr_accessor :code
264
+
265
+ # The frames in the error's stacktrace.
266
+ # Corresponds to the JSON property `frames`
267
+ # @return [Array<Google::Apis::FirebasecrashlyticsV1alpha::Frame>]
268
+ attr_accessor :frames
269
+
270
+ # The queue on which the thread was running.
271
+ # Corresponds to the JSON property `queue`
272
+ # @return [String]
273
+ attr_accessor :queue
274
+
275
+ # The subtitle of the error.
276
+ # Corresponds to the JSON property `subtitle`
277
+ # @return [String]
278
+ attr_accessor :subtitle
279
+
280
+ # The title of the error.
281
+ # Corresponds to the JSON property `title`
282
+ # @return [String]
283
+ attr_accessor :title
284
+
285
+ def initialize(**args)
286
+ update!(**args)
287
+ end
288
+
289
+ # Update properties of this object
290
+ def update!(**args)
291
+ @blamed = args[:blamed] if args.key?(:blamed)
292
+ @code = args[:code] if args.key?(:code)
293
+ @frames = args[:frames] if args.key?(:frames)
294
+ @queue = args[:queue] if args.key?(:queue)
295
+ @subtitle = args[:subtitle] if args.key?(:subtitle)
296
+ @title = args[:title] if args.key?(:title)
297
+ end
298
+ end
299
+
300
+ # The message describing a single Crashlytics event. Related to BigQuery export
301
+ # schema, which can be found at [Export Crashlytics data to BigQuery](https://
302
+ # firebase.google.com/docs/crashlytics/bigquery-export#dataset-schema-
303
+ # crashlytics)
304
+ class Event
305
+ include Google::Apis::Core::Hashable
306
+
307
+ # App orientation at the time of the crash (portrait or landscape).
308
+ # Corresponds to the JSON property `appOrientation`
309
+ # @return [String]
310
+ attr_accessor :app_orientation
311
+
312
+ # A frame in a stacktrace.
313
+ # Corresponds to the JSON property `blameFrame`
314
+ # @return [Google::Apis::FirebasecrashlyticsV1alpha::Frame]
315
+ attr_accessor :blame_frame
316
+
317
+ # Analytics events recorded by the analytics SDK during the session.
318
+ # Corresponds to the JSON property `breadcrumbs`
319
+ # @return [Array<Google::Apis::FirebasecrashlyticsV1alpha::Breadcrumb>]
320
+ attr_accessor :breadcrumbs
321
+
322
+ # Web browser metadata.
323
+ # Corresponds to the JSON property `browser`
324
+ # @return [Google::Apis::FirebasecrashlyticsV1alpha::Browser]
325
+ attr_accessor :browser
326
+
327
+ # Metadata provided by the app's build system, including version control
328
+ # repository info.
329
+ # Corresponds to the JSON property `buildStamp`
330
+ # @return [String]
331
+ attr_accessor :build_stamp
332
+
333
+ # The bundle name for iOS apps or the package name of Android apps. Format: "com.
334
+ # mycompany.myapp".
335
+ # Corresponds to the JSON property `bundleOrPackage`
336
+ # @return [String]
337
+ attr_accessor :bundle_or_package
338
+
339
+ # Crashlytics SDK version.
340
+ # Corresponds to the JSON property `crashlyticsSdkVersion`
341
+ # @return [String]
342
+ attr_accessor :crashlytics_sdk_version
343
+
344
+ # Custom keys set by the developer during the session.
345
+ # Corresponds to the JSON property `customKeys`
346
+ # @return [Hash<String,String>]
347
+ attr_accessor :custom_keys
348
+
349
+ # Mobile device metadata.
350
+ # Corresponds to the JSON property `device`
351
+ # @return [Google::Apis::FirebasecrashlyticsV1alpha::Device]
352
+ attr_accessor :device
353
+
354
+ # Device orientation at the time of the crash (portrait or landscape).
355
+ # Corresponds to the JSON property `deviceOrientation`
356
+ # @return [String]
357
+ attr_accessor :device_orientation
358
+
359
+ # Apple only. A non-fatal error captured by the iOS SDK and its stacktrace.
360
+ # Corresponds to the JSON property `errors`
361
+ # @return [Array<Google::Apis::FirebasecrashlyticsV1alpha::Error>]
362
+ attr_accessor :errors
363
+
364
+ # Output only. Immutable. The unique event identifier is assigned during
365
+ # processing.
366
+ # Corresponds to the JSON property `eventId`
367
+ # @return [String]
368
+ attr_accessor :event_id
369
+
370
+ # Device timestamp that the event was recorded.
371
+ # Corresponds to the JSON property `eventTime`
372
+ # @return [String]
373
+ attr_accessor :event_time
374
+
375
+ # Android and web only. Exceptions that occurred during this event. Nested
376
+ # exceptions are presented in reverse chronological order, so that the last
377
+ # record is the first exception thrown.
378
+ # Corresponds to the JSON property `exceptions`
379
+ # @return [Array<Google::Apis::FirebasecrashlyticsV1alpha::Exception>]
380
+ attr_accessor :exceptions
381
+
382
+ # Unique identifier for the device-app installation. This field is used to
383
+ # compute the unique number of impacted users.
384
+ # Corresponds to the JSON property `installationUuid`
385
+ # @return [String]
386
+ attr_accessor :installation_uuid
387
+
388
+ # An issue describes a set of similar events that have been analyzed by
389
+ # Crashlytics and grouped together. All events within an issue will be of the
390
+ # same error_type: crash, non-fatal exception or ANR. All events within an issue
391
+ # will contain similar stack traces in their blamed thread.
392
+ # Corresponds to the JSON property `issue`
393
+ # @return [Google::Apis::FirebasecrashlyticsV1alpha::Issue]
394
+ attr_accessor :issue
395
+
396
+ # The subtitle of the issue in which the event was grouped. This is usually a
397
+ # symbol or an exception message.
398
+ # Corresponds to the JSON property `issueSubtitle`
399
+ # @return [String]
400
+ attr_accessor :issue_subtitle
401
+
402
+ # The title of the issue in which the event was grouped. This is usually a
403
+ # source file or method name.
404
+ # Corresponds to the JSON property `issueTitle`
405
+ # @return [String]
406
+ attr_accessor :issue_title
407
+
408
+ # A variant is a subgroup of an issue where all events have very similar stack
409
+ # traces. Issues may contain one or more variants.
410
+ # Corresponds to the JSON property `issueVariant`
411
+ # @return [Google::Apis::FirebasecrashlyticsV1alpha::IssueVariant]
412
+ attr_accessor :issue_variant
413
+
414
+ # Log messages recorded by the developer during the session.
415
+ # Corresponds to the JSON property `logs`
416
+ # @return [Array<Google::Apis::FirebasecrashlyticsV1alpha::Log>]
417
+ attr_accessor :logs
418
+
419
+ # Mobile device memory usage.
420
+ # Corresponds to the JSON property `memory`
421
+ # @return [Google::Apis::FirebasecrashlyticsV1alpha::Memory]
422
+ attr_accessor :memory
423
+
424
+ # Required. Output only. Immutable. Identifier. The name of the event resource.
425
+ # Format: "projects/`project`/apps/`app_id`/events/`event`".
426
+ # Corresponds to the JSON property `name`
427
+ # @return [String]
428
+ attr_accessor :name
429
+
430
+ # Mobile device operating system metadata.
431
+ # Corresponds to the JSON property `operatingSystem`
432
+ # @return [Google::Apis::FirebasecrashlyticsV1alpha::OperatingSystem]
433
+ attr_accessor :operating_system
434
+
435
+ # ANDROID, IOS, or WEB.
436
+ # Corresponds to the JSON property `platform`
437
+ # @return [String]
438
+ attr_accessor :platform
439
+
440
+ # The state of the app process at the time of the event.
441
+ # Corresponds to the JSON property `processState`
442
+ # @return [String]
443
+ attr_accessor :process_state
444
+
445
+ # Server timestamp that the event was received by Crashlytics.
446
+ # Corresponds to the JSON property `receivedTime`
447
+ # @return [String]
448
+ attr_accessor :received_time
449
+
450
+ # Output only. Web only. The route path of the web application when the event
451
+ # occurred, excluding query parameters and fragment.
452
+ # Corresponds to the JSON property `routePath`
453
+ # @return [String]
454
+ attr_accessor :route_path
455
+
456
+ # Unique identifier for the Firebase session.
457
+ # Corresponds to the JSON property `sessionId`
458
+ # @return [String]
459
+ attr_accessor :session_id
460
+
461
+ # Mobile device disk/flash usage. Not reported for all devices.
462
+ # Corresponds to the JSON property `storage`
463
+ # @return [Google::Apis::FirebasecrashlyticsV1alpha::Storage]
464
+ attr_accessor :storage
465
+
466
+ # Application threads present at the time the event was recorded. Each contains
467
+ # a stacktrace. One thread will be blamed for the error.
468
+ # Corresponds to the JSON property `threads`
469
+ # @return [Array<Google::Apis::FirebasecrashlyticsV1alpha::Thread>]
470
+ attr_accessor :threads
471
+
472
+ # Developer-provided end user identifiers.
473
+ # Corresponds to the JSON property `user`
474
+ # @return [Google::Apis::FirebasecrashlyticsV1alpha::User]
475
+ attr_accessor :user
476
+
477
+ # Application software version.
478
+ # Corresponds to the JSON property `version`
479
+ # @return [Google::Apis::FirebasecrashlyticsV1alpha::Version]
480
+ attr_accessor :version
481
+
482
+ def initialize(**args)
483
+ update!(**args)
484
+ end
485
+
486
+ # Update properties of this object
487
+ def update!(**args)
488
+ @app_orientation = args[:app_orientation] if args.key?(:app_orientation)
489
+ @blame_frame = args[:blame_frame] if args.key?(:blame_frame)
490
+ @breadcrumbs = args[:breadcrumbs] if args.key?(:breadcrumbs)
491
+ @browser = args[:browser] if args.key?(:browser)
492
+ @build_stamp = args[:build_stamp] if args.key?(:build_stamp)
493
+ @bundle_or_package = args[:bundle_or_package] if args.key?(:bundle_or_package)
494
+ @crashlytics_sdk_version = args[:crashlytics_sdk_version] if args.key?(:crashlytics_sdk_version)
495
+ @custom_keys = args[:custom_keys] if args.key?(:custom_keys)
496
+ @device = args[:device] if args.key?(:device)
497
+ @device_orientation = args[:device_orientation] if args.key?(:device_orientation)
498
+ @errors = args[:errors] if args.key?(:errors)
499
+ @event_id = args[:event_id] if args.key?(:event_id)
500
+ @event_time = args[:event_time] if args.key?(:event_time)
501
+ @exceptions = args[:exceptions] if args.key?(:exceptions)
502
+ @installation_uuid = args[:installation_uuid] if args.key?(:installation_uuid)
503
+ @issue = args[:issue] if args.key?(:issue)
504
+ @issue_subtitle = args[:issue_subtitle] if args.key?(:issue_subtitle)
505
+ @issue_title = args[:issue_title] if args.key?(:issue_title)
506
+ @issue_variant = args[:issue_variant] if args.key?(:issue_variant)
507
+ @logs = args[:logs] if args.key?(:logs)
508
+ @memory = args[:memory] if args.key?(:memory)
509
+ @name = args[:name] if args.key?(:name)
510
+ @operating_system = args[:operating_system] if args.key?(:operating_system)
511
+ @platform = args[:platform] if args.key?(:platform)
512
+ @process_state = args[:process_state] if args.key?(:process_state)
513
+ @received_time = args[:received_time] if args.key?(:received_time)
514
+ @route_path = args[:route_path] if args.key?(:route_path)
515
+ @session_id = args[:session_id] if args.key?(:session_id)
516
+ @storage = args[:storage] if args.key?(:storage)
517
+ @threads = args[:threads] if args.key?(:threads)
518
+ @user = args[:user] if args.key?(:user)
519
+ @version = args[:version] if args.key?(:version)
520
+ end
521
+ end
522
+
523
+ # A Java or Javascript exception and its stacktrace. Only from Android or web
524
+ # apps.
525
+ class Exception
526
+ include Google::Apis::Core::Hashable
527
+
528
+ # True when the Crashlytics analysis has determined that this thread is where
529
+ # the fault occurred.
530
+ # Corresponds to the JSON property `blamed`
531
+ # @return [Boolean]
532
+ attr_accessor :blamed
533
+ alias_method :blamed?, :blamed
534
+
535
+ # A message associated with the exception.
536
+ # Corresponds to the JSON property `exceptionMessage`
537
+ # @return [String]
538
+ attr_accessor :exception_message
539
+
540
+ # The frames in the exception's stacktrace.
541
+ # Corresponds to the JSON property `frames`
542
+ # @return [Array<Google::Apis::FirebasecrashlyticsV1alpha::Frame>]
543
+ attr_accessor :frames
544
+
545
+ # True for all but the last-thrown exception (i.e. the first record).
546
+ # Corresponds to the JSON property `nested`
547
+ # @return [Boolean]
548
+ attr_accessor :nested
549
+ alias_method :nested?, :nested
550
+
551
+ # The subtitle of the exception.
552
+ # Corresponds to the JSON property `subtitle`
553
+ # @return [String]
554
+ attr_accessor :subtitle
555
+
556
+ # The title of the exception.
557
+ # Corresponds to the JSON property `title`
558
+ # @return [String]
559
+ attr_accessor :title
560
+
561
+ # The exception type e.g. java.lang.IllegalStateException.
562
+ # Corresponds to the JSON property `type`
563
+ # @return [String]
564
+ attr_accessor :type
565
+
566
+ def initialize(**args)
567
+ update!(**args)
568
+ end
569
+
570
+ # Update properties of this object
571
+ def update!(**args)
572
+ @blamed = args[:blamed] if args.key?(:blamed)
573
+ @exception_message = args[:exception_message] if args.key?(:exception_message)
574
+ @frames = args[:frames] if args.key?(:frames)
575
+ @nested = args[:nested] if args.key?(:nested)
576
+ @subtitle = args[:subtitle] if args.key?(:subtitle)
577
+ @title = args[:title] if args.key?(:title)
578
+ @type = args[:type] if args.key?(:type)
579
+ end
580
+ end
581
+
582
+ # Sessions recorded by the Firebase App Quality Sessions SDK.
583
+ class FirebaseSessionEvent
584
+ include Google::Apis::Core::Hashable
585
+
586
+ # Mobile device metadata.
587
+ # Corresponds to the JSON property `device`
588
+ # @return [Google::Apis::FirebasecrashlyticsV1alpha::Device]
589
+ attr_accessor :device
590
+
591
+ # The start timestamp for the session event.
592
+ # Corresponds to the JSON property `eventTime`
593
+ # @return [String]
594
+ attr_accessor :event_time
595
+
596
+ # Session event type. The SDK only supports SESSION_START events at this time.
597
+ # Corresponds to the JSON property `eventType`
598
+ # @return [String]
599
+ attr_accessor :event_type
600
+
601
+ # Uniquely identifies a device with Firebase apps installed.
602
+ # Corresponds to the JSON property `firebaseInstallationId`
603
+ # @return [String]
604
+ attr_accessor :firebase_installation_id
605
+
606
+ # The identifier of the first session since the last cold start. This id and the
607
+ # session_id will be the same for app launches.
608
+ # Corresponds to the JSON property `firstSessionId`
609
+ # @return [String]
610
+ attr_accessor :first_session_id
611
+
612
+ # Mobile device operating system metadata.
613
+ # Corresponds to the JSON property `operatingSystem`
614
+ # @return [Google::Apis::FirebasecrashlyticsV1alpha::OperatingSystem]
615
+ attr_accessor :operating_system
616
+
617
+ # Unique identifier for the Firebase session.
618
+ # Corresponds to the JSON property `sessionId`
619
+ # @return [String]
620
+ attr_accessor :session_id
621
+
622
+ # Indicates the number of sessions since the last cold start.
623
+ # Corresponds to the JSON property `sessionIndex`
624
+ # @return [Fixnum]
625
+ attr_accessor :session_index
626
+
627
+ # Application software version.
628
+ # Corresponds to the JSON property `version`
629
+ # @return [Google::Apis::FirebasecrashlyticsV1alpha::Version]
630
+ attr_accessor :version
631
+
632
+ def initialize(**args)
633
+ update!(**args)
634
+ end
635
+
636
+ # Update properties of this object
637
+ def update!(**args)
638
+ @device = args[:device] if args.key?(:device)
639
+ @event_time = args[:event_time] if args.key?(:event_time)
640
+ @event_type = args[:event_type] if args.key?(:event_type)
641
+ @firebase_installation_id = args[:firebase_installation_id] if args.key?(:firebase_installation_id)
642
+ @first_session_id = args[:first_session_id] if args.key?(:first_session_id)
643
+ @operating_system = args[:operating_system] if args.key?(:operating_system)
644
+ @session_id = args[:session_id] if args.key?(:session_id)
645
+ @session_index = args[:session_index] if args.key?(:session_index)
646
+ @version = args[:version] if args.key?(:version)
647
+ end
648
+ end
649
+
650
+ # A frame in a stacktrace.
651
+ class Frame
652
+ include Google::Apis::Core::Hashable
653
+
654
+ # The address in the binary image which contains the code. Present for native
655
+ # frames.
656
+ # Corresponds to the JSON property `address`
657
+ # @return [Fixnum]
658
+ attr_accessor :address
659
+
660
+ # True when the Crashlytics analysis has determined that this frame is likely to
661
+ # be the cause of the error.
662
+ # Corresponds to the JSON property `blamed`
663
+ # @return [Boolean]
664
+ attr_accessor :blamed
665
+ alias_method :blamed?, :blamed
666
+
667
+ # The column on the line.
668
+ # Corresponds to the JSON property `column`
669
+ # @return [Fixnum]
670
+ attr_accessor :column
671
+
672
+ # The name of the source file in which the frame is found.
673
+ # Corresponds to the JSON property `file`
674
+ # @return [String]
675
+ attr_accessor :file
676
+
677
+ # The display name of the library that includes the frame.
678
+ # Corresponds to the JSON property `library`
679
+ # @return [String]
680
+ attr_accessor :library
681
+
682
+ # The line number in the file of the frame.
683
+ # Corresponds to the JSON property `line`
684
+ # @return [Fixnum]
685
+ attr_accessor :line
686
+
687
+ # The byte offset into the binary image that contains the code. Present for
688
+ # native frames.
689
+ # Corresponds to the JSON property `offset`
690
+ # @return [Fixnum]
691
+ attr_accessor :offset
692
+
693
+ # One of DEVELOPER, VENDOR, RUNTIME, PLATFORM, or SYSTEM.
694
+ # Corresponds to the JSON property `owner`
695
+ # @return [String]
696
+ attr_accessor :owner
697
+
698
+ # The frame symbol after it has been deobfuscated or symbolicated. The raw
699
+ # symbol from the device if it could not be hydrated.
700
+ # Corresponds to the JSON property `symbol`
701
+ # @return [String]
702
+ attr_accessor :symbol
703
+
704
+ def initialize(**args)
705
+ update!(**args)
706
+ end
707
+
708
+ # Update properties of this object
709
+ def update!(**args)
710
+ @address = args[:address] if args.key?(:address)
711
+ @blamed = args[:blamed] if args.key?(:blamed)
712
+ @column = args[:column] if args.key?(:column)
713
+ @file = args[:file] if args.key?(:file)
714
+ @library = args[:library] if args.key?(:library)
715
+ @line = args[:line] if args.key?(:line)
716
+ @offset = args[:offset] if args.key?(:offset)
717
+ @owner = args[:owner] if args.key?(:owner)
718
+ @symbol = args[:symbol] if args.key?(:symbol)
719
+ end
720
+ end
721
+
722
+ # A set of computed metric values for a time interval
723
+ class IntervalMetrics
724
+ include Google::Apis::Core::Hashable
725
+
726
+ # The end of the interval covered by the computation.
727
+ # Corresponds to the JSON property `endTime`
728
+ # @return [String]
729
+ attr_accessor :end_time
730
+
731
+ # The total count of events in the interval.
732
+ # Corresponds to the JSON property `eventsCount`
733
+ # @return [Fixnum]
734
+ attr_accessor :events_count
735
+
736
+ # The number of distinct users in the set of events.
737
+ # Corresponds to the JSON property `impactedUsersCount`
738
+ # @return [Fixnum]
739
+ attr_accessor :impacted_users_count
740
+
741
+ # The number of distinct sessions in the set of events.
742
+ # Corresponds to the JSON property `sessionsCount`
743
+ # @return [Fixnum]
744
+ attr_accessor :sessions_count
745
+
746
+ # The start of the interval covered by the computation.
747
+ # Corresponds to the JSON property `startTime`
748
+ # @return [String]
749
+ attr_accessor :start_time
750
+
751
+ def initialize(**args)
752
+ update!(**args)
753
+ end
754
+
755
+ # Update properties of this object
756
+ def update!(**args)
757
+ @end_time = args[:end_time] if args.key?(:end_time)
758
+ @events_count = args[:events_count] if args.key?(:events_count)
759
+ @impacted_users_count = args[:impacted_users_count] if args.key?(:impacted_users_count)
760
+ @sessions_count = args[:sessions_count] if args.key?(:sessions_count)
761
+ @start_time = args[:start_time] if args.key?(:start_time)
762
+ end
763
+ end
764
+
765
+ # An issue describes a set of similar events that have been analyzed by
766
+ # Crashlytics and grouped together. All events within an issue will be of the
767
+ # same error_type: crash, non-fatal exception or ANR. All events within an issue
768
+ # will contain similar stack traces in their blamed thread.
769
+ class Issue
770
+ include Google::Apis::Core::Hashable
771
+
772
+ # Output only. Immutable. Indicates whether this issue is a crash, non-fatal
773
+ # exception, or ANR.
774
+ # Corresponds to the JSON property `errorType`
775
+ # @return [String]
776
+ attr_accessor :error_type
777
+
778
+ # Output only. Immutable. The first time this issue was seen.
779
+ # Corresponds to the JSON property `firstSeenTime`
780
+ # @return [String]
781
+ attr_accessor :first_seen_time
782
+
783
+ # Output only. Immutable. The first app display_version in which this issue was
784
+ # seen, populated for mobile issues only.
785
+ # Corresponds to the JSON property `firstSeenVersion`
786
+ # @return [String]
787
+ attr_accessor :first_seen_version
788
+
789
+ # Output only. Immutable. Unique identifier for the issue.
790
+ # Corresponds to the JSON property `id`
791
+ # @return [String]
792
+ attr_accessor :id
793
+
794
+ # Output only. The most recent time this issue was seen.
795
+ # Corresponds to the JSON property `lastSeenTime`
796
+ # @return [String]
797
+ attr_accessor :last_seen_time
798
+
799
+ # Output only. The most recent app display_version in which this issue was seen,
800
+ # populated for mobile issues only.
801
+ # Corresponds to the JSON property `lastSeenVersion`
802
+ # @return [String]
803
+ attr_accessor :last_seen_version
804
+
805
+ # Required. Output only. Immutable. Identifier. The name of the issue resource.
806
+ # Format: "projects/`project`/apps/`app`/issues/`issue`".
807
+ # Corresponds to the JSON property `name`
808
+ # @return [String]
809
+ attr_accessor :name
810
+
811
+ # Output only. The number of notes attached to an issue.
812
+ # Corresponds to the JSON property `notesCount`
813
+ # @return [Fixnum]
814
+ attr_accessor :notes_count
815
+
816
+ # Output only. The resource name for a sample event in this issue.
817
+ # Corresponds to the JSON property `sampleEvent`
818
+ # @return [String]
819
+ attr_accessor :sample_event
820
+
821
+ # Output only. Immutable. Distinctive characteristics assigned by the
822
+ # Crashlytics analyzer.
823
+ # Corresponds to the JSON property `signals`
824
+ # @return [Array<Google::Apis::FirebasecrashlyticsV1alpha::IssueSignals>]
825
+ attr_accessor :signals
826
+
827
+ # Output only. Indicates whether this issue is open, closed or muted. For
828
+ # details on how issue states change without user actions, see [Regressed Issues]
829
+ # (https://firebase.google.com/docs/crashlytics/troubleshooting?platform=ios#
830
+ # regressed-issues).
831
+ # Corresponds to the JSON property `state`
832
+ # @return [String]
833
+ attr_accessor :state
834
+
835
+ # Output only. The time at which the issue state was last changed.
836
+ # Corresponds to the JSON property `stateUpdateTime`
837
+ # @return [String]
838
+ attr_accessor :state_update_time
839
+
840
+ # Output only. Immutable. Caption subtitle. This is usually a symbol or an
841
+ # exception message.
842
+ # Corresponds to the JSON property `subtitle`
843
+ # @return [String]
844
+ attr_accessor :subtitle
845
+
846
+ # Output only. Immutable. Caption title. This is usually a source file or method
847
+ # name.
848
+ # Corresponds to the JSON property `title`
849
+ # @return [String]
850
+ attr_accessor :title
851
+
852
+ # Output only. Provides a link to the Issue on the Firebase console. When this
853
+ # Issue is obtained as part of a Report, then the link will be configured with
854
+ # the same time interval and filters as the request.
855
+ # Corresponds to the JSON property `uri`
856
+ # @return [String]
857
+ attr_accessor :uri
858
+
859
+ # Output only. Immutable. The top 12 variants (subgroups) within the issue.
860
+ # Variants group events within an issue that are very similar. A single result
861
+ # implies that the variant is the same as the parent issue. This field will be
862
+ # empty when multiple issues are requested. Request a single issue to list
863
+ # variants.
864
+ # Corresponds to the JSON property `variants`
865
+ # @return [Array<Google::Apis::FirebasecrashlyticsV1alpha::IssueVariant>]
866
+ attr_accessor :variants
867
+
868
+ def initialize(**args)
869
+ update!(**args)
870
+ end
871
+
872
+ # Update properties of this object
873
+ def update!(**args)
874
+ @error_type = args[:error_type] if args.key?(:error_type)
875
+ @first_seen_time = args[:first_seen_time] if args.key?(:first_seen_time)
876
+ @first_seen_version = args[:first_seen_version] if args.key?(:first_seen_version)
877
+ @id = args[:id] if args.key?(:id)
878
+ @last_seen_time = args[:last_seen_time] if args.key?(:last_seen_time)
879
+ @last_seen_version = args[:last_seen_version] if args.key?(:last_seen_version)
880
+ @name = args[:name] if args.key?(:name)
881
+ @notes_count = args[:notes_count] if args.key?(:notes_count)
882
+ @sample_event = args[:sample_event] if args.key?(:sample_event)
883
+ @signals = args[:signals] if args.key?(:signals)
884
+ @state = args[:state] if args.key?(:state)
885
+ @state_update_time = args[:state_update_time] if args.key?(:state_update_time)
886
+ @subtitle = args[:subtitle] if args.key?(:subtitle)
887
+ @title = args[:title] if args.key?(:title)
888
+ @uri = args[:uri] if args.key?(:uri)
889
+ @variants = args[:variants] if args.key?(:variants)
890
+ end
891
+ end
892
+
893
+ # Distinctive characteristics assigned by the Crashlytics analyzer.
894
+ class IssueSignals
895
+ include Google::Apis::Core::Hashable
896
+
897
+ # Output only. Supporting detail information.
898
+ # Corresponds to the JSON property `description`
899
+ # @return [String]
900
+ attr_accessor :description
901
+
902
+ # Output only. The signal name.
903
+ # Corresponds to the JSON property `signal`
904
+ # @return [String]
905
+ attr_accessor :signal
906
+
907
+ def initialize(**args)
908
+ update!(**args)
909
+ end
910
+
911
+ # Update properties of this object
912
+ def update!(**args)
913
+ @description = args[:description] if args.key?(:description)
914
+ @signal = args[:signal] if args.key?(:signal)
915
+ end
916
+ end
917
+
918
+ # A variant is a subgroup of an issue where all events have very similar stack
919
+ # traces. Issues may contain one or more variants.
920
+ class IssueVariant
921
+ include Google::Apis::Core::Hashable
922
+
923
+ # Output only. Immutable. Distinct identifier for the variant.
924
+ # Corresponds to the JSON property `id`
925
+ # @return [String]
926
+ attr_accessor :id
927
+
928
+ # Output only. The resource name for a sample event in this variant.
929
+ # Corresponds to the JSON property `sampleEvent`
930
+ # @return [String]
931
+ attr_accessor :sample_event
932
+
933
+ # Output only. Provides a link to the variant on the Firebase console. When this
934
+ # variant is obtained as part of a Report, then the link will be configured with
935
+ # the same time interval and filters as the request.
936
+ # Corresponds to the JSON property `uri`
937
+ # @return [String]
938
+ attr_accessor :uri
939
+
940
+ def initialize(**args)
941
+ update!(**args)
942
+ end
943
+
944
+ # Update properties of this object
945
+ def update!(**args)
946
+ @id = args[:id] if args.key?(:id)
947
+ @sample_event = args[:sample_event] if args.key?(:sample_event)
948
+ @uri = args[:uri] if args.key?(:uri)
949
+ end
950
+ end
951
+
952
+ # Response message for the ListEvents method.
953
+ class ListEventsResponse
954
+ include Google::Apis::Core::Hashable
955
+
956
+ # Returns one element per event, in descending order the by event timestamp.
957
+ # Corresponds to the JSON property `events`
958
+ # @return [Array<Google::Apis::FirebasecrashlyticsV1alpha::Event>]
959
+ attr_accessor :events
960
+
961
+ # A pagination token to retrieve the next page of events. The next page will
962
+ # have earlier or later events depending on the request's ordering. If this
963
+ # field is not present, there are no subsequent events.
964
+ # Corresponds to the JSON property `nextPageToken`
965
+ # @return [String]
966
+ attr_accessor :next_page_token
967
+
968
+ def initialize(**args)
969
+ update!(**args)
970
+ end
971
+
972
+ # Update properties of this object
973
+ def update!(**args)
974
+ @events = args[:events] if args.key?(:events)
975
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
976
+ end
977
+ end
978
+
979
+ # Response message for the ListNotes method.
980
+ class ListNotesResponse
981
+ include Google::Apis::Core::Hashable
982
+
983
+ # A pagination token to retrieve the next page of notes. If this field is not
984
+ # present, there are no subsequent notes.
985
+ # Corresponds to the JSON property `nextPageToken`
986
+ # @return [String]
987
+ attr_accessor :next_page_token
988
+
989
+ # Returns notes ordered descending by the timestamp.
990
+ # Corresponds to the JSON property `notes`
991
+ # @return [Array<Google::Apis::FirebasecrashlyticsV1alpha::Note>]
992
+ attr_accessor :notes
993
+
994
+ def initialize(**args)
995
+ update!(**args)
996
+ end
997
+
998
+ # Update properties of this object
999
+ def update!(**args)
1000
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1001
+ @notes = args[:notes] if args.key?(:notes)
1002
+ end
1003
+ end
1004
+
1005
+ # Response method for the ListReports method. The response will always include
1006
+ # all of the available reports.
1007
+ class ListReportsResponse
1008
+ include Google::Apis::Core::Hashable
1009
+
1010
+ # The report objects returned will contain their names and usage instructions,
1011
+ # but include no results. Use the `GetReport` method to run the report and
1012
+ # obtain the paged results.
1013
+ # Corresponds to the JSON property `reports`
1014
+ # @return [Array<Google::Apis::FirebasecrashlyticsV1alpha::Report>]
1015
+ attr_accessor :reports
1016
+
1017
+ def initialize(**args)
1018
+ update!(**args)
1019
+ end
1020
+
1021
+ # Update properties of this object
1022
+ def update!(**args)
1023
+ @reports = args[:reports] if args.key?(:reports)
1024
+ end
1025
+ end
1026
+
1027
+ # Developer-provided log lines recorded during the session.
1028
+ class Log
1029
+ include Google::Apis::Core::Hashable
1030
+
1031
+ # Device timestamp when the line was logged.
1032
+ # Corresponds to the JSON property `logTime`
1033
+ # @return [String]
1034
+ attr_accessor :log_time
1035
+
1036
+ # Log message.
1037
+ # Corresponds to the JSON property `message`
1038
+ # @return [String]
1039
+ attr_accessor :message
1040
+
1041
+ def initialize(**args)
1042
+ update!(**args)
1043
+ end
1044
+
1045
+ # Update properties of this object
1046
+ def update!(**args)
1047
+ @log_time = args[:log_time] if args.key?(:log_time)
1048
+ @message = args[:message] if args.key?(:message)
1049
+ end
1050
+ end
1051
+
1052
+ # Mobile device memory usage.
1053
+ class Memory
1054
+ include Google::Apis::Core::Hashable
1055
+
1056
+ # Bytes free.
1057
+ # Corresponds to the JSON property `free`
1058
+ # @return [Fixnum]
1059
+ attr_accessor :free
1060
+
1061
+ # Bytes in use.
1062
+ # Corresponds to the JSON property `used`
1063
+ # @return [Fixnum]
1064
+ attr_accessor :used
1065
+
1066
+ def initialize(**args)
1067
+ update!(**args)
1068
+ end
1069
+
1070
+ # Update properties of this object
1071
+ def update!(**args)
1072
+ @free = args[:free] if args.key?(:free)
1073
+ @used = args[:used] if args.key?(:used)
1074
+ end
1075
+ end
1076
+
1077
+ # Developer notes for an issue.
1078
+ class Note
1079
+ include Google::Apis::Core::Hashable
1080
+
1081
+ # Output only. The email of the author of the note.
1082
+ # Corresponds to the JSON property `author`
1083
+ # @return [String]
1084
+ attr_accessor :author
1085
+
1086
+ # Immutable. The body of the note.
1087
+ # Corresponds to the JSON property `body`
1088
+ # @return [String]
1089
+ attr_accessor :body
1090
+
1091
+ # Output only. Time when the note was created.
1092
+ # Corresponds to the JSON property `createTime`
1093
+ # @return [String]
1094
+ attr_accessor :create_time
1095
+
1096
+ # Output only. Identifier. Format: "projects/`project`/apps/app/issues/`issue`/
1097
+ # notes/`note`".
1098
+ # Corresponds to the JSON property `name`
1099
+ # @return [String]
1100
+ attr_accessor :name
1101
+
1102
+ def initialize(**args)
1103
+ update!(**args)
1104
+ end
1105
+
1106
+ # Update properties of this object
1107
+ def update!(**args)
1108
+ @author = args[:author] if args.key?(:author)
1109
+ @body = args[:body] if args.key?(:body)
1110
+ @create_time = args[:create_time] if args.key?(:create_time)
1111
+ @name = args[:name] if args.key?(:name)
1112
+ end
1113
+ end
1114
+
1115
+ # Mobile device operating system metadata.
1116
+ class OperatingSystem
1117
+ include Google::Apis::Core::Hashable
1118
+
1119
+ # The device category (mobile, tablet, desktop).
1120
+ # Corresponds to the JSON property `deviceType`
1121
+ # @return [String]
1122
+ attr_accessor :device_type
1123
+
1124
+ # Name and version number. Formatted to be suitable for passing to
1125
+ # OperatingSystemFilter.
1126
+ # Corresponds to the JSON property `displayName`
1127
+ # @return [String]
1128
+ attr_accessor :display_name
1129
+
1130
+ # Operating system display version number.
1131
+ # Corresponds to the JSON property `displayVersion`
1132
+ # @return [String]
1133
+ attr_accessor :display_version
1134
+
1135
+ # Indicates if the OS has been modified or "jailbroken".
1136
+ # Corresponds to the JSON property `modificationState`
1137
+ # @return [String]
1138
+ attr_accessor :modification_state
1139
+
1140
+ # Operating system name.
1141
+ # Corresponds to the JSON property `os`
1142
+ # @return [String]
1143
+ attr_accessor :os
1144
+
1145
+ # The OS type on Apple platforms (iOS, iPadOS, etc.).
1146
+ # Corresponds to the JSON property `type`
1147
+ # @return [String]
1148
+ attr_accessor :type
1149
+
1150
+ def initialize(**args)
1151
+ update!(**args)
1152
+ end
1153
+
1154
+ # Update properties of this object
1155
+ def update!(**args)
1156
+ @device_type = args[:device_type] if args.key?(:device_type)
1157
+ @display_name = args[:display_name] if args.key?(:display_name)
1158
+ @display_version = args[:display_version] if args.key?(:display_version)
1159
+ @modification_state = args[:modification_state] if args.key?(:modification_state)
1160
+ @os = args[:os] if args.key?(:os)
1161
+ @type = args[:type] if args.key?(:type)
1162
+ end
1163
+ end
1164
+
1165
+ # Describes a release track in the Play Developer Console.
1166
+ class PlayTrack
1167
+ include Google::Apis::Core::Hashable
1168
+
1169
+ # User-generated or auto-generated name of the track. PROD and INTERNAL track
1170
+ # types always have auto-generated names, e.g. "prod" and "internal"
1171
+ # respectively. Tracks of type EARLY_ACCESS always have a user-generated name.
1172
+ # Other track types do not have any guarantees, might have user-generated or
1173
+ # auto-generated names.
1174
+ # Corresponds to the JSON property `title`
1175
+ # @return [String]
1176
+ attr_accessor :title
1177
+
1178
+ # The type of track (prod, internal, etc...).
1179
+ # Corresponds to the JSON property `type`
1180
+ # @return [String]
1181
+ attr_accessor :type
1182
+
1183
+ def initialize(**args)
1184
+ update!(**args)
1185
+ end
1186
+
1187
+ # Update properties of this object
1188
+ def update!(**args)
1189
+ @title = args[:title] if args.key?(:title)
1190
+ @type = args[:type] if args.key?(:type)
1191
+ end
1192
+ end
1193
+
1194
+ # Response message for the GetReport method. A report consists of the results of
1195
+ # a query over an application's events. The events may be filtered by various
1196
+ # criteria defined in the filters proto. The result will consist of a number of
1197
+ # paginated groups, of a type relevant to the report such as issues or device
1198
+ # models.
1199
+ class Report
1200
+ include Google::Apis::Core::Hashable
1201
+
1202
+ # Output only. The displayable title of the report.
1203
+ # Corresponds to the JSON property `displayName`
1204
+ # @return [String]
1205
+ attr_accessor :display_name
1206
+
1207
+ # Aggregate event statistics in the report will be grouped by a dimension, such
1208
+ # as by issue or by version. The response contains one element per group, and
1209
+ # all ReportGroup messages will have the same parent field.
1210
+ # Corresponds to the JSON property `groups`
1211
+ # @return [Array<Google::Apis::FirebasecrashlyticsV1alpha::ReportGroup>]
1212
+ attr_accessor :groups
1213
+
1214
+ # The name of the report. Format: "projects/`project`/apps/`app_id`/reports/`
1215
+ # report`".
1216
+ # Corresponds to the JSON property `name`
1217
+ # @return [String]
1218
+ attr_accessor :name
1219
+
1220
+ # Output only. A page token used to retrieve additional report groups. If this
1221
+ # field is not present, there are no subsequent pages available to retrieve.
1222
+ # Corresponds to the JSON property `nextPageToken`
1223
+ # @return [String]
1224
+ attr_accessor :next_page_token
1225
+
1226
+ # Output only. The total number of groups retrievable by the request.
1227
+ # Corresponds to the JSON property `totalSize`
1228
+ # @return [Fixnum]
1229
+ attr_accessor :total_size
1230
+
1231
+ # Usage instructions for the report with a description of the result metrics.
1232
+ # This field contains a description of the underlying query and describes the
1233
+ # expected response data with any known caveats. This string can be displayed in
1234
+ # the UI of any integration that offers comprehensive access to all Crashlytics
1235
+ # reports.
1236
+ # Corresponds to the JSON property `usage`
1237
+ # @return [String]
1238
+ attr_accessor :usage
1239
+
1240
+ def initialize(**args)
1241
+ update!(**args)
1242
+ end
1243
+
1244
+ # Update properties of this object
1245
+ def update!(**args)
1246
+ @display_name = args[:display_name] if args.key?(:display_name)
1247
+ @groups = args[:groups] if args.key?(:groups)
1248
+ @name = args[:name] if args.key?(:name)
1249
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1250
+ @total_size = args[:total_size] if args.key?(:total_size)
1251
+ @usage = args[:usage] if args.key?(:usage)
1252
+ end
1253
+ end
1254
+
1255
+ # A group of results in an EventReport. In any report, the group_parent field is
1256
+ # strictly the same type for all of the groups in any collection.
1257
+ class ReportGroup
1258
+ include Google::Apis::Core::Hashable
1259
+
1260
+ # Web browser metadata.
1261
+ # Corresponds to the JSON property `browser`
1262
+ # @return [Google::Apis::FirebasecrashlyticsV1alpha::Browser]
1263
+ attr_accessor :browser
1264
+
1265
+ # Mobile device metadata.
1266
+ # Corresponds to the JSON property `device`
1267
+ # @return [Google::Apis::FirebasecrashlyticsV1alpha::Device]
1268
+ attr_accessor :device
1269
+
1270
+ # An issue describes a set of similar events that have been analyzed by
1271
+ # Crashlytics and grouped together. All events within an issue will be of the
1272
+ # same error_type: crash, non-fatal exception or ANR. All events within an issue
1273
+ # will contain similar stack traces in their blamed thread.
1274
+ # Corresponds to the JSON property `issue`
1275
+ # @return [Google::Apis::FirebasecrashlyticsV1alpha::Issue]
1276
+ attr_accessor :issue
1277
+
1278
+ # Scalar metrics will contain a single object covering the entire interval,
1279
+ # while time-dimensioned graphs will contain one per time grain.
1280
+ # Corresponds to the JSON property `metrics`
1281
+ # @return [Array<Google::Apis::FirebasecrashlyticsV1alpha::IntervalMetrics>]
1282
+ attr_accessor :metrics
1283
+
1284
+ # Mobile device operating system metadata.
1285
+ # Corresponds to the JSON property `operatingSystem`
1286
+ # @return [Google::Apis::FirebasecrashlyticsV1alpha::OperatingSystem]
1287
+ attr_accessor :operating_system
1288
+
1289
+ # When applicable, this field contains additional nested groupings. For example,
1290
+ # events can be grouped by operating system and by operating system version.
1291
+ # Corresponds to the JSON property `subgroups`
1292
+ # @return [Array<Google::Apis::FirebasecrashlyticsV1alpha::ReportGroup>]
1293
+ attr_accessor :subgroups
1294
+
1295
+ # A variant is a subgroup of an issue where all events have very similar stack
1296
+ # traces. Issues may contain one or more variants.
1297
+ # Corresponds to the JSON property `variant`
1298
+ # @return [Google::Apis::FirebasecrashlyticsV1alpha::IssueVariant]
1299
+ attr_accessor :variant
1300
+
1301
+ # Application software version.
1302
+ # Corresponds to the JSON property `version`
1303
+ # @return [Google::Apis::FirebasecrashlyticsV1alpha::Version]
1304
+ attr_accessor :version
1305
+
1306
+ # Represents a grouping for metrics specific to web applications.
1307
+ # Corresponds to the JSON property `webMetricsGroup`
1308
+ # @return [Google::Apis::FirebasecrashlyticsV1alpha::WebMetricsGroup]
1309
+ attr_accessor :web_metrics_group
1310
+
1311
+ def initialize(**args)
1312
+ update!(**args)
1313
+ end
1314
+
1315
+ # Update properties of this object
1316
+ def update!(**args)
1317
+ @browser = args[:browser] if args.key?(:browser)
1318
+ @device = args[:device] if args.key?(:device)
1319
+ @issue = args[:issue] if args.key?(:issue)
1320
+ @metrics = args[:metrics] if args.key?(:metrics)
1321
+ @operating_system = args[:operating_system] if args.key?(:operating_system)
1322
+ @subgroups = args[:subgroups] if args.key?(:subgroups)
1323
+ @variant = args[:variant] if args.key?(:variant)
1324
+ @version = args[:version] if args.key?(:version)
1325
+ @web_metrics_group = args[:web_metrics_group] if args.key?(:web_metrics_group)
1326
+ end
1327
+ end
1328
+
1329
+ # Mobile device disk/flash usage. Not reported for all devices.
1330
+ class Storage
1331
+ include Google::Apis::Core::Hashable
1332
+
1333
+ # Bytes free.
1334
+ # Corresponds to the JSON property `free`
1335
+ # @return [Fixnum]
1336
+ attr_accessor :free
1337
+
1338
+ # Bytes used.
1339
+ # Corresponds to the JSON property `used`
1340
+ # @return [Fixnum]
1341
+ attr_accessor :used
1342
+
1343
+ def initialize(**args)
1344
+ update!(**args)
1345
+ end
1346
+
1347
+ # Update properties of this object
1348
+ def update!(**args)
1349
+ @free = args[:free] if args.key?(:free)
1350
+ @used = args[:used] if args.key?(:used)
1351
+ end
1352
+ end
1353
+
1354
+ # An application thread.
1355
+ class Thread
1356
+ include Google::Apis::Core::Hashable
1357
+
1358
+ # True when the Crashlytics analysis has determined that the stacktrace in this
1359
+ # thread is where the fault occurred.
1360
+ # Corresponds to the JSON property `blamed`
1361
+ # @return [Boolean]
1362
+ attr_accessor :blamed
1363
+ alias_method :blamed?, :blamed
1364
+
1365
+ # The address of the signal that caused the application to crash. Only present
1366
+ # on crashed native threads.
1367
+ # Corresponds to the JSON property `crashAddress`
1368
+ # @return [Fixnum]
1369
+ attr_accessor :crash_address
1370
+
1371
+ # True when the thread has crashed.
1372
+ # Corresponds to the JSON property `crashed`
1373
+ # @return [Boolean]
1374
+ attr_accessor :crashed
1375
+ alias_method :crashed?, :crashed
1376
+
1377
+ # The frames in the thread's stacktrace.
1378
+ # Corresponds to the JSON property `frames`
1379
+ # @return [Array<Google::Apis::FirebasecrashlyticsV1alpha::Frame>]
1380
+ attr_accessor :frames
1381
+
1382
+ # The name of the thread.
1383
+ # Corresponds to the JSON property `name`
1384
+ # @return [String]
1385
+ attr_accessor :name
1386
+
1387
+ # The queue on which the thread was running.
1388
+ # Corresponds to the JSON property `queue`
1389
+ # @return [String]
1390
+ attr_accessor :queue
1391
+
1392
+ # The name of the signal that caused the app to crash. Only present on crashed
1393
+ # native threads.
1394
+ # Corresponds to the JSON property `signal`
1395
+ # @return [String]
1396
+ attr_accessor :signal
1397
+
1398
+ # The code of the signal that caused the app to crash. Only present on crashed
1399
+ # native threads.
1400
+ # Corresponds to the JSON property `signalCode`
1401
+ # @return [String]
1402
+ attr_accessor :signal_code
1403
+
1404
+ # The subtitle of the thread.
1405
+ # Corresponds to the JSON property `subtitle`
1406
+ # @return [String]
1407
+ attr_accessor :subtitle
1408
+
1409
+ # The system id of the thread, only available for ANR threads.
1410
+ # Corresponds to the JSON property `sysThreadId`
1411
+ # @return [Fixnum]
1412
+ attr_accessor :sys_thread_id
1413
+
1414
+ # The id of the thread, only available for ANR threads.
1415
+ # Corresponds to the JSON property `threadId`
1416
+ # @return [Fixnum]
1417
+ attr_accessor :thread_id
1418
+
1419
+ # Output only. The state of the thread at the time the ANR occurred.
1420
+ # Corresponds to the JSON property `threadState`
1421
+ # @return [String]
1422
+ attr_accessor :thread_state
1423
+
1424
+ # The title of the thread.
1425
+ # Corresponds to the JSON property `title`
1426
+ # @return [String]
1427
+ attr_accessor :title
1428
+
1429
+ def initialize(**args)
1430
+ update!(**args)
1431
+ end
1432
+
1433
+ # Update properties of this object
1434
+ def update!(**args)
1435
+ @blamed = args[:blamed] if args.key?(:blamed)
1436
+ @crash_address = args[:crash_address] if args.key?(:crash_address)
1437
+ @crashed = args[:crashed] if args.key?(:crashed)
1438
+ @frames = args[:frames] if args.key?(:frames)
1439
+ @name = args[:name] if args.key?(:name)
1440
+ @queue = args[:queue] if args.key?(:queue)
1441
+ @signal = args[:signal] if args.key?(:signal)
1442
+ @signal_code = args[:signal_code] if args.key?(:signal_code)
1443
+ @subtitle = args[:subtitle] if args.key?(:subtitle)
1444
+ @sys_thread_id = args[:sys_thread_id] if args.key?(:sys_thread_id)
1445
+ @thread_id = args[:thread_id] if args.key?(:thread_id)
1446
+ @thread_state = args[:thread_state] if args.key?(:thread_state)
1447
+ @title = args[:title] if args.key?(:title)
1448
+ end
1449
+ end
1450
+
1451
+ # Request message for the UpdateIssue method.
1452
+ class UpdateIssueRequest
1453
+ include Google::Apis::Core::Hashable
1454
+
1455
+ # An issue describes a set of similar events that have been analyzed by
1456
+ # Crashlytics and grouped together. All events within an issue will be of the
1457
+ # same error_type: crash, non-fatal exception or ANR. All events within an issue
1458
+ # will contain similar stack traces in their blamed thread.
1459
+ # Corresponds to the JSON property `issue`
1460
+ # @return [Google::Apis::FirebasecrashlyticsV1alpha::Issue]
1461
+ attr_accessor :issue
1462
+
1463
+ # Optional. The list of Issue fields to update. Currently only "state" is
1464
+ # mutable.
1465
+ # Corresponds to the JSON property `updateMask`
1466
+ # @return [String]
1467
+ attr_accessor :update_mask
1468
+
1469
+ def initialize(**args)
1470
+ update!(**args)
1471
+ end
1472
+
1473
+ # Update properties of this object
1474
+ def update!(**args)
1475
+ @issue = args[:issue] if args.key?(:issue)
1476
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
1477
+ end
1478
+ end
1479
+
1480
+ # Developer-provided end user identifiers.
1481
+ class User
1482
+ include Google::Apis::Core::Hashable
1483
+
1484
+ # User id if provided by the app developer.
1485
+ # Corresponds to the JSON property `id`
1486
+ # @return [String]
1487
+ attr_accessor :id
1488
+
1489
+ def initialize(**args)
1490
+ update!(**args)
1491
+ end
1492
+
1493
+ # Update properties of this object
1494
+ def update!(**args)
1495
+ @id = args[:id] if args.key?(:id)
1496
+ end
1497
+ end
1498
+
1499
+ # Application software version.
1500
+ class Version
1501
+ include Google::Apis::Core::Hashable
1502
+
1503
+ # Mobile only. One display_version can have many build_version. On Android,
1504
+ # strictly the same as "version code". On iOS, strictly the same as "build
1505
+ # number" or CFBundleVersion.
1506
+ # Corresponds to the JSON property `buildVersion`
1507
+ # @return [String]
1508
+ attr_accessor :build_version
1509
+
1510
+ # Compound readable string containing both display and build versions. Format: "
1511
+ # display_version (build_version)" e.g. "1.2.3 (456)". This string can be used
1512
+ # for filtering with the VersionFilter.display_name field.
1513
+ # Corresponds to the JSON property `displayName`
1514
+ # @return [String]
1515
+ attr_accessor :display_name
1516
+
1517
+ # Readable version string, e.g. "1.2.3". On Android, strictly the same as "
1518
+ # version name". On iOS, strictly the same as "version number" or
1519
+ # CFBundleShortVersionString.
1520
+ # Corresponds to the JSON property `displayVersion`
1521
+ # @return [String]
1522
+ attr_accessor :display_version
1523
+
1524
+ # Indicates releases which have artifacts that are currently available in the
1525
+ # Play Store to the target audience of the track. Versions may be available in
1526
+ # multiple tracks.
1527
+ # Corresponds to the JSON property `tracks`
1528
+ # @return [Array<Google::Apis::FirebasecrashlyticsV1alpha::PlayTrack>]
1529
+ attr_accessor :tracks
1530
+
1531
+ def initialize(**args)
1532
+ update!(**args)
1533
+ end
1534
+
1535
+ # Update properties of this object
1536
+ def update!(**args)
1537
+ @build_version = args[:build_version] if args.key?(:build_version)
1538
+ @display_name = args[:display_name] if args.key?(:display_name)
1539
+ @display_version = args[:display_version] if args.key?(:display_version)
1540
+ @tracks = args[:tracks] if args.key?(:tracks)
1541
+ end
1542
+ end
1543
+
1544
+ # Represents a grouping for metrics specific to web applications.
1545
+ class WebMetricsGroup
1546
+ include Google::Apis::Core::Hashable
1547
+
1548
+ # The id of the web metrics group
1549
+ # Corresponds to the JSON property `id`
1550
+ # @return [String]
1551
+ attr_accessor :id
1552
+
1553
+ def initialize(**args)
1554
+ update!(**args)
1555
+ end
1556
+
1557
+ # Update properties of this object
1558
+ def update!(**args)
1559
+ @id = args[:id] if args.key?(:id)
1560
+ end
1561
+ end
1562
+ end
1563
+ end
1564
+ end