google-apis-admob_v1beta 0.22.0 → 0.24.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -103,6 +103,11 @@ module Google
103
103
  # @return [String]
104
104
  attr_accessor :name
105
105
 
106
+ # Settings for a rewarded ad unit.
107
+ # Corresponds to the JSON property `rewardSettings`
108
+ # @return [Google::Apis::AdmobV1beta::AdUnitRewardSettings]
109
+ attr_accessor :reward_settings
110
+
106
111
  def initialize(**args)
107
112
  update!(**args)
108
113
  end
@@ -115,6 +120,174 @@ module Google
115
120
  @app_id = args[:app_id] if args.key?(:app_id)
116
121
  @display_name = args[:display_name] if args.key?(:display_name)
117
122
  @name = args[:name] if args.key?(:name)
123
+ @reward_settings = args[:reward_settings] if args.key?(:reward_settings)
124
+ end
125
+ end
126
+
127
+ # Settings to map an AdMob ad unit to a 3rd party ad unit.
128
+ class AdUnitMapping
129
+ include Google::Apis::Core::Hashable
130
+
131
+ # Settings for the specified ad unit to make an ad request to 3rd party ad
132
+ # network. Key-value pairs with values set by the user for the keys requested by
133
+ # the ad network. Please see https://support.google.com/admob/answer/3245073 for
134
+ # details on how to configure the network settings.
135
+ # Corresponds to the JSON property `adUnitConfigurations`
136
+ # @return [Hash<String,String>]
137
+ attr_accessor :ad_unit_configurations
138
+
139
+ # The ID of mediation ad source adapter used by this ad unit mapping. The
140
+ # adapter determines the information needed in the ad_network_settings.
141
+ # Corresponds to the JSON property `adapterId`
142
+ # @return [Fixnum]
143
+ attr_accessor :adapter_id
144
+
145
+ # Optional. The display name of this ad unit mapping instance.
146
+ # Corresponds to the JSON property `displayName`
147
+ # @return [String]
148
+ attr_accessor :display_name
149
+
150
+ # Resource name of this ad unit mapping. Format is: accounts/`publisher_id`/
151
+ # adUnits/`ad_unit_id_fragment`/adUnitMappings/`ad_unit_mapping_id` Example:
152
+ # accounts/pub-1234567890123456/adUnits/0123456789/adUnitMappings/987654321
153
+ # Corresponds to the JSON property `name`
154
+ # @return [String]
155
+ attr_accessor :name
156
+
157
+ # Output only. The status of this ad unit mapping.
158
+ # Corresponds to the JSON property `state`
159
+ # @return [String]
160
+ attr_accessor :state
161
+
162
+ def initialize(**args)
163
+ update!(**args)
164
+ end
165
+
166
+ # Update properties of this object
167
+ def update!(**args)
168
+ @ad_unit_configurations = args[:ad_unit_configurations] if args.key?(:ad_unit_configurations)
169
+ @adapter_id = args[:adapter_id] if args.key?(:adapter_id)
170
+ @display_name = args[:display_name] if args.key?(:display_name)
171
+ @name = args[:name] if args.key?(:name)
172
+ @state = args[:state] if args.key?(:state)
173
+ end
174
+ end
175
+
176
+ # Settings for a rewarded ad unit.
177
+ class AdUnitRewardSettings
178
+ include Google::Apis::Core::Hashable
179
+
180
+ # Reward amount for this ad unit.
181
+ # Corresponds to the JSON property `unitAmount`
182
+ # @return [Fixnum]
183
+ attr_accessor :unit_amount
184
+
185
+ # Reward item for this ad unit.
186
+ # Corresponds to the JSON property `unitType`
187
+ # @return [String]
188
+ attr_accessor :unit_type
189
+
190
+ def initialize(**args)
191
+ update!(**args)
192
+ end
193
+
194
+ # Update properties of this object
195
+ def update!(**args)
196
+ @unit_amount = args[:unit_amount] if args.key?(:unit_amount)
197
+ @unit_type = args[:unit_type] if args.key?(:unit_type)
198
+ end
199
+ end
200
+
201
+ # Describes adapters supported by each mediation ad source. Adapters correspond
202
+ # to a specific SDK implementation of the ad source, and are each associated
203
+ # with a single platform and a list of supported ad unit formats. Adapters may
204
+ # also require setting some configurations to perform ad requests.
205
+ # Configurations can be specified in the AdUnitMapping by setting the [
206
+ # ad_unit_configurations](#AdUnitMapping.ad_unit_configurations) key/value pairs.
207
+ # For example, the ad_unit_configurations can be used to pass various IDs to
208
+ # the adapter's third-party SDK.
209
+ class Adapter
210
+ include Google::Apis::Core::Hashable
211
+
212
+ # Output only. Configuration metadata associated with this adapter.
213
+ # Corresponds to the JSON property `adapterConfigMetadata`
214
+ # @return [Array<Google::Apis::AdmobV1beta::AdapterAdapterConfigMetadata>]
215
+ attr_accessor :adapter_config_metadata
216
+
217
+ # Output only. ID of this adapter. It is used to set [adapter_id](#AdUnitMapping.
218
+ # adapter_id).
219
+ # Corresponds to the JSON property `adapterId`
220
+ # @return [String]
221
+ attr_accessor :adapter_id
222
+
223
+ # Output only. Indicates the formats of the ad units supported by this adapter.
224
+ # Corresponds to the JSON property `formats`
225
+ # @return [Array<String>]
226
+ attr_accessor :formats
227
+
228
+ # Output only. Resource name of the adapter. Format is: accounts/`publisher_id`/
229
+ # adSources/`ad_source_id`/adapters/`adapter_id`.
230
+ # Corresponds to the JSON property `name`
231
+ # @return [String]
232
+ attr_accessor :name
233
+
234
+ # Output only. Mobile application platform supported by this adapter. Supported
235
+ # values are: IOS, ANDROID, WINDOWS_PHONE
236
+ # Corresponds to the JSON property `platform`
237
+ # @return [String]
238
+ attr_accessor :platform
239
+
240
+ # Output only. The display name of this adapter.
241
+ # Corresponds to the JSON property `title`
242
+ # @return [String]
243
+ attr_accessor :title
244
+
245
+ def initialize(**args)
246
+ update!(**args)
247
+ end
248
+
249
+ # Update properties of this object
250
+ def update!(**args)
251
+ @adapter_config_metadata = args[:adapter_config_metadata] if args.key?(:adapter_config_metadata)
252
+ @adapter_id = args[:adapter_id] if args.key?(:adapter_id)
253
+ @formats = args[:formats] if args.key?(:formats)
254
+ @name = args[:name] if args.key?(:name)
255
+ @platform = args[:platform] if args.key?(:platform)
256
+ @title = args[:title] if args.key?(:title)
257
+ end
258
+ end
259
+
260
+ # Configuration metadata associated with this adapter. They are used to define
261
+ # the ad_unit_configurations associated with AdUnitMappings for the this adapter.
262
+ class AdapterAdapterConfigMetadata
263
+ include Google::Apis::Core::Hashable
264
+
265
+ # This is used to fill the key of the [ad_unit_configurations](#AdUnitMapping.
266
+ # ad_unit_configurations).
267
+ # Corresponds to the JSON property `adapterConfigMetadataId`
268
+ # @return [String]
269
+ attr_accessor :adapter_config_metadata_id
270
+
271
+ # Name of the adapter configuration metadata.
272
+ # Corresponds to the JSON property `adapterConfigMetadataLabel`
273
+ # @return [String]
274
+ attr_accessor :adapter_config_metadata_label
275
+
276
+ # Whether this metadata is required for configuring the AdUnitMappings.
277
+ # Corresponds to the JSON property `isRequired`
278
+ # @return [Boolean]
279
+ attr_accessor :is_required
280
+ alias_method :is_required?, :is_required
281
+
282
+ def initialize(**args)
283
+ update!(**args)
284
+ end
285
+
286
+ # Update properties of this object
287
+ def update!(**args)
288
+ @adapter_config_metadata_id = args[:adapter_config_metadata_id] if args.key?(:adapter_config_metadata_id)
289
+ @adapter_config_metadata_label = args[:adapter_config_metadata_label] if args.key?(:adapter_config_metadata_label)
290
+ @is_required = args[:is_required] if args.key?(:is_required)
118
291
  end
119
292
  end
120
293
 
@@ -175,6 +348,15 @@ module Google
175
348
  class AppLinkedAppInfo
176
349
  include Google::Apis::Core::Hashable
177
350
 
351
+ # Optional. The app store information for published Android apps. This field is
352
+ # only used for apps on the Android platform and will be ignored if the PLATFORM
353
+ # is set to iOS. The default value is the Google Play App store. This field can
354
+ # be updated after app is created. If the app is not published, this field will
355
+ # not be included in the response.
356
+ # Corresponds to the JSON property `androidAppStores`
357
+ # @return [Array<String>]
358
+ attr_accessor :android_app_stores
359
+
178
360
  # The app store ID of the app; present if and only if the app is linked to an
179
361
  # app store. If the app is added to the Google Play store, it will be the
180
362
  # application ID of the app. For example: "com.example.myapp". See https://
@@ -198,6 +380,7 @@ module Google
198
380
 
199
381
  # Update properties of this object
200
382
  def update!(**args)
383
+ @android_app_stores = args[:android_app_stores] if args.key?(:android_app_stores)
201
384
  @app_store_id = args[:app_store_id] if args.key?(:app_store_id)
202
385
  @display_name = args[:display_name] if args.key?(:display_name)
203
386
  end
@@ -224,6 +407,119 @@ module Google
224
407
  end
225
408
  end
226
409
 
410
+ # Request to create a batch of ad unit mappings under the specific AdMob account.
411
+ class BatchCreateAdUnitMappingsRequest
412
+ include Google::Apis::Core::Hashable
413
+
414
+ # Required. The request message specifying the ad unit mappings to create. A
415
+ # maximum of 100 ad unit mappings can be created in a batch. If the number of ad
416
+ # unit mappings in the batch request exceed 100, the entire request will be
417
+ # rejected and no ad unit mappings will be created.
418
+ # Corresponds to the JSON property `requests`
419
+ # @return [Array<Google::Apis::AdmobV1beta::CreateAdUnitMappingRequest>]
420
+ attr_accessor :requests
421
+
422
+ def initialize(**args)
423
+ update!(**args)
424
+ end
425
+
426
+ # Update properties of this object
427
+ def update!(**args)
428
+ @requests = args[:requests] if args.key?(:requests)
429
+ end
430
+ end
431
+
432
+ # Response containing a batch of created ad unit mappings.
433
+ class BatchCreateAdUnitMappingsResponse
434
+ include Google::Apis::Core::Hashable
435
+
436
+ # The Ad units mappings created under the requested account.
437
+ # Corresponds to the JSON property `adUnitMappings`
438
+ # @return [Array<Google::Apis::AdmobV1beta::AdUnitMapping>]
439
+ attr_accessor :ad_unit_mappings
440
+
441
+ def initialize(**args)
442
+ update!(**args)
443
+ end
444
+
445
+ # Update properties of this object
446
+ def update!(**args)
447
+ @ad_unit_mappings = args[:ad_unit_mappings] if args.key?(:ad_unit_mappings)
448
+ end
449
+ end
450
+
451
+ # The specification for generating a Campaign report. For example, the
452
+ # specification to get IMPRESSIONS and CLICKS sliced by CAMPAIGN_ID can look
453
+ # like the following example: ` "date_range": ` "start_date": `"year": 2021, "
454
+ # month": 12, "day": 1`, "end_date": `"year": 2021, "month": 12, "day": 30` `, "
455
+ # dimensions": ["CAMPAIGN_ID"], "metrics": ["IMPRESSIONS", "CLICKS"], `
456
+ class CampaignReportSpec
457
+ include Google::Apis::Core::Hashable
458
+
459
+ # Specification of a single date range. Both dates are inclusive.
460
+ # Corresponds to the JSON property `dateRange`
461
+ # @return [Google::Apis::AdmobV1beta::DateRange]
462
+ attr_accessor :date_range
463
+
464
+ # List of dimensions of the report. The value combination of these dimensions
465
+ # determines the row of the report. If no dimensions are specified, the report
466
+ # returns a single row of requested metrics for the entire account.
467
+ # Corresponds to the JSON property `dimensions`
468
+ # @return [Array<String>]
469
+ attr_accessor :dimensions
470
+
471
+ # Language used for any localized text, such as certain applicable dimension
472
+ # values. The language tag is defined in the IETF BCP47. Defaults to 'en-US' if
473
+ # unspecified or invalid.
474
+ # Corresponds to the JSON property `languageCode`
475
+ # @return [String]
476
+ attr_accessor :language_code
477
+
478
+ # List of metrics of the report. A report must specify at least one metric.
479
+ # Corresponds to the JSON property `metrics`
480
+ # @return [Array<String>]
481
+ attr_accessor :metrics
482
+
483
+ def initialize(**args)
484
+ update!(**args)
485
+ end
486
+
487
+ # Update properties of this object
488
+ def update!(**args)
489
+ @date_range = args[:date_range] if args.key?(:date_range)
490
+ @dimensions = args[:dimensions] if args.key?(:dimensions)
491
+ @language_code = args[:language_code] if args.key?(:language_code)
492
+ @metrics = args[:metrics] if args.key?(:metrics)
493
+ end
494
+ end
495
+
496
+ # Request to create an ad unit mapping under the specific AdMob account and ad
497
+ # unit.
498
+ class CreateAdUnitMappingRequest
499
+ include Google::Apis::Core::Hashable
500
+
501
+ # Settings to map an AdMob ad unit to a 3rd party ad unit.
502
+ # Corresponds to the JSON property `adUnitMapping`
503
+ # @return [Google::Apis::AdmobV1beta::AdUnitMapping]
504
+ attr_accessor :ad_unit_mapping
505
+
506
+ # Required. The parent which owns the ad unit mapping. Format: accounts/`
507
+ # publisher_id`/adUnits/`ad_unit_id`
508
+ # Corresponds to the JSON property `parent`
509
+ # @return [String]
510
+ attr_accessor :parent
511
+
512
+ def initialize(**args)
513
+ update!(**args)
514
+ end
515
+
516
+ # Update properties of this object
517
+ def update!(**args)
518
+ @ad_unit_mapping = args[:ad_unit_mapping] if args.key?(:ad_unit_mapping)
519
+ @parent = args[:parent] if args.key?(:parent)
520
+ end
521
+ end
522
+
227
523
  # Represents a whole or partial calendar date, such as a birthday. The time of
228
524
  # day and time zone are either specified elsewhere or are insignificant. The
229
525
  # date is relative to the Gregorian Calendar. This can represent one of the
@@ -304,6 +600,49 @@ module Google
304
600
  end
305
601
  end
306
602
 
603
+ # Request to generate campaign report.
604
+ class GenerateCampaignReportRequest
605
+ include Google::Apis::Core::Hashable
606
+
607
+ # The specification for generating a Campaign report. For example, the
608
+ # specification to get IMPRESSIONS and CLICKS sliced by CAMPAIGN_ID can look
609
+ # like the following example: ` "date_range": ` "start_date": `"year": 2021, "
610
+ # month": 12, "day": 1`, "end_date": `"year": 2021, "month": 12, "day": 30` `, "
611
+ # dimensions": ["CAMPAIGN_ID"], "metrics": ["IMPRESSIONS", "CLICKS"], `
612
+ # Corresponds to the JSON property `reportSpec`
613
+ # @return [Google::Apis::AdmobV1beta::CampaignReportSpec]
614
+ attr_accessor :report_spec
615
+
616
+ def initialize(**args)
617
+ update!(**args)
618
+ end
619
+
620
+ # Update properties of this object
621
+ def update!(**args)
622
+ @report_spec = args[:report_spec] if args.key?(:report_spec)
623
+ end
624
+ end
625
+
626
+ # Campaign Report API response.
627
+ class GenerateCampaignReportResponse
628
+ include Google::Apis::Core::Hashable
629
+
630
+ # The campaign report data from the specified publisher. At most 100000 rows
631
+ # will be returned from the API.
632
+ # Corresponds to the JSON property `rows`
633
+ # @return [Array<Google::Apis::AdmobV1beta::ReportRow>]
634
+ attr_accessor :rows
635
+
636
+ def initialize(**args)
637
+ update!(**args)
638
+ end
639
+
640
+ # Update properties of this object
641
+ def update!(**args)
642
+ @rows = args[:rows] if args.key?(:rows)
643
+ end
644
+ end
645
+
307
646
  # Request to generate an AdMob mediation report.
308
647
  class GenerateMediationReportRequest
309
648
  include Google::Apis::Core::Hashable
@@ -476,6 +815,32 @@ module Google
476
815
  end
477
816
  end
478
817
 
818
+ # Response for the ListAdUnitMappingsRequest.
819
+ class ListAdUnitMappingsResponse
820
+ include Google::Apis::Core::Hashable
821
+
822
+ # The ad unit mappings from the specified account and ad unit.
823
+ # Corresponds to the JSON property `adUnitMappings`
824
+ # @return [Array<Google::Apis::AdmobV1beta::AdUnitMapping>]
825
+ attr_accessor :ad_unit_mappings
826
+
827
+ # Used to set the `page_token` in the `ListAdUnitMappingsRequest` to retrieve
828
+ # the next page. If this field is omitted, there are no subsequent pages.
829
+ # Corresponds to the JSON property `nextPageToken`
830
+ # @return [String]
831
+ attr_accessor :next_page_token
832
+
833
+ def initialize(**args)
834
+ update!(**args)
835
+ end
836
+
837
+ # Update properties of this object
838
+ def update!(**args)
839
+ @ad_unit_mappings = args[:ad_unit_mappings] if args.key?(:ad_unit_mappings)
840
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
841
+ end
842
+ end
843
+
479
844
  # Response for the ad units list request.
480
845
  class ListAdUnitsResponse
481
846
  include Google::Apis::Core::Hashable
@@ -502,6 +867,32 @@ module Google
502
867
  end
503
868
  end
504
869
 
870
+ # Response for the ListAdaptersRequest.
871
+ class ListAdaptersResponse
872
+ include Google::Apis::Core::Hashable
873
+
874
+ # The adapter.
875
+ # Corresponds to the JSON property `adapters`
876
+ # @return [Array<Google::Apis::AdmobV1beta::Adapter>]
877
+ attr_accessor :adapters
878
+
879
+ # Used to set the `page_token` in the `ListAdapterRequest` to retrieve the next
880
+ # page. If this field is omitted, there are no subsequent pages.
881
+ # Corresponds to the JSON property `nextPageToken`
882
+ # @return [String]
883
+ attr_accessor :next_page_token
884
+
885
+ def initialize(**args)
886
+ update!(**args)
887
+ end
888
+
889
+ # Update properties of this object
890
+ def update!(**args)
891
+ @adapters = args[:adapters] if args.key?(:adapters)
892
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
893
+ end
894
+ end
895
+
505
896
  # Response for the apps list request.
506
897
  class ListAppsResponse
507
898
  include Google::Apis::Core::Hashable
@@ -528,6 +919,32 @@ module Google
528
919
  end
529
920
  end
530
921
 
922
+ # Response for the mediation groups list request.
923
+ class ListMediationGroupsResponse
924
+ include Google::Apis::Core::Hashable
925
+
926
+ # The resulting mediation groups for the requested account.
927
+ # Corresponds to the JSON property `mediationGroups`
928
+ # @return [Array<Google::Apis::AdmobV1beta::MediationGroup>]
929
+ attr_accessor :mediation_groups
930
+
931
+ # If not empty, indicates that there may be more mediation groups for the
932
+ # request; this value should be passed in a new `ListMediationGroupsRequest`.
933
+ # Corresponds to the JSON property `nextPageToken`
934
+ # @return [String]
935
+ attr_accessor :next_page_token
936
+
937
+ def initialize(**args)
938
+ update!(**args)
939
+ end
940
+
941
+ # Update properties of this object
942
+ def update!(**args)
943
+ @mediation_groups = args[:mediation_groups] if args.key?(:mediation_groups)
944
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
945
+ end
946
+ end
947
+
531
948
  # Response for the publisher account list request.
532
949
  class ListPublisherAccountsResponse
533
950
  include Google::Apis::Core::Hashable
@@ -584,6 +1001,286 @@ module Google
584
1001
  end
585
1002
  end
586
1003
 
1004
+ # The mediation A/B experiment. NEXT ID: 12
1005
+ class MediationAbExperiment
1006
+ include Google::Apis::Core::Hashable
1007
+
1008
+ # Output only. The experiment mediation lines for control. They are inherited
1009
+ # from the parent mediation group. It is an output only field.
1010
+ # Corresponds to the JSON property `controlMediationLines`
1011
+ # @return [Array<Google::Apis::AdmobV1beta::MediationAbExperimentExperimentMediationLine>]
1012
+ attr_accessor :control_mediation_lines
1013
+
1014
+ # The display name for the mediation A/B experiment.
1015
+ # Corresponds to the JSON property `displayName`
1016
+ # @return [String]
1017
+ attr_accessor :display_name
1018
+
1019
+ # Output only. Unique identifier for the mediation A/B experiment. It is an
1020
+ # output only property.
1021
+ # Corresponds to the JSON property `experimentId`
1022
+ # @return [String]
1023
+ attr_accessor :experiment_id
1024
+
1025
+ # Resource name for this experiment. The format is accounts/`publisher_id`/
1026
+ # mediationGroups/`mediation_group_id`/mediationAbExperiment/ `
1027
+ # mediation_group_experiment_id`. For example: accounts/pub-9876543210987654/
1028
+ # mediationGroups/0123456789/ mediationAbExperiment/12345
1029
+ # Corresponds to the JSON property `name`
1030
+ # @return [String]
1031
+ attr_accessor :name
1032
+
1033
+ # Output only. The state of the experiment. It is an output only field.
1034
+ # Corresponds to the JSON property `state`
1035
+ # @return [String]
1036
+ attr_accessor :state
1037
+
1038
+ # The experiment mediation lines created for the treatment. They will be used
1039
+ # for serving when the experiment status is RUNNING.
1040
+ # Corresponds to the JSON property `treatmentMediationLines`
1041
+ # @return [Array<Google::Apis::AdmobV1beta::MediationAbExperimentExperimentMediationLine>]
1042
+ attr_accessor :treatment_mediation_lines
1043
+
1044
+ # The percentage of the mediation A/B experiment traffic that will be send to
1045
+ # the treatment (variant B). The remainder is sent to the control (variant A).
1046
+ # The percentage is expressed as an integer in the inclusive range of [1,99].
1047
+ # See https://support.google.com/admob/answer/9572326 for details.
1048
+ # Corresponds to the JSON property `treatmentTrafficPercentage`
1049
+ # @return [Fixnum]
1050
+ attr_accessor :treatment_traffic_percentage
1051
+
1052
+ def initialize(**args)
1053
+ update!(**args)
1054
+ end
1055
+
1056
+ # Update properties of this object
1057
+ def update!(**args)
1058
+ @control_mediation_lines = args[:control_mediation_lines] if args.key?(:control_mediation_lines)
1059
+ @display_name = args[:display_name] if args.key?(:display_name)
1060
+ @experiment_id = args[:experiment_id] if args.key?(:experiment_id)
1061
+ @name = args[:name] if args.key?(:name)
1062
+ @state = args[:state] if args.key?(:state)
1063
+ @treatment_mediation_lines = args[:treatment_mediation_lines] if args.key?(:treatment_mediation_lines)
1064
+ @treatment_traffic_percentage = args[:treatment_traffic_percentage] if args.key?(:treatment_traffic_percentage)
1065
+ end
1066
+ end
1067
+
1068
+ # The mediation group line for the experiment. It will be used for serving
1069
+ # during the run of the experiment.
1070
+ class MediationAbExperimentExperimentMediationLine
1071
+ include Google::Apis::Core::Hashable
1072
+
1073
+ # Settings for an ad network used by a mediation group.
1074
+ # Corresponds to the JSON property `mediationGroupLine`
1075
+ # @return [Google::Apis::AdmobV1beta::MediationGroupMediationGroupLine]
1076
+ attr_accessor :mediation_group_line
1077
+
1078
+ def initialize(**args)
1079
+ update!(**args)
1080
+ end
1081
+
1082
+ # Update properties of this object
1083
+ def update!(**args)
1084
+ @mediation_group_line = args[:mediation_group_line] if args.key?(:mediation_group_line)
1085
+ end
1086
+ end
1087
+
1088
+ # Describes an AdMob mediation group.
1089
+ class MediationGroup
1090
+ include Google::Apis::Core::Hashable
1091
+
1092
+ # User provided name for the mediation group. The maximum length allowed is 120
1093
+ # characters.
1094
+ # Corresponds to the JSON property `displayName`
1095
+ # @return [String]
1096
+ attr_accessor :display_name
1097
+
1098
+ # Output only. The state of the mediation a/b experiment that belongs to this
1099
+ # mediation group.
1100
+ # Corresponds to the JSON property `mediationAbExperimentState`
1101
+ # @return [String]
1102
+ attr_accessor :mediation_ab_experiment_state
1103
+
1104
+ # The ID of the mediation group. Example: "0123456789". This is a read only
1105
+ # property.
1106
+ # Corresponds to the JSON property `mediationGroupId`
1107
+ # @return [String]
1108
+ attr_accessor :mediation_group_id
1109
+
1110
+ # The mediation lines used for serving for this mediation group. Key is the ID
1111
+ # of the mediation group line. For creation, use distinct negative values as
1112
+ # placeholder.
1113
+ # Corresponds to the JSON property `mediationGroupLines`
1114
+ # @return [Hash<String,Google::Apis::AdmobV1beta::MediationGroupMediationGroupLine>]
1115
+ attr_accessor :mediation_group_lines
1116
+
1117
+ # Resource name for this mediation group. Format is: accounts/`publisher_id`/
1118
+ # mediationGroups/`mediation_group_id` Example: accounts/pub-9876543210987654/
1119
+ # mediationGroups/0123456789
1120
+ # Corresponds to the JSON property `name`
1121
+ # @return [String]
1122
+ attr_accessor :name
1123
+
1124
+ # The status of the mediation group. Only enabled mediation groups will be
1125
+ # served.
1126
+ # Corresponds to the JSON property `state`
1127
+ # @return [String]
1128
+ attr_accessor :state
1129
+
1130
+ # Set of criteria targeted by this mediation group. For example, a mediation
1131
+ # group can target specific ad unit IDs, platform, format and geo location.
1132
+ # Corresponds to the JSON property `targeting`
1133
+ # @return [Google::Apis::AdmobV1beta::MediationGroupTargeting]
1134
+ attr_accessor :targeting
1135
+
1136
+ def initialize(**args)
1137
+ update!(**args)
1138
+ end
1139
+
1140
+ # Update properties of this object
1141
+ def update!(**args)
1142
+ @display_name = args[:display_name] if args.key?(:display_name)
1143
+ @mediation_ab_experiment_state = args[:mediation_ab_experiment_state] if args.key?(:mediation_ab_experiment_state)
1144
+ @mediation_group_id = args[:mediation_group_id] if args.key?(:mediation_group_id)
1145
+ @mediation_group_lines = args[:mediation_group_lines] if args.key?(:mediation_group_lines)
1146
+ @name = args[:name] if args.key?(:name)
1147
+ @state = args[:state] if args.key?(:state)
1148
+ @targeting = args[:targeting] if args.key?(:targeting)
1149
+ end
1150
+ end
1151
+
1152
+ # Settings for an ad network used by a mediation group.
1153
+ class MediationGroupMediationGroupLine
1154
+ include Google::Apis::Core::Hashable
1155
+
1156
+ # The ID of the ad source this mediation line is associated with.
1157
+ # Corresponds to the JSON property `adSourceId`
1158
+ # @return [String]
1159
+ attr_accessor :ad_source_id
1160
+
1161
+ # References of the ad unit mappings for each ad unit associated with this
1162
+ # mediation line. Key is the ad unit ID, value is resource name of the ad unit
1163
+ # mapping. For mediation lines where the ad source id is the AdMob Network, ad
1164
+ # unit mappings will be ignored.
1165
+ # Corresponds to the JSON property `adUnitMappings`
1166
+ # @return [Hash<String,String>]
1167
+ attr_accessor :ad_unit_mappings
1168
+
1169
+ # The CPM for this allocation line. $0.01 is the minimum allowed amount. For
1170
+ # LIVE CPM modes, the default amount is $0.01. This value is ignored if `
1171
+ # cpm_mode` is `LIVE`. **Warning:** "USD" is the only supported currency at the
1172
+ # moment. The unit is in micros.
1173
+ # Corresponds to the JSON property `cpmMicros`
1174
+ # @return [Fixnum]
1175
+ attr_accessor :cpm_micros
1176
+
1177
+ # Indicates how the CPM for this mediation line is provided. Note that `MANUAL`
1178
+ # and `LIVE` are the only fully-supported mode at the moment. Please use the
1179
+ # AdMob UI (https://admob.google.com) if you wish to create or update to other
1180
+ # cpm modes.
1181
+ # Corresponds to the JSON property `cpmMode`
1182
+ # @return [String]
1183
+ attr_accessor :cpm_mode
1184
+
1185
+ # User-provided label for this mediation line. The maximum length allowed is 255
1186
+ # characters.
1187
+ # Corresponds to the JSON property `displayName`
1188
+ # @return [String]
1189
+ attr_accessor :display_name
1190
+
1191
+ # Output only. The Mediation A/B experiment variant to which the mediation group
1192
+ # line belongs to.
1193
+ # Corresponds to the JSON property `experimentVariant`
1194
+ # @return [String]
1195
+ attr_accessor :experiment_variant
1196
+
1197
+ # The 16 digit ID for this mediation line e.g. 0123456789012345. When creating a
1198
+ # new mediation group line, use a distinct negative integer as the ID place
1199
+ # holder.
1200
+ # Corresponds to the JSON property `id`
1201
+ # @return [String]
1202
+ attr_accessor :id
1203
+
1204
+ # The status of the mediation group line. Only enabled mediation group lines
1205
+ # will be served.
1206
+ # Corresponds to the JSON property `state`
1207
+ # @return [String]
1208
+ attr_accessor :state
1209
+
1210
+ def initialize(**args)
1211
+ update!(**args)
1212
+ end
1213
+
1214
+ # Update properties of this object
1215
+ def update!(**args)
1216
+ @ad_source_id = args[:ad_source_id] if args.key?(:ad_source_id)
1217
+ @ad_unit_mappings = args[:ad_unit_mappings] if args.key?(:ad_unit_mappings)
1218
+ @cpm_micros = args[:cpm_micros] if args.key?(:cpm_micros)
1219
+ @cpm_mode = args[:cpm_mode] if args.key?(:cpm_mode)
1220
+ @display_name = args[:display_name] if args.key?(:display_name)
1221
+ @experiment_variant = args[:experiment_variant] if args.key?(:experiment_variant)
1222
+ @id = args[:id] if args.key?(:id)
1223
+ @state = args[:state] if args.key?(:state)
1224
+ end
1225
+ end
1226
+
1227
+ # Set of criteria targeted by this mediation group. For example, a mediation
1228
+ # group can target specific ad unit IDs, platform, format and geo location.
1229
+ class MediationGroupTargeting
1230
+ include Google::Apis::Core::Hashable
1231
+
1232
+ # Ad units targeted by this mediation group. Example: "ca-app-pub-1234/8790".
1233
+ # Corresponds to the JSON property `adUnitIds`
1234
+ # @return [Array<String>]
1235
+ attr_accessor :ad_unit_ids
1236
+
1237
+ # The Unicode country/region code (CLDR) of a location, such as "US". Unset if
1238
+ # this mediation group does not exclude any region.
1239
+ # Corresponds to the JSON property `excludedRegionCodes`
1240
+ # @return [Array<String>]
1241
+ attr_accessor :excluded_region_codes
1242
+
1243
+ # Ad format targeted by this mediation group. Examples: "banner", "native".
1244
+ # Corresponds to the JSON property `format`
1245
+ # @return [String]
1246
+ attr_accessor :format
1247
+
1248
+ # The parameter can be used to target ad requests based on the availability of
1249
+ # the IDFA. If set to ALL, the mediation group applies to all ad requests (with
1250
+ # or without IDFA). If set to AVAILABLE, the mediation group applies to ad
1251
+ # requests with IDFA. If set to NOT_AVAILABLE, the mediation group applies to ad
1252
+ # requests without IDFA. Doesn't need to be specified for an ANDROID device.
1253
+ # Corresponds to the JSON property `idfaTargeting`
1254
+ # @return [String]
1255
+ attr_accessor :idfa_targeting
1256
+
1257
+ # Describes the platform of the app. Examples: "IOS", "Android".
1258
+ # Corresponds to the JSON property `platform`
1259
+ # @return [String]
1260
+ attr_accessor :platform
1261
+
1262
+ # The Unicode country/region code (CLDR) of a location, such as "US". Unset if
1263
+ # this mediation group targets all available regions. For more information, see
1264
+ # http://www.unicode.org/reports/tr35/#unicode_region_subtag.
1265
+ # Corresponds to the JSON property `targetedRegionCodes`
1266
+ # @return [Array<String>]
1267
+ attr_accessor :targeted_region_codes
1268
+
1269
+ def initialize(**args)
1270
+ update!(**args)
1271
+ end
1272
+
1273
+ # Update properties of this object
1274
+ def update!(**args)
1275
+ @ad_unit_ids = args[:ad_unit_ids] if args.key?(:ad_unit_ids)
1276
+ @excluded_region_codes = args[:excluded_region_codes] if args.key?(:excluded_region_codes)
1277
+ @format = args[:format] if args.key?(:format)
1278
+ @idfa_targeting = args[:idfa_targeting] if args.key?(:idfa_targeting)
1279
+ @platform = args[:platform] if args.key?(:platform)
1280
+ @targeted_region_codes = args[:targeted_region_codes] if args.key?(:targeted_region_codes)
1281
+ end
1282
+ end
1283
+
587
1284
  # The specification for generating an AdMob Mediation report. For example, the
588
1285
  # specification to get observed ECPM sliced by ad source and app for the 'US'
589
1286
  # and 'CN' countries can look like the following example: ` "date_range": ` "
@@ -1078,6 +1775,25 @@ module Google
1078
1775
  end
1079
1776
  end
1080
1777
 
1778
+ # Request to end the mediation A/B experiment and choose a winning variant.
1779
+ class StopMediationAbExperimentRequest
1780
+ include Google::Apis::Core::Hashable
1781
+
1782
+ # The choice for the winning variant.
1783
+ # Corresponds to the JSON property `variantChoice`
1784
+ # @return [String]
1785
+ attr_accessor :variant_choice
1786
+
1787
+ def initialize(**args)
1788
+ update!(**args)
1789
+ end
1790
+
1791
+ # Update properties of this object
1792
+ def update!(**args)
1793
+ @variant_choice = args[:variant_choice] if args.key?(:variant_choice)
1794
+ end
1795
+ end
1796
+
1081
1797
  # List of string values.
1082
1798
  class StringList
1083
1799
  include Google::Apis::Core::Hashable