| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  | # Copyright 2015 Google Inc. | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # Licensed under the Apache License, Version 2.0 (the "License"); | 
					
						
							|  |  |  | # you may not use this file except in compliance with the License. | 
					
						
							|  |  |  | # You may obtain a copy of the License at | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | #      http://www.apache.org/licenses/LICENSE-2.0 | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # Unless required by applicable law or agreed to in writing, software | 
					
						
							|  |  |  | # distributed under the License is distributed on an "AS IS" BASIS, | 
					
						
							|  |  |  | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
					
						
							|  |  |  | # See the License for the specific language governing permissions and | 
					
						
							|  |  |  | # limitations under the License. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | require 'date' | 
					
						
							|  |  |  | require 'google/apis/core/base_service' | 
					
						
							|  |  |  | require 'google/apis/core/json_representation' | 
					
						
							|  |  |  | require 'google/apis/core/hashable' | 
					
						
							|  |  |  | require 'google/apis/errors' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | module Google | 
					
						
							|  |  |  |   module Apis | 
					
						
							|  |  |  |     module AdmobV1 | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-10-14 00:38:44 +00:00
										 |  |  |       # Represents a whole or partial calendar date, such as a birthday. The time of | 
					
						
							|  |  |  |       # day and time zone are either specified elsewhere or are insignificant. The | 
					
						
							|  |  |  |       # date is relative to the Gregorian Calendar. This can represent one of the | 
					
						
							|  |  |  |       # following: * A full date, with non-zero year, month, and day values * A month | 
					
						
							|  |  |  |       # and day value, with a zero year, such as an anniversary * A year on its own, | 
					
						
							|  |  |  |       # with zero month and day values * A year and month value, with a zero day, such | 
					
						
							|  |  |  |       # as a credit card expiration date Related types are google.type.TimeOfDay and ` | 
					
						
							|  |  |  |       # google.protobuf.Timestamp`. | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |       class Date | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-10-14 00:38:44 +00:00
										 |  |  |         # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to | 
					
						
							|  |  |  |         # specify a year by itself or a year and month where the day isn't significant. | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # Corresponds to the JSON property `day` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :day | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-10-14 00:38:44 +00:00
										 |  |  |         # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month | 
					
						
							| 
									
										
										
										
											2020-08-04 00:38:33 +00:00
										 |  |  |         # and day. | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # Corresponds to the JSON property `month` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :month | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-10-14 00:38:44 +00:00
										 |  |  |         # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a | 
					
						
							|  |  |  |         # year. | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # Corresponds to the JSON property `year` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :year | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @day = args[:day] if args.key?(:day) | 
					
						
							|  |  |  |           @month = args[:month] if args.key?(:month) | 
					
						
							|  |  |  |           @year = args[:year] if args.key?(:year) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # Specification of a single date range. Both dates are inclusive. | 
					
						
							|  |  |  |       class DateRange | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-10-14 00:38:44 +00:00
										 |  |  |         # Represents a whole or partial calendar date, such as a birthday. The time of | 
					
						
							|  |  |  |         # day and time zone are either specified elsewhere or are insignificant. The | 
					
						
							|  |  |  |         # date is relative to the Gregorian Calendar. This can represent one of the | 
					
						
							|  |  |  |         # following: * A full date, with non-zero year, month, and day values * A month | 
					
						
							|  |  |  |         # and day value, with a zero year, such as an anniversary * A year on its own, | 
					
						
							|  |  |  |         # with zero month and day values * A year and month value, with a zero day, such | 
					
						
							|  |  |  |         # as a credit card expiration date Related types are google.type.TimeOfDay and ` | 
					
						
							|  |  |  |         # google.protobuf.Timestamp`. | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # Corresponds to the JSON property `endDate` | 
					
						
							|  |  |  |         # @return [Google::Apis::AdmobV1::Date] | 
					
						
							|  |  |  |         attr_accessor :end_date | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-10-14 00:38:44 +00:00
										 |  |  |         # Represents a whole or partial calendar date, such as a birthday. The time of | 
					
						
							|  |  |  |         # day and time zone are either specified elsewhere or are insignificant. The | 
					
						
							|  |  |  |         # date is relative to the Gregorian Calendar. This can represent one of the | 
					
						
							|  |  |  |         # following: * A full date, with non-zero year, month, and day values * A month | 
					
						
							|  |  |  |         # and day value, with a zero year, such as an anniversary * A year on its own, | 
					
						
							|  |  |  |         # with zero month and day values * A year and month value, with a zero day, such | 
					
						
							|  |  |  |         # as a credit card expiration date Related types are google.type.TimeOfDay and ` | 
					
						
							|  |  |  |         # google.protobuf.Timestamp`. | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # Corresponds to the JSON property `startDate` | 
					
						
							|  |  |  |         # @return [Google::Apis::AdmobV1::Date] | 
					
						
							|  |  |  |         attr_accessor :start_date | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @end_date = args[:end_date] if args.key?(:end_date) | 
					
						
							|  |  |  |           @start_date = args[:start_date] if args.key?(:start_date) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # Request to generate an AdMob Mediation report. | 
					
						
							|  |  |  |       class GenerateMediationReportRequest | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-08-04 00:38:33 +00:00
										 |  |  |         # The specification for generating an AdMob Mediation report. For example, the | 
					
						
							|  |  |  |         # specification to get observed ECPM sliced by ad source and app for the 'US' | 
					
						
							|  |  |  |         # and 'CN' countries can look like the following example: ` "date_range": ` " | 
					
						
							|  |  |  |         # start_date": `"year": 2018, "month": 9, "day": 1`, "end_date": `"year": 2018, " | 
					
						
							|  |  |  |         # month": 9, "day": 30` `, "dimensions": ["AD_SOURCE", "APP", "COUNTRY"], " | 
					
						
							|  |  |  |         # metrics": ["OBSERVED_ECPM"], "dimension_filters": [ ` "dimension": "COUNTRY", " | 
					
						
							|  |  |  |         # matches_any": `"values": [`"value": "US", "value": "CN"`]` ` ], " | 
					
						
							|  |  |  |         # sort_conditions": [ `"dimension":"APP", order: "ASCENDING"` ], " | 
					
						
							|  |  |  |         # localization_settings": ` "currency_code": "USD", "language_code": "en-US" ` ` | 
					
						
							|  |  |  |         # For a better understanding, you can treat the preceding specification like the | 
					
						
							|  |  |  |         # following pseudo SQL: SELECT AD_SOURCE, APP, COUNTRY, OBSERVED_ECPM FROM | 
					
						
							|  |  |  |         # MEDIATION_REPORT WHERE DATE >= '2018-09-01' AND DATE <= '2018-09-30' AND | 
					
						
							|  |  |  |         # COUNTRY IN ('US', 'CN') GROUP BY AD_SOURCE, APP, COUNTRY ORDER BY APP ASC; | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # Corresponds to the JSON property `reportSpec` | 
					
						
							|  |  |  |         # @return [Google::Apis::AdmobV1::MediationReportSpec] | 
					
						
							|  |  |  |         attr_accessor :report_spec | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @report_spec = args[:report_spec] if args.key?(:report_spec) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-08-04 00:38:33 +00:00
										 |  |  |       # The streaming response for the AdMob Mediation report where the first response | 
					
						
							|  |  |  |       # contains the report header, then a stream of row responses, and finally a | 
					
						
							|  |  |  |       # footer as the last response message. For example: [` "header": ` "date_range": | 
					
						
							|  |  |  |       # ` "start_date": `"year": 2018, "month": 9, "day": 1`, "end_date": `"year": | 
					
						
							|  |  |  |       # 2018, "month": 9, "day": 1` `, "localization_settings": ` "currency_code": " | 
					
						
							|  |  |  |       # USD", "language_code": "en-US" ` ` `, ` "row": ` "dimension_values": ` "DATE": | 
					
						
							|  |  |  |       # `"value": "20180918"`, "APP": ` "value": "ca-app-pub-8123415297019784~ | 
					
						
							|  |  |  |       # 1001342552", "display_label": "My app name!" ` `, "metric_values": ` " | 
					
						
							|  |  |  |       # ESTIMATED_EARNINGS": `"decimal_value": "1324746"` ` ` `, ` "footer": `" | 
					
						
							|  |  |  |       # matching_row_count": 1` `] | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |       class GenerateMediationReportResponse | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Groups data available after report generation, for example, warnings and row | 
					
						
							|  |  |  |         # counts. Always sent as the last message in the stream response. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `footer` | 
					
						
							|  |  |  |         # @return [Google::Apis::AdmobV1::ReportFooter] | 
					
						
							|  |  |  |         attr_accessor :footer | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Groups data helps to treat the generated report. Always sent as a first | 
					
						
							|  |  |  |         # message in the stream response. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `header` | 
					
						
							|  |  |  |         # @return [Google::Apis::AdmobV1::ReportHeader] | 
					
						
							|  |  |  |         attr_accessor :header | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # A row of the returning report. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `row` | 
					
						
							|  |  |  |         # @return [Google::Apis::AdmobV1::ReportRow] | 
					
						
							|  |  |  |         attr_accessor :row | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @footer = args[:footer] if args.key?(:footer) | 
					
						
							|  |  |  |           @header = args[:header] if args.key?(:header) | 
					
						
							|  |  |  |           @row = args[:row] if args.key?(:row) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # Request to generate an AdMob Network report. | 
					
						
							|  |  |  |       class GenerateNetworkReportRequest | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-08-04 00:38:33 +00:00
										 |  |  |         # The specification for generating an AdMob Network report. For example, the | 
					
						
							|  |  |  |         # specification to get clicks and estimated earnings for only the 'US' and 'CN' | 
					
						
							|  |  |  |         # countries can look like the following example: ` 'date_range': ` 'start_date': | 
					
						
							|  |  |  |         # `'year': 2018, 'month': 9, 'day': 1`, 'end_date': `'year': 2018, 'month': 9, ' | 
					
						
							|  |  |  |         # day': 30` `, 'dimensions': ['DATE', 'APP', 'COUNTRY'], 'metrics': ['CLICKS', ' | 
					
						
							|  |  |  |         # ESTIMATED_EARNINGS'], 'dimension_filters': [ ` 'dimension': 'COUNTRY', ' | 
					
						
							|  |  |  |         # matches_any': `'values': [`'value': 'US', 'value': 'CN'`]` ` ], ' | 
					
						
							|  |  |  |         # sort_conditions': [ `'dimension':'APP', order: 'ASCENDING'`, `'metric':'CLICKS' | 
					
						
							|  |  |  |         # , order: 'DESCENDING'` ], 'localization_settings': ` 'currency_code': 'USD', ' | 
					
						
							|  |  |  |         # language_code': 'en-US' ` ` For a better understanding, you can treat the | 
					
						
							|  |  |  |         # preceding specification like the following pseudo SQL: SELECT DATE, APP, | 
					
						
							|  |  |  |         # COUNTRY, CLICKS, ESTIMATED_EARNINGS FROM NETWORK_REPORT WHERE DATE >= '2018-09- | 
					
						
							|  |  |  |         # 01' AND DATE <= '2018-09-30' AND COUNTRY IN ('US', 'CN') GROUP BY DATE, APP, | 
					
						
							|  |  |  |         # COUNTRY ORDER BY APP ASC, CLICKS DESC; | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # Corresponds to the JSON property `reportSpec` | 
					
						
							|  |  |  |         # @return [Google::Apis::AdmobV1::NetworkReportSpec] | 
					
						
							|  |  |  |         attr_accessor :report_spec | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @report_spec = args[:report_spec] if args.key?(:report_spec) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # The streaming response for the AdMob Network report where the first response | 
					
						
							|  |  |  |       # contains the report header, then a stream of row responses, and finally a | 
					
						
							| 
									
										
										
										
											2020-08-04 00:38:33 +00:00
										 |  |  |       # footer as the last response message. For example: [` "header": ` "dateRange": ` | 
					
						
							|  |  |  |       # "startDate": `"year": 2018, "month": 9, "day": 1`, "endDate": `"year": 2018, " | 
					
						
							|  |  |  |       # month": 9, "day": 1` `, "localizationSettings": ` "currencyCode": "USD", " | 
					
						
							|  |  |  |       # languageCode": "en-US" ` ` `, ` "row": ` "dimensionValues": ` "DATE": `"value": | 
					
						
							|  |  |  |       # "20180918"`, "APP": ` "value": "ca-app-pub-8123415297019784~1001342552", | 
					
						
							|  |  |  |       # displayLabel: "My app name!" ` `, "metricValues": ` "ESTIMATED_EARNINGS": `" | 
					
						
							|  |  |  |       # microsValue": 6500000` ` ` `, ` "footer": `"matchingRowCount": 1` `] | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |       class GenerateNetworkReportResponse | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Groups data available after report generation, for example, warnings and row | 
					
						
							|  |  |  |         # counts. Always sent as the last message in the stream response. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `footer` | 
					
						
							|  |  |  |         # @return [Google::Apis::AdmobV1::ReportFooter] | 
					
						
							|  |  |  |         attr_accessor :footer | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Groups data helps to treat the generated report. Always sent as a first | 
					
						
							|  |  |  |         # message in the stream response. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `header` | 
					
						
							|  |  |  |         # @return [Google::Apis::AdmobV1::ReportHeader] | 
					
						
							|  |  |  |         attr_accessor :header | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # A row of the returning report. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `row` | 
					
						
							|  |  |  |         # @return [Google::Apis::AdmobV1::ReportRow] | 
					
						
							|  |  |  |         attr_accessor :row | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @footer = args[:footer] if args.key?(:footer) | 
					
						
							|  |  |  |           @header = args[:header] if args.key?(:header) | 
					
						
							|  |  |  |           @row = args[:row] if args.key?(:row) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # Response for the publisher account list request. | 
					
						
							|  |  |  |       class ListPublisherAccountsResponse | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Publisher that the client credentials can access. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `account` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::AdmobV1::PublisherAccount>] | 
					
						
							|  |  |  |         attr_accessor :account | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-08-04 00:38:33 +00:00
										 |  |  |         # If not empty, indicates that there might be more accounts for the request; you | 
					
						
							|  |  |  |         # must pass this value in a new `ListPublisherAccountsRequest`. | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # Corresponds to the JSON property `nextPageToken` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :next_page_token | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @account = args[:account] if args.key?(:account) | 
					
						
							|  |  |  |           @next_page_token = args[:next_page_token] if args.key?(:next_page_token) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # Localization settings for reports, such as currency and language. It affects | 
					
						
							|  |  |  |       # how metrics are calculated. | 
					
						
							|  |  |  |       class LocalizationSettings | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Currency code of the earning related metrics, which is the 3-letter code | 
					
						
							|  |  |  |         # defined in ISO 4217. The daily average rate is used for the currency | 
					
						
							|  |  |  |         # conversion. Defaults to the account currency code if unspecified. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `currencyCode` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :currency_code | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Language used for any localized text, such as some dimension value display | 
					
						
							|  |  |  |         # labels. The language tag defined in the IETF BCP47. Defaults to 'en-US' if | 
					
						
							|  |  |  |         # unspecified. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `languageCode` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :language_code | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @currency_code = args[:currency_code] if args.key?(:currency_code) | 
					
						
							|  |  |  |           @language_code = args[:language_code] if args.key?(:language_code) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-08-04 00:38:33 +00:00
										 |  |  |       # The specification for generating an AdMob Mediation report. For example, the | 
					
						
							|  |  |  |       # specification to get observed ECPM sliced by ad source and app for the 'US' | 
					
						
							|  |  |  |       # and 'CN' countries can look like the following example: ` "date_range": ` " | 
					
						
							|  |  |  |       # start_date": `"year": 2018, "month": 9, "day": 1`, "end_date": `"year": 2018, " | 
					
						
							|  |  |  |       # month": 9, "day": 30` `, "dimensions": ["AD_SOURCE", "APP", "COUNTRY"], " | 
					
						
							|  |  |  |       # metrics": ["OBSERVED_ECPM"], "dimension_filters": [ ` "dimension": "COUNTRY", " | 
					
						
							|  |  |  |       # matches_any": `"values": [`"value": "US", "value": "CN"`]` ` ], " | 
					
						
							|  |  |  |       # sort_conditions": [ `"dimension":"APP", order: "ASCENDING"` ], " | 
					
						
							|  |  |  |       # localization_settings": ` "currency_code": "USD", "language_code": "en-US" ` ` | 
					
						
							|  |  |  |       # For a better understanding, you can treat the preceding specification like the | 
					
						
							|  |  |  |       # following pseudo SQL: SELECT AD_SOURCE, APP, COUNTRY, OBSERVED_ECPM FROM | 
					
						
							|  |  |  |       # MEDIATION_REPORT WHERE DATE >= '2018-09-01' AND DATE <= '2018-09-30' AND | 
					
						
							|  |  |  |       # COUNTRY IN ('US', 'CN') GROUP BY AD_SOURCE, APP, COUNTRY ORDER BY APP ASC; | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |       class MediationReportSpec | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Specification of a single date range. Both dates are inclusive. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `dateRange` | 
					
						
							|  |  |  |         # @return [Google::Apis::AdmobV1::DateRange] | 
					
						
							|  |  |  |         attr_accessor :date_range | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Describes which report rows to match based on their dimension values. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `dimensionFilters` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::AdmobV1::MediationReportSpecDimensionFilter>] | 
					
						
							|  |  |  |         attr_accessor :dimension_filters | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # List of dimensions of the report. The value combination of these dimensions | 
					
						
							| 
									
										
										
										
											2020-08-04 00:38:33 +00:00
										 |  |  |         # determines the row of the report. If no dimensions are specified, the report | 
					
						
							|  |  |  |         # returns a single row of requested metrics for the entire account. | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # Corresponds to the JSON property `dimensions` | 
					
						
							|  |  |  |         # @return [Array<String>] | 
					
						
							|  |  |  |         attr_accessor :dimensions | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Localization settings for reports, such as currency and language. It affects | 
					
						
							|  |  |  |         # how metrics are calculated. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `localizationSettings` | 
					
						
							|  |  |  |         # @return [Google::Apis::AdmobV1::LocalizationSettings] | 
					
						
							|  |  |  |         attr_accessor :localization_settings | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-08-04 00:38:33 +00:00
										 |  |  |         # Maximum number of report data rows to return. If the value is not set, the API | 
					
						
							|  |  |  |         # returns as many rows as possible, up to 100000. Acceptable values are 1-100000, | 
					
						
							| 
									
										
										
										
											2020-09-15 00:38:05 +00:00
										 |  |  |         # inclusive. Values larger than 100000 return an error. | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # Corresponds to the JSON property `maxReportRows` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :max_report_rows | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # List of metrics of the report. A report must specify at least one metric. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `metrics` | 
					
						
							|  |  |  |         # @return [Array<String>] | 
					
						
							|  |  |  |         attr_accessor :metrics | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-08-04 00:38:33 +00:00
										 |  |  |         # Describes the sorting of report rows. The order of the condition in the list | 
					
						
							|  |  |  |         # defines its precedence; the earlier the condition, the higher its precedence. | 
					
						
							|  |  |  |         # If no sort conditions are specified, the row ordering is undefined. | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # Corresponds to the JSON property `sortConditions` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::AdmobV1::MediationReportSpecSortCondition>] | 
					
						
							|  |  |  |         attr_accessor :sort_conditions | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-08-04 00:38:33 +00:00
										 |  |  |         # A report time zone. Accepts an IANA TZ name values, such as "America/ | 
					
						
							|  |  |  |         # Los_Angeles." If no time zone is defined, the account default takes effect. | 
					
						
							|  |  |  |         # Check default value by the get account action. **Warning:** The "America/ | 
					
						
							|  |  |  |         # Los_Angeles" is the only supported value at the moment. | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # Corresponds to the JSON property `timeZone` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :time_zone | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @date_range = args[:date_range] if args.key?(:date_range) | 
					
						
							|  |  |  |           @dimension_filters = args[:dimension_filters] if args.key?(:dimension_filters) | 
					
						
							|  |  |  |           @dimensions = args[:dimensions] if args.key?(:dimensions) | 
					
						
							|  |  |  |           @localization_settings = args[:localization_settings] if args.key?(:localization_settings) | 
					
						
							|  |  |  |           @max_report_rows = args[:max_report_rows] if args.key?(:max_report_rows) | 
					
						
							|  |  |  |           @metrics = args[:metrics] if args.key?(:metrics) | 
					
						
							|  |  |  |           @sort_conditions = args[:sort_conditions] if args.key?(:sort_conditions) | 
					
						
							|  |  |  |           @time_zone = args[:time_zone] if args.key?(:time_zone) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # Describes which report rows to match based on their dimension values. | 
					
						
							|  |  |  |       class MediationReportSpecDimensionFilter | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Applies the filter criterion to the specified dimension. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `dimension` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :dimension | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # List of string values. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `matchesAny` | 
					
						
							|  |  |  |         # @return [Google::Apis::AdmobV1::StringList] | 
					
						
							|  |  |  |         attr_accessor :matches_any | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @dimension = args[:dimension] if args.key?(:dimension) | 
					
						
							|  |  |  |           @matches_any = args[:matches_any] if args.key?(:matches_any) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # Sorting direction to be applied on a dimension or a metric. | 
					
						
							|  |  |  |       class MediationReportSpecSortCondition | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Sort by the specified dimension. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `dimension` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :dimension | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Sort by the specified metric. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `metric` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :metric | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Sorting order of the dimension or metric. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `order` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :order | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @dimension = args[:dimension] if args.key?(:dimension) | 
					
						
							|  |  |  |           @metric = args[:metric] if args.key?(:metric) | 
					
						
							|  |  |  |           @order = args[:order] if args.key?(:order) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-08-04 00:38:33 +00:00
										 |  |  |       # The specification for generating an AdMob Network report. For example, the | 
					
						
							|  |  |  |       # specification to get clicks and estimated earnings for only the 'US' and 'CN' | 
					
						
							|  |  |  |       # countries can look like the following example: ` 'date_range': ` 'start_date': | 
					
						
							|  |  |  |       # `'year': 2018, 'month': 9, 'day': 1`, 'end_date': `'year': 2018, 'month': 9, ' | 
					
						
							|  |  |  |       # day': 30` `, 'dimensions': ['DATE', 'APP', 'COUNTRY'], 'metrics': ['CLICKS', ' | 
					
						
							|  |  |  |       # ESTIMATED_EARNINGS'], 'dimension_filters': [ ` 'dimension': 'COUNTRY', ' | 
					
						
							|  |  |  |       # matches_any': `'values': [`'value': 'US', 'value': 'CN'`]` ` ], ' | 
					
						
							|  |  |  |       # sort_conditions': [ `'dimension':'APP', order: 'ASCENDING'`, `'metric':'CLICKS' | 
					
						
							|  |  |  |       # , order: 'DESCENDING'` ], 'localization_settings': ` 'currency_code': 'USD', ' | 
					
						
							|  |  |  |       # language_code': 'en-US' ` ` For a better understanding, you can treat the | 
					
						
							|  |  |  |       # preceding specification like the following pseudo SQL: SELECT DATE, APP, | 
					
						
							|  |  |  |       # COUNTRY, CLICKS, ESTIMATED_EARNINGS FROM NETWORK_REPORT WHERE DATE >= '2018-09- | 
					
						
							|  |  |  |       # 01' AND DATE <= '2018-09-30' AND COUNTRY IN ('US', 'CN') GROUP BY DATE, APP, | 
					
						
							|  |  |  |       # COUNTRY ORDER BY APP ASC, CLICKS DESC; | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |       class NetworkReportSpec | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Specification of a single date range. Both dates are inclusive. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `dateRange` | 
					
						
							|  |  |  |         # @return [Google::Apis::AdmobV1::DateRange] | 
					
						
							|  |  |  |         attr_accessor :date_range | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Describes which report rows to match based on their dimension values. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `dimensionFilters` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::AdmobV1::NetworkReportSpecDimensionFilter>] | 
					
						
							|  |  |  |         attr_accessor :dimension_filters | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # List of dimensions of the report. The value combination of these dimensions | 
					
						
							| 
									
										
										
										
											2020-08-04 00:38:33 +00:00
										 |  |  |         # determines the row of the report. If no dimensions are specified, the report | 
					
						
							|  |  |  |         # returns a single row of requested metrics for the entire account. | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # Corresponds to the JSON property `dimensions` | 
					
						
							|  |  |  |         # @return [Array<String>] | 
					
						
							|  |  |  |         attr_accessor :dimensions | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Localization settings for reports, such as currency and language. It affects | 
					
						
							|  |  |  |         # how metrics are calculated. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `localizationSettings` | 
					
						
							|  |  |  |         # @return [Google::Apis::AdmobV1::LocalizationSettings] | 
					
						
							|  |  |  |         attr_accessor :localization_settings | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-08-04 00:38:33 +00:00
										 |  |  |         # Maximum number of report data rows to return. If the value is not set, the API | 
					
						
							|  |  |  |         # returns as many rows as possible, up to 100000. Acceptable values are 1-100000, | 
					
						
							| 
									
										
										
										
											2020-09-15 00:38:05 +00:00
										 |  |  |         # inclusive. Values larger than 100000 return an error. | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # Corresponds to the JSON property `maxReportRows` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :max_report_rows | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # List of metrics of the report. A report must specify at least one metric. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `metrics` | 
					
						
							|  |  |  |         # @return [Array<String>] | 
					
						
							|  |  |  |         attr_accessor :metrics | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-08-04 00:38:33 +00:00
										 |  |  |         # Describes the sorting of report rows. The order of the condition in the list | 
					
						
							|  |  |  |         # defines its precedence; the earlier the condition, the higher its precedence. | 
					
						
							|  |  |  |         # If no sort conditions are specified, the row ordering is undefined. | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # Corresponds to the JSON property `sortConditions` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::AdmobV1::NetworkReportSpecSortCondition>] | 
					
						
							|  |  |  |         attr_accessor :sort_conditions | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-08-04 00:38:33 +00:00
										 |  |  |         # A report time zone. Accepts an IANA TZ name values, such as "America/ | 
					
						
							|  |  |  |         # Los_Angeles." If no time zone is defined, the account default takes effect. | 
					
						
							|  |  |  |         # Check default value by the get account action. **Warning:** The "America/ | 
					
						
							|  |  |  |         # Los_Angeles" is the only supported value at the moment. | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # Corresponds to the JSON property `timeZone` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :time_zone | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @date_range = args[:date_range] if args.key?(:date_range) | 
					
						
							|  |  |  |           @dimension_filters = args[:dimension_filters] if args.key?(:dimension_filters) | 
					
						
							|  |  |  |           @dimensions = args[:dimensions] if args.key?(:dimensions) | 
					
						
							|  |  |  |           @localization_settings = args[:localization_settings] if args.key?(:localization_settings) | 
					
						
							|  |  |  |           @max_report_rows = args[:max_report_rows] if args.key?(:max_report_rows) | 
					
						
							|  |  |  |           @metrics = args[:metrics] if args.key?(:metrics) | 
					
						
							|  |  |  |           @sort_conditions = args[:sort_conditions] if args.key?(:sort_conditions) | 
					
						
							|  |  |  |           @time_zone = args[:time_zone] if args.key?(:time_zone) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # Describes which report rows to match based on their dimension values. | 
					
						
							|  |  |  |       class NetworkReportSpecDimensionFilter | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Applies the filter criterion to the specified dimension. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `dimension` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :dimension | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # List of string values. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `matchesAny` | 
					
						
							|  |  |  |         # @return [Google::Apis::AdmobV1::StringList] | 
					
						
							|  |  |  |         attr_accessor :matches_any | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @dimension = args[:dimension] if args.key?(:dimension) | 
					
						
							|  |  |  |           @matches_any = args[:matches_any] if args.key?(:matches_any) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # Sorting direction to be applied on a dimension or a metric. | 
					
						
							|  |  |  |       class NetworkReportSpecSortCondition | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Sort by the specified dimension. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `dimension` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :dimension | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Sort by the specified metric. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `metric` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :metric | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Sorting order of the dimension or metric. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `order` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :order | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @dimension = args[:dimension] if args.key?(:dimension) | 
					
						
							|  |  |  |           @metric = args[:metric] if args.key?(:metric) | 
					
						
							|  |  |  |           @order = args[:order] if args.key?(:order) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-08-04 00:38:33 +00:00
										 |  |  |       # A publisher account contains information relevant to the use of this API, such | 
					
						
							|  |  |  |       # as the time zone used for the reports. | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |       class PublisherAccount | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Currency code of the earning-related metrics, which is the 3-letter code | 
					
						
							|  |  |  |         # defined in ISO 4217. The daily average rate is used for the currency | 
					
						
							|  |  |  |         # conversion. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `currencyCode` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :currency_code | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-08-04 00:38:33 +00:00
										 |  |  |         # Resource name of this account. Format is accounts/`publisher_id`. | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # Corresponds to the JSON property `name` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :name | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-08-04 00:38:33 +00:00
										 |  |  |         # The unique ID by which this publisher account can be identified in the API | 
					
						
							|  |  |  |         # requests (for example, pub-1234567890). | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # Corresponds to the JSON property `publisherId` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :publisher_id | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-08-04 00:38:33 +00:00
										 |  |  |         # The time zone that is used in reports that are generated for this account. The | 
					
						
							|  |  |  |         # value is a time-zone ID as specified by the CLDR project, for example, " | 
					
						
							|  |  |  |         # America/Los_Angeles". | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # Corresponds to the JSON property `reportingTimeZone` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :reporting_time_zone | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @currency_code = args[:currency_code] if args.key?(:currency_code) | 
					
						
							|  |  |  |           @name = args[:name] if args.key?(:name) | 
					
						
							|  |  |  |           @publisher_id = args[:publisher_id] if args.key?(:publisher_id) | 
					
						
							|  |  |  |           @reporting_time_zone = args[:reporting_time_zone] if args.key?(:reporting_time_zone) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # Groups data available after report generation, for example, warnings and row | 
					
						
							|  |  |  |       # counts. Always sent as the last message in the stream response. | 
					
						
							|  |  |  |       class ReportFooter | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-08-04 00:38:33 +00:00
										 |  |  |         # Total number of rows that matched the request. Warning: This count does NOT | 
					
						
							|  |  |  |         # always match the number of rows in the response. Do not make that assumption | 
					
						
							|  |  |  |         # when processing the response. | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # Corresponds to the JSON property `matchingRowCount` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :matching_row_count | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Warnings associated with generation of the report. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `warnings` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::AdmobV1::ReportWarning>] | 
					
						
							|  |  |  |         attr_accessor :warnings | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @matching_row_count = args[:matching_row_count] if args.key?(:matching_row_count) | 
					
						
							|  |  |  |           @warnings = args[:warnings] if args.key?(:warnings) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # Groups data helps to treat the generated report. Always sent as a first | 
					
						
							|  |  |  |       # message in the stream response. | 
					
						
							|  |  |  |       class ReportHeader | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Specification of a single date range. Both dates are inclusive. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `dateRange` | 
					
						
							|  |  |  |         # @return [Google::Apis::AdmobV1::DateRange] | 
					
						
							|  |  |  |         attr_accessor :date_range | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Localization settings for reports, such as currency and language. It affects | 
					
						
							|  |  |  |         # how metrics are calculated. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `localizationSettings` | 
					
						
							|  |  |  |         # @return [Google::Apis::AdmobV1::LocalizationSettings] | 
					
						
							|  |  |  |         attr_accessor :localization_settings | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The report time zone. The value is a time-zone ID as specified by the CLDR | 
					
						
							|  |  |  |         # project, for example, "America/Los_Angeles". | 
					
						
							|  |  |  |         # Corresponds to the JSON property `reportingTimeZone` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :reporting_time_zone | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @date_range = args[:date_range] if args.key?(:date_range) | 
					
						
							|  |  |  |           @localization_settings = args[:localization_settings] if args.key?(:localization_settings) | 
					
						
							|  |  |  |           @reporting_time_zone = args[:reporting_time_zone] if args.key?(:reporting_time_zone) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # A row of the returning report. | 
					
						
							|  |  |  |       class ReportRow | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Map of dimension values in a row, with keys as enum name of the dimensions. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `dimensionValues` | 
					
						
							|  |  |  |         # @return [Hash<String,Google::Apis::AdmobV1::ReportRowDimensionValue>] | 
					
						
							|  |  |  |         attr_accessor :dimension_values | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-08-04 00:38:33 +00:00
										 |  |  |         # Map of metric values in a row, with keys as enum name of the metrics. If a | 
					
						
							|  |  |  |         # metric being requested has no value returned, the map will not include it. | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # Corresponds to the JSON property `metricValues` | 
					
						
							|  |  |  |         # @return [Hash<String,Google::Apis::AdmobV1::ReportRowMetricValue>] | 
					
						
							|  |  |  |         attr_accessor :metric_values | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @dimension_values = args[:dimension_values] if args.key?(:dimension_values) | 
					
						
							|  |  |  |           @metric_values = args[:metric_values] if args.key?(:metric_values) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # Representation of a dimension value. | 
					
						
							|  |  |  |       class ReportRowDimensionValue | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-08-04 00:38:33 +00:00
										 |  |  |         # The localized string representation of the value. If unspecified, the display | 
					
						
							|  |  |  |         # label should be derived from the value. | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # Corresponds to the JSON property `displayLabel` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :display_label | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-08-04 00:38:33 +00:00
										 |  |  |         # Dimension value in the format specified in the report's spec Dimension enum. | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # Corresponds to the JSON property `value` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :value | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @display_label = args[:display_label] if args.key?(:display_label) | 
					
						
							|  |  |  |           @value = args[:value] if args.key?(:value) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # Representation of a metric value. | 
					
						
							|  |  |  |       class ReportRowMetricValue | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Double precision (approximate) decimal values. Rates are from 0 to 1. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `doubleValue` | 
					
						
							|  |  |  |         # @return [Float] | 
					
						
							|  |  |  |         attr_accessor :double_value | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Metric integer value. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `integerValue` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :integer_value | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2020-08-04 00:38:33 +00:00
										 |  |  |         # Amount in micros. One million is equivalent to one unit. Currency value is in | 
					
						
							|  |  |  |         # the unit (USD, EUR or other) specified by the request. For example, $6.50 | 
					
						
							|  |  |  |         # whould be represented as 6500000 micros. | 
					
						
							| 
									
										
										
										
											2020-01-31 00:37:48 +00:00
										 |  |  |         # Corresponds to the JSON property `microsValue` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :micros_value | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @double_value = args[:double_value] if args.key?(:double_value) | 
					
						
							|  |  |  |           @integer_value = args[:integer_value] if args.key?(:integer_value) | 
					
						
							|  |  |  |           @micros_value = args[:micros_value] if args.key?(:micros_value) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # Warnings associated with generation of the report. | 
					
						
							|  |  |  |       class ReportWarning | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Describes the details of the warning message, in English. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `description` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :description | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Type of the warning. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `type` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :type | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @description = args[:description] if args.key?(:description) | 
					
						
							|  |  |  |           @type = args[:type] if args.key?(:type) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # List of string values. | 
					
						
							|  |  |  |       class StringList | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The string values. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `values` | 
					
						
							|  |  |  |         # @return [Array<String>] | 
					
						
							|  |  |  |         attr_accessor :values | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @values = args[:values] if args.key?(:values) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end |