google-apis-displayvideo_v2 0.9.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -86,6 +86,31 @@ module Google
86
86
  end
87
87
  end
88
88
 
89
+ # Additional URLs related to the ad, including beacons.
90
+ class AdUrl
91
+ include Google::Apis::Core::Hashable
92
+
93
+ # The type of the AD url.
94
+ # Corresponds to the JSON property `type`
95
+ # @return [String]
96
+ attr_accessor :type
97
+
98
+ # The url value of the ad url.
99
+ # Corresponds to the JSON property `url`
100
+ # @return [String]
101
+ attr_accessor :url
102
+
103
+ def initialize(**args)
104
+ update!(**args)
105
+ end
106
+
107
+ # Update properties of this object
108
+ def update!(**args)
109
+ @type = args[:type] if args.key?(:type)
110
+ @url = args[:url] if args.key?(:url)
111
+ end
112
+ end
113
+
89
114
  # Details of Adloox settings.
90
115
  class Adloox
91
116
  include Google::Apis::Core::Hashable
@@ -1022,6 +1047,13 @@ module Google
1022
1047
  # @return [Google::Apis::DisplayvideoV2::SensitiveCategoryAssignedTargetingOptionDetails]
1023
1048
  attr_accessor :sensitive_category_exclusion_details
1024
1049
 
1050
+ # Details for session position assigned targeting option. This will be populated
1051
+ # in the session_position_details field when targeting_type is `
1052
+ # TARGETING_TYPE_SESSION_POSITION`.
1053
+ # Corresponds to the JSON property `sessionPositionDetails`
1054
+ # @return [Google::Apis::DisplayvideoV2::SessionPositionAssignedTargetingOptionDetails]
1055
+ attr_accessor :session_position_details
1056
+
1025
1057
  # Details for assigned sub-exchange targeting option. This will be populated in
1026
1058
  # the details field of an AssignedTargetingOption when targeting_type is `
1027
1059
  # TARGETING_TYPE_SUB_EXCHANGE`.
@@ -1071,6 +1103,20 @@ module Google
1071
1103
  # @return [Google::Apis::DisplayvideoV2::ViewabilityAssignedTargetingOptionDetails]
1072
1104
  attr_accessor :viewability_details
1073
1105
 
1106
+ # Details for YouTube channel assigned targeting option. This will be populated
1107
+ # in the youtube_channel_details field when targeting_type is `
1108
+ # TARGETING_TYPE_YOUTUBE_CHANNEL`.
1109
+ # Corresponds to the JSON property `youtubeChannelDetails`
1110
+ # @return [Google::Apis::DisplayvideoV2::YoutubeChannelAssignedTargetingOptionDetails]
1111
+ attr_accessor :youtube_channel_details
1112
+
1113
+ # Details for YouTube video assigned targeting option. This will be populated in
1114
+ # the youtube_video_details field when targeting_type is `
1115
+ # TARGETING_TYPE_YOUTUBE_VIDEO`.
1116
+ # Corresponds to the JSON property `youtubeVideoDetails`
1117
+ # @return [Google::Apis::DisplayvideoV2::YoutubeVideoAssignedTargetingOptionDetails]
1118
+ attr_accessor :youtube_video_details
1119
+
1074
1120
  def initialize(**args)
1075
1121
  update!(**args)
1076
1122
  end
@@ -1120,6 +1166,7 @@ module Google
1120
1166
  @proximity_location_list_details = args[:proximity_location_list_details] if args.key?(:proximity_location_list_details)
1121
1167
  @regional_location_list_details = args[:regional_location_list_details] if args.key?(:regional_location_list_details)
1122
1168
  @sensitive_category_exclusion_details = args[:sensitive_category_exclusion_details] if args.key?(:sensitive_category_exclusion_details)
1169
+ @session_position_details = args[:session_position_details] if args.key?(:session_position_details)
1123
1170
  @sub_exchange_details = args[:sub_exchange_details] if args.key?(:sub_exchange_details)
1124
1171
  @targeting_type = args[:targeting_type] if args.key?(:targeting_type)
1125
1172
  @third_party_verifier_details = args[:third_party_verifier_details] if args.key?(:third_party_verifier_details)
@@ -1127,6 +1174,8 @@ module Google
1127
1174
  @user_rewarded_content_details = args[:user_rewarded_content_details] if args.key?(:user_rewarded_content_details)
1128
1175
  @video_player_size_details = args[:video_player_size_details] if args.key?(:video_player_size_details)
1129
1176
  @viewability_details = args[:viewability_details] if args.key?(:viewability_details)
1177
+ @youtube_channel_details = args[:youtube_channel_details] if args.key?(:youtube_channel_details)
1178
+ @youtube_video_details = args[:youtube_video_details] if args.key?(:youtube_video_details)
1130
1179
  end
1131
1180
  end
1132
1181
 
@@ -1232,6 +1281,43 @@ module Google
1232
1281
  end
1233
1282
  end
1234
1283
 
1284
+ # The details for audio ad.
1285
+ class AudioAd
1286
+ include Google::Apis::Core::Hashable
1287
+
1288
+ # The webpage address that appears with the ad.
1289
+ # Corresponds to the JSON property `displayUrl`
1290
+ # @return [String]
1291
+ attr_accessor :display_url
1292
+
1293
+ # The URL address of the webpage that people reach after they click the ad.
1294
+ # Corresponds to the JSON property `finalUrl`
1295
+ # @return [String]
1296
+ attr_accessor :final_url
1297
+
1298
+ # The URL address which is loaded in background for tracking purpose.
1299
+ # Corresponds to the JSON property `trackingUrl`
1300
+ # @return [String]
1301
+ attr_accessor :tracking_url
1302
+
1303
+ # Details of the YouTube video.
1304
+ # Corresponds to the JSON property `video`
1305
+ # @return [Google::Apis::DisplayvideoV2::YoutubeVideoDetails]
1306
+ attr_accessor :video
1307
+
1308
+ def initialize(**args)
1309
+ update!(**args)
1310
+ end
1311
+
1312
+ # Update properties of this object
1313
+ def update!(**args)
1314
+ @display_url = args[:display_url] if args.key?(:display_url)
1315
+ @final_url = args[:final_url] if args.key?(:final_url)
1316
+ @tracking_url = args[:tracking_url] if args.key?(:tracking_url)
1317
+ @video = args[:video] if args.key?(:video)
1318
+ end
1319
+ end
1320
+
1235
1321
  # Details for audio content type assigned targeting option. This will be
1236
1322
  # populated in the audio_content_type_details field when targeting_type is `
1237
1323
  # TARGETING_TYPE_AUDIO_CONTENT_TYPE`. Explicitly targeting all options is not
@@ -1996,6 +2082,36 @@ module Google
1996
2082
  end
1997
2083
  end
1998
2084
 
2085
+ #
2086
+ class BulkListAdGroupAssignedTargetingOptionsResponse
2087
+ include Google::Apis::Core::Hashable
2088
+
2089
+ # A token identifying the next page of results. This value should be specified
2090
+ # as the pageToken in a subsequent call to `
2091
+ # BulkListAdGroupAssignedTargetingOptions` to fetch the next page of results.
2092
+ # This token will be absent if there are no more
2093
+ # youtube_ad_group_assigned_targeting_options to return.
2094
+ # Corresponds to the JSON property `nextPageToken`
2095
+ # @return [String]
2096
+ attr_accessor :next_page_token
2097
+
2098
+ # The list of wrapper objects, each providing an assigned targeting option and
2099
+ # the youtube ad group it is assigned to. This list will be absent if empty.
2100
+ # Corresponds to the JSON property `youtubeAdGroupAssignedTargetingOptions`
2101
+ # @return [Array<Google::Apis::DisplayvideoV2::YoutubeAdGroupAssignedTargetingOption>]
2102
+ attr_accessor :youtube_ad_group_assigned_targeting_options
2103
+
2104
+ def initialize(**args)
2105
+ update!(**args)
2106
+ end
2107
+
2108
+ # Update properties of this object
2109
+ def update!(**args)
2110
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2111
+ @youtube_ad_group_assigned_targeting_options = args[:youtube_ad_group_assigned_targeting_options] if args.key?(:youtube_ad_group_assigned_targeting_options)
2112
+ end
2113
+ end
2114
+
1999
2115
  #
2000
2116
  class BulkListAdvertiserAssignedTargetingOptionsResponse
2001
2117
  include Google::Apis::Core::Hashable
@@ -2183,6 +2299,25 @@ module Google
2183
2299
  end
2184
2300
  end
2185
2301
 
2302
+ # Ad details for BumperAd.
2303
+ class BumperAd
2304
+ include Google::Apis::Core::Hashable
2305
+
2306
+ # The common attributes for InStreamAd, NonSkippableAd and BumperAd.
2307
+ # Corresponds to the JSON property `commonInStreamAttribute`
2308
+ # @return [Google::Apis::DisplayvideoV2::CommonInStreamAttribute]
2309
+ attr_accessor :common_in_stream_attribute
2310
+
2311
+ def initialize(**args)
2312
+ update!(**args)
2313
+ end
2314
+
2315
+ # Update properties of this object
2316
+ def update!(**args)
2317
+ @common_in_stream_attribute = args[:common_in_stream_attribute] if args.key?(:common_in_stream_attribute)
2318
+ end
2319
+ end
2320
+
2186
2321
  # Details for assigned Business chain targeting option. This will be populated
2187
2322
  # in the details field of an AssignedTargetingOption when targeting_type is `
2188
2323
  # TARGETING_TYPE_BUSINESS_CHAIN`.
@@ -2874,6 +3009,61 @@ module Google
2874
3009
  end
2875
3010
  end
2876
3011
 
3012
+ # The common attributes for InStreamAd, NonSkippableAd and BumperAd.
3013
+ class CommonInStreamAttribute
3014
+ include Google::Apis::Core::Hashable
3015
+
3016
+ # The text on the call-to-action button.
3017
+ # Corresponds to the JSON property `actionButtonLabel`
3018
+ # @return [String]
3019
+ attr_accessor :action_button_label
3020
+
3021
+ # The headline of the call-to-action banner.
3022
+ # Corresponds to the JSON property `actionHeadline`
3023
+ # @return [String]
3024
+ attr_accessor :action_headline
3025
+
3026
+ # The meta data of an image asset.
3027
+ # Corresponds to the JSON property `companionBanner`
3028
+ # @return [Google::Apis::DisplayvideoV2::ImageAsset]
3029
+ attr_accessor :companion_banner
3030
+
3031
+ # The webpage address that appears with the ad.
3032
+ # Corresponds to the JSON property `displayUrl`
3033
+ # @return [String]
3034
+ attr_accessor :display_url
3035
+
3036
+ # The URL address of the webpage that people reach after they click the ad.
3037
+ # Corresponds to the JSON property `finalUrl`
3038
+ # @return [String]
3039
+ attr_accessor :final_url
3040
+
3041
+ # The URL address which is loaded in background for tracking purpose.
3042
+ # Corresponds to the JSON property `trackingUrl`
3043
+ # @return [String]
3044
+ attr_accessor :tracking_url
3045
+
3046
+ # Details of the YouTube video.
3047
+ # Corresponds to the JSON property `video`
3048
+ # @return [Google::Apis::DisplayvideoV2::YoutubeVideoDetails]
3049
+ attr_accessor :video
3050
+
3051
+ def initialize(**args)
3052
+ update!(**args)
3053
+ end
3054
+
3055
+ # Update properties of this object
3056
+ def update!(**args)
3057
+ @action_button_label = args[:action_button_label] if args.key?(:action_button_label)
3058
+ @action_headline = args[:action_headline] if args.key?(:action_headline)
3059
+ @companion_banner = args[:companion_banner] if args.key?(:companion_banner)
3060
+ @display_url = args[:display_url] if args.key?(:display_url)
3061
+ @final_url = args[:final_url] if args.key?(:final_url)
3062
+ @tracking_url = args[:tracking_url] if args.key?(:tracking_url)
3063
+ @video = args[:video] if args.key?(:video)
3064
+ end
3065
+ end
3066
+
2877
3067
  # Contact information defining a Customer Match audience member.
2878
3068
  class ContactInfo
2879
3069
  include Google::Apis::Core::Hashable
@@ -4050,6 +4240,31 @@ module Google
4050
4240
  end
4051
4241
  end
4052
4242
 
4243
+ # The key and value of a custom label.
4244
+ class CustomLabel
4245
+ include Google::Apis::Core::Hashable
4246
+
4247
+ # The key of the label.
4248
+ # Corresponds to the JSON property `key`
4249
+ # @return [String]
4250
+ attr_accessor :key
4251
+
4252
+ # The value of the label.
4253
+ # Corresponds to the JSON property `value`
4254
+ # @return [String]
4255
+ attr_accessor :value
4256
+
4257
+ def initialize(**args)
4258
+ update!(**args)
4259
+ end
4260
+
4261
+ # Update properties of this object
4262
+ def update!(**args)
4263
+ @key = args[:key] if args.key?(:key)
4264
+ @value = args[:value] if args.key?(:value)
4265
+ end
4266
+ end
4267
+
4053
4268
  # Describes a custom list entity, such as a custom affinity or custom intent
4054
4269
  # audience list.
4055
4270
  class CustomList
@@ -4462,6 +4677,25 @@ module Google
4462
4677
  end
4463
4678
  end
4464
4679
 
4680
+ # The ad of which source is DV360 creative.
4681
+ class DisplayVideoSourceAd
4682
+ include Google::Apis::Core::Hashable
4683
+
4684
+ # The ID of the source creative.
4685
+ # Corresponds to the JSON property `creativeId`
4686
+ # @return [Fixnum]
4687
+ attr_accessor :creative_id
4688
+
4689
+ def initialize(**args)
4690
+ update!(**args)
4691
+ end
4692
+
4693
+ # Update properties of this object
4694
+ def update!(**args)
4695
+ @creative_id = args[:creative_id] if args.key?(:creative_id)
4696
+ end
4697
+ end
4698
+
4465
4699
  # Details of DoubleVerify settings.
4466
4700
  class DoubleVerify
4467
4701
  include Google::Apis::Core::Hashable
@@ -5978,6 +6212,62 @@ module Google
5978
6212
  end
5979
6213
  end
5980
6214
 
6215
+ # The meta data of an image asset.
6216
+ class ImageAsset
6217
+ include Google::Apis::Core::Hashable
6218
+
6219
+ # File size of the image asset in bytes.
6220
+ # Corresponds to the JSON property `fileSize`
6221
+ # @return [Fixnum]
6222
+ attr_accessor :file_size
6223
+
6224
+ # Dimensions.
6225
+ # Corresponds to the JSON property `fullSize`
6226
+ # @return [Google::Apis::DisplayvideoV2::Dimensions]
6227
+ attr_accessor :full_size
6228
+
6229
+ # MIME type of the image asset.
6230
+ # Corresponds to the JSON property `mimeType`
6231
+ # @return [String]
6232
+ attr_accessor :mime_type
6233
+
6234
+ def initialize(**args)
6235
+ update!(**args)
6236
+ end
6237
+
6238
+ # Update properties of this object
6239
+ def update!(**args)
6240
+ @file_size = args[:file_size] if args.key?(:file_size)
6241
+ @full_size = args[:full_size] if args.key?(:full_size)
6242
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
6243
+ end
6244
+ end
6245
+
6246
+ # Ad details for InStreamAd
6247
+ class InStreamAd
6248
+ include Google::Apis::Core::Hashable
6249
+
6250
+ # The common attributes for InStreamAd, NonSkippableAd and BumperAd.
6251
+ # Corresponds to the JSON property `commonInStreamAttribute`
6252
+ # @return [Google::Apis::DisplayvideoV2::CommonInStreamAttribute]
6253
+ attr_accessor :common_in_stream_attribute
6254
+
6255
+ # The custom parameters to pass custom values to tracking url template.
6256
+ # Corresponds to the JSON property `customParameters`
6257
+ # @return [Hash<String,String>]
6258
+ attr_accessor :custom_parameters
6259
+
6260
+ def initialize(**args)
6261
+ update!(**args)
6262
+ end
6263
+
6264
+ # Update properties of this object
6265
+ def update!(**args)
6266
+ @common_in_stream_attribute = args[:common_in_stream_attribute] if args.key?(:common_in_stream_attribute)
6267
+ @custom_parameters = args[:custom_parameters] if args.key?(:custom_parameters)
6268
+ end
6269
+ end
6270
+
5981
6271
  # A single insertion order.
5982
6272
  class InsertionOrder
5983
6273
  include Google::Apis::Core::Hashable
@@ -8102,6 +8392,89 @@ module Google
8102
8392
  end
8103
8393
  end
8104
8394
 
8395
+ # Response message for YoutubeAdGroupAdService.ListYoutubeAdGroupAds.
8396
+ class ListYoutubeAdGroupAdsResponse
8397
+ include Google::Apis::Core::Hashable
8398
+
8399
+ # A token to retrieve the next page of results. Pass this value in the
8400
+ # page_token field in the subsequent call to `ListYoutubeAdGroupAds` method to
8401
+ # retrieve the next page of results.
8402
+ # Corresponds to the JSON property `nextPageToken`
8403
+ # @return [String]
8404
+ attr_accessor :next_page_token
8405
+
8406
+ # The list of ad group ads. This list will be absent if empty.
8407
+ # Corresponds to the JSON property `youtubeAdGroupAds`
8408
+ # @return [Array<Google::Apis::DisplayvideoV2::YoutubeAdGroupAd>]
8409
+ attr_accessor :youtube_ad_group_ads
8410
+
8411
+ def initialize(**args)
8412
+ update!(**args)
8413
+ end
8414
+
8415
+ # Update properties of this object
8416
+ def update!(**args)
8417
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
8418
+ @youtube_ad_group_ads = args[:youtube_ad_group_ads] if args.key?(:youtube_ad_group_ads)
8419
+ end
8420
+ end
8421
+
8422
+ # Response message for ListYoutubeAdGroupAssignedTargetingOptions.
8423
+ class ListYoutubeAdGroupAssignedTargetingOptionsResponse
8424
+ include Google::Apis::Core::Hashable
8425
+
8426
+ # The list of assigned targeting options. This list will be absent if empty.
8427
+ # Corresponds to the JSON property `assignedTargetingOptions`
8428
+ # @return [Array<Google::Apis::DisplayvideoV2::AssignedTargetingOption>]
8429
+ attr_accessor :assigned_targeting_options
8430
+
8431
+ # A token identifying the next page of results. This value should be specified
8432
+ # as the pageToken in a subsequent
8433
+ # ListYoutubeAdGroupAssignedTargetingOptionsRequest to fetch the next page of
8434
+ # results. This token will be absent if there are no more
8435
+ # assigned_targeting_options to return.
8436
+ # Corresponds to the JSON property `nextPageToken`
8437
+ # @return [String]
8438
+ attr_accessor :next_page_token
8439
+
8440
+ def initialize(**args)
8441
+ update!(**args)
8442
+ end
8443
+
8444
+ # Update properties of this object
8445
+ def update!(**args)
8446
+ @assigned_targeting_options = args[:assigned_targeting_options] if args.key?(:assigned_targeting_options)
8447
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
8448
+ end
8449
+ end
8450
+
8451
+ #
8452
+ class ListYoutubeAdGroupsResponse
8453
+ include Google::Apis::Core::Hashable
8454
+
8455
+ # A token to retrieve the next page of results. Pass this value in the
8456
+ # page_token field in the subsequent call to `ListYoutubeAdGroups` method to
8457
+ # retrieve the next page of results.
8458
+ # Corresponds to the JSON property `nextPageToken`
8459
+ # @return [String]
8460
+ attr_accessor :next_page_token
8461
+
8462
+ # The list of ad groups. This list will be absent if empty.
8463
+ # Corresponds to the JSON property `youtubeAdGroups`
8464
+ # @return [Array<Google::Apis::DisplayvideoV2::YoutubeAdGroup>]
8465
+ attr_accessor :youtube_ad_groups
8466
+
8467
+ def initialize(**args)
8468
+ update!(**args)
8469
+ end
8470
+
8471
+ # Update properties of this object
8472
+ def update!(**args)
8473
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
8474
+ @youtube_ad_groups = args[:youtube_ad_groups] if args.key?(:youtube_ad_groups)
8475
+ end
8476
+ end
8477
+
8105
8478
  # A list of locations used for targeting.
8106
8479
  class LocationList
8107
8480
  include Google::Apis::Core::Hashable
@@ -8255,38 +8628,119 @@ module Google
8255
8628
  end
8256
8629
  end
8257
8630
 
8258
- # A strategy that automatically adjusts the bid to optimize a specified
8259
- # performance goal while spending the full budget.
8260
- class MaximizeSpendBidStrategy
8631
+ # The details for masthead ad.
8632
+ class MastheadAd
8261
8633
  include Google::Apis::Core::Hashable
8262
8634
 
8263
- # The ID of the Custom Bidding Algorithm used by this strategy. Only applicable
8264
- # when performance_goal_type is set to `
8265
- # BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.
8266
- # Corresponds to the JSON property `customBiddingAlgorithmId`
8267
- # @return [Fixnum]
8268
- attr_accessor :custom_bidding_algorithm_id
8635
+ # Video will autoplay for certain period of time.
8636
+ # Corresponds to the JSON property `autoplayVideoDuration`
8637
+ # @return [String]
8638
+ attr_accessor :autoplay_video_duration
8269
8639
 
8270
- # The maximum average CPM that may be bid, in micros of the advertiser's
8271
- # currency. Must be greater than or equal to a billable unit of the given
8272
- # currency. For example, 1500000 represents 1.5 standard units of the currency.
8273
- # Corresponds to the JSON property `maxAverageCpmBidAmountMicros`
8640
+ # Video will start to play after certain period of time in millisecond.
8641
+ # Corresponds to the JSON property `autoplayVideoStartMillisecond`
8274
8642
  # @return [Fixnum]
8275
- attr_accessor :max_average_cpm_bid_amount_micros
8643
+ attr_accessor :autoplay_video_start_millisecond
8276
8644
 
8277
- # Required. The type of the performance goal that the bidding strategy tries to
8278
- # minimize while spending the full budget. `
8279
- # BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` is not supported for this
8280
- # strategy.
8281
- # Corresponds to the JSON property `performanceGoalType`
8645
+ # The text on the call-to-action button.
8646
+ # Corresponds to the JSON property `callToActionButtonLabel`
8282
8647
  # @return [String]
8283
- attr_accessor :performance_goal_type
8648
+ attr_accessor :call_to_action_button_label
8284
8649
 
8285
- # Whether the strategy takes deal floor prices into account.
8286
- # Corresponds to the JSON property `raiseBidForDeals`
8287
- # @return [Boolean]
8288
- attr_accessor :raise_bid_for_deals
8289
- alias_method :raise_bid_for_deals?, :raise_bid_for_deals
8650
+ # The destination URL for the call-to-action button.
8651
+ # Corresponds to the JSON property `callToActionFinalUrl`
8652
+ # @return [String]
8653
+ attr_accessor :call_to_action_final_url
8654
+
8655
+ # The tracking URL for the call-to-action button.
8656
+ # Corresponds to the JSON property `callToActionTrackingUrl`
8657
+ # @return [String]
8658
+ attr_accessor :call_to_action_tracking_url
8659
+
8660
+ # The videos (up to 2) that appear next to the Masthead ad on desktop.
8661
+ # Corresponds to the JSON property `companionYoutubeVideos`
8662
+ # @return [Array<Google::Apis::DisplayvideoV2::YoutubeVideoDetails>]
8663
+ attr_accessor :companion_youtube_videos
8664
+
8665
+ # The description of the ad.
8666
+ # Corresponds to the JSON property `description`
8667
+ # @return [String]
8668
+ attr_accessor :description
8669
+
8670
+ # The headline of the ad.
8671
+ # Corresponds to the JSON property `headline`
8672
+ # @return [String]
8673
+ attr_accessor :headline
8674
+
8675
+ # Whether to show a background or banner that appears at the top of a YouTube
8676
+ # page.
8677
+ # Corresponds to the JSON property `showChannelArt`
8678
+ # @return [Boolean]
8679
+ attr_accessor :show_channel_art
8680
+ alias_method :show_channel_art?, :show_channel_art
8681
+
8682
+ # Details of the YouTube video.
8683
+ # Corresponds to the JSON property `video`
8684
+ # @return [Google::Apis::DisplayvideoV2::YoutubeVideoDetails]
8685
+ attr_accessor :video
8686
+
8687
+ # Aspect ratio of the autoplaying YouTube video on the Masthead.
8688
+ # Corresponds to the JSON property `videoAspectRatio`
8689
+ # @return [String]
8690
+ attr_accessor :video_aspect_ratio
8691
+
8692
+ def initialize(**args)
8693
+ update!(**args)
8694
+ end
8695
+
8696
+ # Update properties of this object
8697
+ def update!(**args)
8698
+ @autoplay_video_duration = args[:autoplay_video_duration] if args.key?(:autoplay_video_duration)
8699
+ @autoplay_video_start_millisecond = args[:autoplay_video_start_millisecond] if args.key?(:autoplay_video_start_millisecond)
8700
+ @call_to_action_button_label = args[:call_to_action_button_label] if args.key?(:call_to_action_button_label)
8701
+ @call_to_action_final_url = args[:call_to_action_final_url] if args.key?(:call_to_action_final_url)
8702
+ @call_to_action_tracking_url = args[:call_to_action_tracking_url] if args.key?(:call_to_action_tracking_url)
8703
+ @companion_youtube_videos = args[:companion_youtube_videos] if args.key?(:companion_youtube_videos)
8704
+ @description = args[:description] if args.key?(:description)
8705
+ @headline = args[:headline] if args.key?(:headline)
8706
+ @show_channel_art = args[:show_channel_art] if args.key?(:show_channel_art)
8707
+ @video = args[:video] if args.key?(:video)
8708
+ @video_aspect_ratio = args[:video_aspect_ratio] if args.key?(:video_aspect_ratio)
8709
+ end
8710
+ end
8711
+
8712
+ # A strategy that automatically adjusts the bid to optimize a specified
8713
+ # performance goal while spending the full budget.
8714
+ class MaximizeSpendBidStrategy
8715
+ include Google::Apis::Core::Hashable
8716
+
8717
+ # The ID of the Custom Bidding Algorithm used by this strategy. Only applicable
8718
+ # when performance_goal_type is set to `
8719
+ # BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.
8720
+ # Corresponds to the JSON property `customBiddingAlgorithmId`
8721
+ # @return [Fixnum]
8722
+ attr_accessor :custom_bidding_algorithm_id
8723
+
8724
+ # The maximum average CPM that may be bid, in micros of the advertiser's
8725
+ # currency. Must be greater than or equal to a billable unit of the given
8726
+ # currency. For example, 1500000 represents 1.5 standard units of the currency.
8727
+ # Corresponds to the JSON property `maxAverageCpmBidAmountMicros`
8728
+ # @return [Fixnum]
8729
+ attr_accessor :max_average_cpm_bid_amount_micros
8730
+
8731
+ # Required. The type of the performance goal that the bidding strategy tries to
8732
+ # minimize while spending the full budget. `
8733
+ # BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` is not supported for this
8734
+ # strategy.
8735
+ # Corresponds to the JSON property `performanceGoalType`
8736
+ # @return [String]
8737
+ attr_accessor :performance_goal_type
8738
+
8739
+ # Whether the strategy takes deal floor prices into account.
8740
+ # Corresponds to the JSON property `raiseBidForDeals`
8741
+ # @return [Boolean]
8742
+ attr_accessor :raise_bid_for_deals
8743
+ alias_method :raise_bid_for_deals?, :raise_bid_for_deals
8290
8744
 
8291
8745
  def initialize(**args)
8292
8746
  update!(**args)
@@ -8568,6 +9022,31 @@ module Google
8568
9022
  end
8569
9023
  end
8570
9024
 
9025
+ # Ad details for NonSkippableAd
9026
+ class NonSkippableAd
9027
+ include Google::Apis::Core::Hashable
9028
+
9029
+ # The common attributes for InStreamAd, NonSkippableAd and BumperAd.
9030
+ # Corresponds to the JSON property `commonInStreamAttribute`
9031
+ # @return [Google::Apis::DisplayvideoV2::CommonInStreamAttribute]
9032
+ attr_accessor :common_in_stream_attribute
9033
+
9034
+ # The custom parameters to pass custom values to tracking url template.
9035
+ # Corresponds to the JSON property `customParameters`
9036
+ # @return [Hash<String,String>]
9037
+ attr_accessor :custom_parameters
9038
+
9039
+ def initialize(**args)
9040
+ update!(**args)
9041
+ end
9042
+
9043
+ # Update properties of this object
9044
+ def update!(**args)
9045
+ @common_in_stream_attribute = args[:common_in_stream_attribute] if args.key?(:common_in_stream_attribute)
9046
+ @custom_parameters = args[:custom_parameters] if args.key?(:custom_parameters)
9047
+ end
9048
+ end
9049
+
8571
9050
  # OBA Icon for a Creative
8572
9051
  class ObaIcon
8573
9052
  include Google::Apis::Core::Hashable
@@ -9498,6 +9977,63 @@ module Google
9498
9977
  end
9499
9978
  end
9500
9979
 
9980
+ # The details of product feed.
9981
+ class ProductFeedData
9982
+ include Google::Apis::Core::Hashable
9983
+
9984
+ # True if opt out of showing products.
9985
+ # Corresponds to the JSON property `isFeedDisabled`
9986
+ # @return [Boolean]
9987
+ attr_accessor :is_feed_disabled
9988
+ alias_method :is_feed_disabled?, :is_feed_disabled
9989
+
9990
+ # A list of dimensions which are used to match products.
9991
+ # Corresponds to the JSON property `productMatchDimensions`
9992
+ # @return [Array<Google::Apis::DisplayvideoV2::ProductMatchDimension>]
9993
+ attr_accessor :product_match_dimensions
9994
+
9995
+ # The type of the way to select the products.
9996
+ # Corresponds to the JSON property `productMatchType`
9997
+ # @return [String]
9998
+ attr_accessor :product_match_type
9999
+
10000
+ def initialize(**args)
10001
+ update!(**args)
10002
+ end
10003
+
10004
+ # Update properties of this object
10005
+ def update!(**args)
10006
+ @is_feed_disabled = args[:is_feed_disabled] if args.key?(:is_feed_disabled)
10007
+ @product_match_dimensions = args[:product_match_dimensions] if args.key?(:product_match_dimensions)
10008
+ @product_match_type = args[:product_match_type] if args.key?(:product_match_type)
10009
+ end
10010
+ end
10011
+
10012
+ # The dimension which are used to match products.
10013
+ class ProductMatchDimension
10014
+ include Google::Apis::Core::Hashable
10015
+
10016
+ # The key and value of a custom label.
10017
+ # Corresponds to the JSON property `customLabel`
10018
+ # @return [Google::Apis::DisplayvideoV2::CustomLabel]
10019
+ attr_accessor :custom_label
10020
+
10021
+ # The ID of the product offer to match the product with the same offer ID.
10022
+ # Corresponds to the JSON property `productOfferId`
10023
+ # @return [String]
10024
+ attr_accessor :product_offer_id
10025
+
10026
+ def initialize(**args)
10027
+ update!(**args)
10028
+ end
10029
+
10030
+ # Update properties of this object
10031
+ def update!(**args)
10032
+ @custom_label = args[:custom_label] if args.key?(:custom_label)
10033
+ @product_offer_id = args[:product_offer_id] if args.key?(:product_offer_id)
10034
+ end
10035
+ end
10036
+
9501
10037
  # Targeting details for proximity location list. This will be populated in the
9502
10038
  # details field of an AssignedTargetingOption when targeting_type is `
9503
10039
  # TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
@@ -10008,6 +10544,27 @@ module Google
10008
10544
  end
10009
10545
  end
10010
10546
 
10547
+ # Details for session position assigned targeting option. This will be populated
10548
+ # in the session_position_details field when targeting_type is `
10549
+ # TARGETING_TYPE_SESSION_POSITION`.
10550
+ class SessionPositionAssignedTargetingOptionDetails
10551
+ include Google::Apis::Core::Hashable
10552
+
10553
+ # The position where the ad will show in a session.
10554
+ # Corresponds to the JSON property `sessionPosition`
10555
+ # @return [String]
10556
+ attr_accessor :session_position
10557
+
10558
+ def initialize(**args)
10559
+ update!(**args)
10560
+ end
10561
+
10562
+ # Update properties of this object
10563
+ def update!(**args)
10564
+ @session_position = args[:session_position] if args.key?(:session_position)
10565
+ end
10566
+ end
10567
+
10011
10568
  # A single site. Sites are apps or websites belonging to a channel.
10012
10569
  class Site
10013
10570
  include Google::Apis::Core::Hashable
@@ -10116,6 +10673,42 @@ module Google
10116
10673
  end
10117
10674
  end
10118
10675
 
10676
+ # Setting that controls the average number of times the ads will show to the
10677
+ # same person over a certain period of time.
10678
+ class TargetFrequency
10679
+ include Google::Apis::Core::Hashable
10680
+
10681
+ # The target number of times, on average, the ads will be shown to the same
10682
+ # person in the timespan dictated by time_unit and time_unit_count.
10683
+ # Corresponds to the JSON property `targetCount`
10684
+ # @return [Fixnum]
10685
+ attr_accessor :target_count
10686
+
10687
+ # The unit of time in which the target frequency will be applied. The following
10688
+ # time unit is applicable: * `TIME_UNIT_WEEKS`
10689
+ # Corresponds to the JSON property `timeUnit`
10690
+ # @return [String]
10691
+ attr_accessor :time_unit
10692
+
10693
+ # The number of time_unit the target frequency will last. The following
10694
+ # restrictions apply based on the value of time_unit: * `TIME_UNIT_WEEKS` - must
10695
+ # be 1
10696
+ # Corresponds to the JSON property `timeUnitCount`
10697
+ # @return [Fixnum]
10698
+ attr_accessor :time_unit_count
10699
+
10700
+ def initialize(**args)
10701
+ update!(**args)
10702
+ end
10703
+
10704
+ # Update properties of this object
10705
+ def update!(**args)
10706
+ @target_count = args[:target_count] if args.key?(:target_count)
10707
+ @time_unit = args[:time_unit] if args.key?(:time_unit)
10708
+ @time_unit_count = args[:time_unit_count] if args.key?(:time_unit_count)
10709
+ end
10710
+ end
10711
+
10119
10712
  # Settings that control the targeting expansion of the line item. Targeting
10120
10713
  # expansion allows the line item to reach a larger audience based on the
10121
10714
  # original audience list and the targeting expansion level. Beginning November 7,
@@ -10929,6 +11522,134 @@ module Google
10929
11522
  end
10930
11523
  end
10931
11524
 
11525
+ # The details for video discovery ad.
11526
+ class VideoDiscoveryAd
11527
+ include Google::Apis::Core::Hashable
11528
+
11529
+ # First text line for the ad.
11530
+ # Corresponds to the JSON property `description1`
11531
+ # @return [String]
11532
+ attr_accessor :description1
11533
+
11534
+ # Second text line for the ad.
11535
+ # Corresponds to the JSON property `description2`
11536
+ # @return [String]
11537
+ attr_accessor :description2
11538
+
11539
+ # The headline of the video discovery ad.
11540
+ # Corresponds to the JSON property `headline`
11541
+ # @return [String]
11542
+ attr_accessor :headline
11543
+
11544
+ # Thumbnail image to use in the ad.
11545
+ # Corresponds to the JSON property `thumbnail`
11546
+ # @return [String]
11547
+ attr_accessor :thumbnail
11548
+
11549
+ # Details of the YouTube video.
11550
+ # Corresponds to the JSON property `video`
11551
+ # @return [Google::Apis::DisplayvideoV2::YoutubeVideoDetails]
11552
+ attr_accessor :video
11553
+
11554
+ def initialize(**args)
11555
+ update!(**args)
11556
+ end
11557
+
11558
+ # Update properties of this object
11559
+ def update!(**args)
11560
+ @description1 = args[:description1] if args.key?(:description1)
11561
+ @description2 = args[:description2] if args.key?(:description2)
11562
+ @headline = args[:headline] if args.key?(:headline)
11563
+ @thumbnail = args[:thumbnail] if args.key?(:thumbnail)
11564
+ @video = args[:video] if args.key?(:video)
11565
+ end
11566
+ end
11567
+
11568
+ # The details for video performance ad.
11569
+ class VideoPerformanceAd
11570
+ include Google::Apis::Core::Hashable
11571
+
11572
+ # The list of text assets which show on the call-to-action button.
11573
+ # Corresponds to the JSON property `actionButtonLabels`
11574
+ # @return [Array<String>]
11575
+ attr_accessor :action_button_labels
11576
+
11577
+ # The list of companion banners of this ad.
11578
+ # Corresponds to the JSON property `companionBanners`
11579
+ # @return [Array<Google::Apis::DisplayvideoV2::ImageAsset>]
11580
+ attr_accessor :companion_banners
11581
+
11582
+ # The custom parameters to pass custom values to tracking url template.
11583
+ # Corresponds to the JSON property `customParameters`
11584
+ # @return [Hash<String,String>]
11585
+ attr_accessor :custom_parameters
11586
+
11587
+ # The list of descriptions which show on the call-to-action banner.
11588
+ # Corresponds to the JSON property `descriptions`
11589
+ # @return [Array<String>]
11590
+ attr_accessor :descriptions
11591
+
11592
+ # The first piece after the domain in the display url.
11593
+ # Corresponds to the JSON property `displayUrlBreadcrumb1`
11594
+ # @return [String]
11595
+ attr_accessor :display_url_breadcrumb1
11596
+
11597
+ # The second piece after the domain in the display url.
11598
+ # Corresponds to the JSON property `displayUrlBreadcrumb2`
11599
+ # @return [String]
11600
+ attr_accessor :display_url_breadcrumb2
11601
+
11602
+ # The domain of the display url
11603
+ # Corresponds to the JSON property `domain`
11604
+ # @return [String]
11605
+ attr_accessor :domain
11606
+
11607
+ # The URL address of the webpage that people reach after they click the ad.
11608
+ # Corresponds to the JSON property `finalUrl`
11609
+ # @return [String]
11610
+ attr_accessor :final_url
11611
+
11612
+ # The list of headlines which show on the call-to-action banner.
11613
+ # Corresponds to the JSON property `headlines`
11614
+ # @return [Array<String>]
11615
+ attr_accessor :headlines
11616
+
11617
+ # The list of lone headlines which show on the call-to-action banner.
11618
+ # Corresponds to the JSON property `longHeadlines`
11619
+ # @return [Array<String>]
11620
+ attr_accessor :long_headlines
11621
+
11622
+ # The URL address which is loaded in background for tracking purpose.
11623
+ # Corresponds to the JSON property `trackingUrl`
11624
+ # @return [String]
11625
+ attr_accessor :tracking_url
11626
+
11627
+ # The list of YouTube video assets in this ad.
11628
+ # Corresponds to the JSON property `videos`
11629
+ # @return [Array<Google::Apis::DisplayvideoV2::YoutubeVideoDetails>]
11630
+ attr_accessor :videos
11631
+
11632
+ def initialize(**args)
11633
+ update!(**args)
11634
+ end
11635
+
11636
+ # Update properties of this object
11637
+ def update!(**args)
11638
+ @action_button_labels = args[:action_button_labels] if args.key?(:action_button_labels)
11639
+ @companion_banners = args[:companion_banners] if args.key?(:companion_banners)
11640
+ @custom_parameters = args[:custom_parameters] if args.key?(:custom_parameters)
11641
+ @descriptions = args[:descriptions] if args.key?(:descriptions)
11642
+ @display_url_breadcrumb1 = args[:display_url_breadcrumb1] if args.key?(:display_url_breadcrumb1)
11643
+ @display_url_breadcrumb2 = args[:display_url_breadcrumb2] if args.key?(:display_url_breadcrumb2)
11644
+ @domain = args[:domain] if args.key?(:domain)
11645
+ @final_url = args[:final_url] if args.key?(:final_url)
11646
+ @headlines = args[:headlines] if args.key?(:headlines)
11647
+ @long_headlines = args[:long_headlines] if args.key?(:long_headlines)
11648
+ @tracking_url = args[:tracking_url] if args.key?(:tracking_url)
11649
+ @videos = args[:videos] if args.key?(:videos)
11650
+ end
11651
+ end
11652
+
10932
11653
  # Video player size targeting option details. This will be populated in the
10933
11654
  # video_player_size_details field when targeting_type is `
10934
11655
  # TARGETING_TYPE_VIDEO_PLAYER_SIZE`. Explicitly targeting all options is not
@@ -11015,10 +11736,239 @@ module Google
11015
11736
  end
11016
11737
  end
11017
11738
 
11739
+ # A single YouTube ad group associated with a YouTube and Partners line item.
11740
+ class YoutubeAdGroup
11741
+ include Google::Apis::Core::Hashable
11742
+
11743
+ # The format of the ad group.
11744
+ # Corresponds to the JSON property `adGroupFormat`
11745
+ # @return [String]
11746
+ attr_accessor :ad_group_format
11747
+
11748
+ # The unique ID of the ad group. Assigned by the system.
11749
+ # Corresponds to the JSON property `adGroupId`
11750
+ # @return [Fixnum]
11751
+ attr_accessor :ad_group_id
11752
+
11753
+ # The unique ID of the advertiser the ad group belongs to.
11754
+ # Corresponds to the JSON property `advertiserId`
11755
+ # @return [Fixnum]
11756
+ attr_accessor :advertiser_id
11757
+
11758
+ # Settings that control the bid strategy for YouTube and Partners resources.
11759
+ # Corresponds to the JSON property `biddingStrategy`
11760
+ # @return [Google::Apis::DisplayvideoV2::YoutubeAndPartnersBiddingStrategy]
11761
+ attr_accessor :bidding_strategy
11762
+
11763
+ # The display name of the ad group. Must be UTF-8 encoded with a maximum size of
11764
+ # 255 bytes.
11765
+ # Corresponds to the JSON property `displayName`
11766
+ # @return [String]
11767
+ attr_accessor :display_name
11768
+
11769
+ # Controls whether or not the ad group can spend its budget and bid on inventory.
11770
+ # If the ad group's parent line item is not active, the ad group can't spend
11771
+ # its budget even if its own status is `ENTITY_STATUS_ACTIVE`.
11772
+ # Corresponds to the JSON property `entityStatus`
11773
+ # @return [String]
11774
+ attr_accessor :entity_status
11775
+
11776
+ # The unique ID of the line item that the ad group belongs to.
11777
+ # Corresponds to the JSON property `lineItemId`
11778
+ # @return [Fixnum]
11779
+ attr_accessor :line_item_id
11780
+
11781
+ # The resource name of the ad group.
11782
+ # Corresponds to the JSON property `name`
11783
+ # @return [String]
11784
+ attr_accessor :name
11785
+
11786
+ # The details of product feed.
11787
+ # Corresponds to the JSON property `productFeedData`
11788
+ # @return [Google::Apis::DisplayvideoV2::ProductFeedData]
11789
+ attr_accessor :product_feed_data
11790
+
11791
+ # Settings that control the targeting expansion of the line item. Targeting
11792
+ # expansion allows the line item to reach a larger audience based on the
11793
+ # original audience list and the targeting expansion level. Beginning November 7,
11794
+ # 2022, these settings may represent the [optimized targeting feature](//
11795
+ # support.google.com/displayvideo/answer/12060859) in place of targeting
11796
+ # expansion. This feature will be rolled out to all partners by November 9, 2022.
11797
+ # Corresponds to the JSON property `targetingExpansion`
11798
+ # @return [Google::Apis::DisplayvideoV2::TargetingExpansionConfig]
11799
+ attr_accessor :targeting_expansion
11800
+
11801
+ # The IDs of the YouTubeAds associated with the ad group.
11802
+ # Corresponds to the JSON property `youtubeAdIds`
11803
+ # @return [Array<Fixnum>]
11804
+ attr_accessor :youtube_ad_ids
11805
+
11806
+ def initialize(**args)
11807
+ update!(**args)
11808
+ end
11809
+
11810
+ # Update properties of this object
11811
+ def update!(**args)
11812
+ @ad_group_format = args[:ad_group_format] if args.key?(:ad_group_format)
11813
+ @ad_group_id = args[:ad_group_id] if args.key?(:ad_group_id)
11814
+ @advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
11815
+ @bidding_strategy = args[:bidding_strategy] if args.key?(:bidding_strategy)
11816
+ @display_name = args[:display_name] if args.key?(:display_name)
11817
+ @entity_status = args[:entity_status] if args.key?(:entity_status)
11818
+ @line_item_id = args[:line_item_id] if args.key?(:line_item_id)
11819
+ @name = args[:name] if args.key?(:name)
11820
+ @product_feed_data = args[:product_feed_data] if args.key?(:product_feed_data)
11821
+ @targeting_expansion = args[:targeting_expansion] if args.key?(:targeting_expansion)
11822
+ @youtube_ad_ids = args[:youtube_ad_ids] if args.key?(:youtube_ad_ids)
11823
+ end
11824
+ end
11825
+
11826
+ # A single YouTube ad group ad associated with a YouTube ad group.
11827
+ class YoutubeAdGroupAd
11828
+ include Google::Apis::Core::Hashable
11829
+
11830
+ # The unique ID of the ad group ad. Assigned by the system.
11831
+ # Corresponds to the JSON property `adGroupAdId`
11832
+ # @return [Fixnum]
11833
+ attr_accessor :ad_group_ad_id
11834
+
11835
+ # The unique ID of the ad group that the ad group ad belongs to.
11836
+ # Corresponds to the JSON property `adGroupId`
11837
+ # @return [Fixnum]
11838
+ attr_accessor :ad_group_id
11839
+
11840
+ # The list of ad urls.
11841
+ # Corresponds to the JSON property `adUrls`
11842
+ # @return [Array<Google::Apis::DisplayvideoV2::AdUrl>]
11843
+ attr_accessor :ad_urls
11844
+
11845
+ # The unique ID of the advertiser the ad group ad belongs to.
11846
+ # Corresponds to the JSON property `advertiserId`
11847
+ # @return [Fixnum]
11848
+ attr_accessor :advertiser_id
11849
+
11850
+ # The details for audio ad.
11851
+ # Corresponds to the JSON property `audioAd`
11852
+ # @return [Google::Apis::DisplayvideoV2::AudioAd]
11853
+ attr_accessor :audio_ad
11854
+
11855
+ # Ad details for BumperAd.
11856
+ # Corresponds to the JSON property `bumperAd`
11857
+ # @return [Google::Apis::DisplayvideoV2::BumperAd]
11858
+ attr_accessor :bumper_ad
11859
+
11860
+ # The display name of the ad group ad. Must be UTF-8 encoded with a maximum size
11861
+ # of 255 bytes.
11862
+ # Corresponds to the JSON property `displayName`
11863
+ # @return [String]
11864
+ attr_accessor :display_name
11865
+
11866
+ # The ad of which source is DV360 creative.
11867
+ # Corresponds to the JSON property `displayVideoSourceAd`
11868
+ # @return [Google::Apis::DisplayvideoV2::DisplayVideoSourceAd]
11869
+ attr_accessor :display_video_source_ad
11870
+
11871
+ # The entity status of the ad group ad.
11872
+ # Corresponds to the JSON property `entityStatus`
11873
+ # @return [String]
11874
+ attr_accessor :entity_status
11875
+
11876
+ # Ad details for InStreamAd
11877
+ # Corresponds to the JSON property `inStreamAd`
11878
+ # @return [Google::Apis::DisplayvideoV2::InStreamAd]
11879
+ attr_accessor :in_stream_ad
11880
+
11881
+ # The details for masthead ad.
11882
+ # Corresponds to the JSON property `mastheadAd`
11883
+ # @return [Google::Apis::DisplayvideoV2::MastheadAd]
11884
+ attr_accessor :masthead_ad
11885
+
11886
+ # The resource name of the ad group ad.
11887
+ # Corresponds to the JSON property `name`
11888
+ # @return [String]
11889
+ attr_accessor :name
11890
+
11891
+ # Ad details for NonSkippableAd
11892
+ # Corresponds to the JSON property `nonSkippableAd`
11893
+ # @return [Google::Apis::DisplayvideoV2::NonSkippableAd]
11894
+ attr_accessor :non_skippable_ad
11895
+
11896
+ # The details for video discovery ad.
11897
+ # Corresponds to the JSON property `videoDiscoverAd`
11898
+ # @return [Google::Apis::DisplayvideoV2::VideoDiscoveryAd]
11899
+ attr_accessor :video_discover_ad
11900
+
11901
+ # The details for video performance ad.
11902
+ # Corresponds to the JSON property `videoPerformanceAd`
11903
+ # @return [Google::Apis::DisplayvideoV2::VideoPerformanceAd]
11904
+ attr_accessor :video_performance_ad
11905
+
11906
+ def initialize(**args)
11907
+ update!(**args)
11908
+ end
11909
+
11910
+ # Update properties of this object
11911
+ def update!(**args)
11912
+ @ad_group_ad_id = args[:ad_group_ad_id] if args.key?(:ad_group_ad_id)
11913
+ @ad_group_id = args[:ad_group_id] if args.key?(:ad_group_id)
11914
+ @ad_urls = args[:ad_urls] if args.key?(:ad_urls)
11915
+ @advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
11916
+ @audio_ad = args[:audio_ad] if args.key?(:audio_ad)
11917
+ @bumper_ad = args[:bumper_ad] if args.key?(:bumper_ad)
11918
+ @display_name = args[:display_name] if args.key?(:display_name)
11919
+ @display_video_source_ad = args[:display_video_source_ad] if args.key?(:display_video_source_ad)
11920
+ @entity_status = args[:entity_status] if args.key?(:entity_status)
11921
+ @in_stream_ad = args[:in_stream_ad] if args.key?(:in_stream_ad)
11922
+ @masthead_ad = args[:masthead_ad] if args.key?(:masthead_ad)
11923
+ @name = args[:name] if args.key?(:name)
11924
+ @non_skippable_ad = args[:non_skippable_ad] if args.key?(:non_skippable_ad)
11925
+ @video_discover_ad = args[:video_discover_ad] if args.key?(:video_discover_ad)
11926
+ @video_performance_ad = args[:video_performance_ad] if args.key?(:video_performance_ad)
11927
+ end
11928
+ end
11929
+
11930
+ # Wrapper object associating an assigned_targeting_option resource and the
11931
+ # youtube ad group it is assigned to.
11932
+ class YoutubeAdGroupAssignedTargetingOption
11933
+ include Google::Apis::Core::Hashable
11934
+
11935
+ # A single assigned targeting option, which defines the state of a targeting
11936
+ # option for an entity with targeting settings.
11937
+ # Corresponds to the JSON property `assignedTargetingOption`
11938
+ # @return [Google::Apis::DisplayvideoV2::AssignedTargetingOption]
11939
+ attr_accessor :assigned_targeting_option
11940
+
11941
+ # The ID of the youtube ad group the assigned targeting option is assigned to.
11942
+ # Corresponds to the JSON property `youtubeAdGroupId`
11943
+ # @return [Fixnum]
11944
+ attr_accessor :youtube_ad_group_id
11945
+
11946
+ def initialize(**args)
11947
+ update!(**args)
11948
+ end
11949
+
11950
+ # Update properties of this object
11951
+ def update!(**args)
11952
+ @assigned_targeting_option = args[:assigned_targeting_option] if args.key?(:assigned_targeting_option)
11953
+ @youtube_ad_group_id = args[:youtube_ad_group_id] if args.key?(:youtube_ad_group_id)
11954
+ end
11955
+ end
11956
+
11018
11957
  # Settings that control the bid strategy for YouTube and Partners resources.
11019
11958
  class YoutubeAndPartnersBiddingStrategy
11020
11959
  include Google::Apis::Core::Hashable
11021
11960
 
11961
+ # Output only. Source of the effective targetCpa value for AdGroup.
11962
+ # Corresponds to the JSON property `adGroupEffectiveTargetCpaSource`
11963
+ # @return [String]
11964
+ attr_accessor :ad_group_effective_target_cpa_source
11965
+
11966
+ # Output only. The effective targetCpa for AdGroup, in micros of advertiser's
11967
+ # currency.
11968
+ # Corresponds to the JSON property `adGroupEffectiveTargetCpaValue`
11969
+ # @return [Fixnum]
11970
+ attr_accessor :ad_group_effective_target_cpa_value
11971
+
11022
11972
  # The type of the bidding strategy.
11023
11973
  # Corresponds to the JSON property `type`
11024
11974
  # @return [String]
@@ -11044,6 +11994,8 @@ module Google
11044
11994
 
11045
11995
  # Update properties of this object
11046
11996
  def update!(**args)
11997
+ @ad_group_effective_target_cpa_source = args[:ad_group_effective_target_cpa_source] if args.key?(:ad_group_effective_target_cpa_source)
11998
+ @ad_group_effective_target_cpa_value = args[:ad_group_effective_target_cpa_value] if args.key?(:ad_group_effective_target_cpa_value)
11047
11999
  @type = args[:type] if args.key?(:type)
11048
12000
  @value = args[:value] if args.key?(:value)
11049
12001
  end
@@ -11106,6 +12058,28 @@ module Google
11106
12058
  # @return [Google::Apis::DisplayvideoV2::YoutubeAndPartnersInventorySourceConfig]
11107
12059
  attr_accessor :inventory_source_settings
11108
12060
 
12061
+ # The ID of the form to generate leads.
12062
+ # Corresponds to the JSON property `leadFormId`
12063
+ # @return [Fixnum]
12064
+ attr_accessor :lead_form_id
12065
+
12066
+ # The ID of the merchant which is linked to the line item for product feed.
12067
+ # Corresponds to the JSON property `linkedMerchantId`
12068
+ # @return [Fixnum]
12069
+ attr_accessor :linked_merchant_id
12070
+
12071
+ # The IDs of the videos appear below the primary video ad when the ad is playing
12072
+ # in the YouTube app on mobile devices.
12073
+ # Corresponds to the JSON property `relatedVideoIds`
12074
+ # @return [Array<String>]
12075
+ attr_accessor :related_video_ids
12076
+
12077
+ # Setting that controls the average number of times the ads will show to the
12078
+ # same person over a certain period of time.
12079
+ # Corresponds to the JSON property `targetFrequency`
12080
+ # @return [Google::Apis::DisplayvideoV2::TargetFrequency]
12081
+ attr_accessor :target_frequency
12082
+
11109
12083
  # Settings that control what third-party vendors are measuring specific line
11110
12084
  # item metrics.
11111
12085
  # Corresponds to the JSON property `thirdPartyMeasurementSettings`
@@ -11132,6 +12106,10 @@ module Google
11132
12106
  @bidding_strategy = args[:bidding_strategy] if args.key?(:bidding_strategy)
11133
12107
  @content_category = args[:content_category] if args.key?(:content_category)
11134
12108
  @inventory_source_settings = args[:inventory_source_settings] if args.key?(:inventory_source_settings)
12109
+ @lead_form_id = args[:lead_form_id] if args.key?(:lead_form_id)
12110
+ @linked_merchant_id = args[:linked_merchant_id] if args.key?(:linked_merchant_id)
12111
+ @related_video_ids = args[:related_video_ids] if args.key?(:related_video_ids)
12112
+ @target_frequency = args[:target_frequency] if args.key?(:target_frequency)
11135
12113
  @third_party_measurement_settings = args[:third_party_measurement_settings] if args.key?(:third_party_measurement_settings)
11136
12114
  @video_ad_sequence_settings = args[:video_ad_sequence_settings] if args.key?(:video_ad_sequence_settings)
11137
12115
  @view_frequency_cap = args[:view_frequency_cap] if args.key?(:view_frequency_cap)
@@ -11185,6 +12163,87 @@ module Google
11185
12163
  @viewability_vendor_configs = args[:viewability_vendor_configs] if args.key?(:viewability_vendor_configs)
11186
12164
  end
11187
12165
  end
12166
+
12167
+ # Details for YouTube channel assigned targeting option. This will be populated
12168
+ # in the youtube_channel_details field when targeting_type is `
12169
+ # TARGETING_TYPE_YOUTUBE_CHANNEL`.
12170
+ class YoutubeChannelAssignedTargetingOptionDetails
12171
+ include Google::Apis::Core::Hashable
12172
+
12173
+ # The YouTube uploader channel id or the channel code of a YouTube channel.
12174
+ # Corresponds to the JSON property `channelId`
12175
+ # @return [String]
12176
+ attr_accessor :channel_id
12177
+
12178
+ # Indicates if this option is being negatively targeted.
12179
+ # Corresponds to the JSON property `negative`
12180
+ # @return [Boolean]
12181
+ attr_accessor :negative
12182
+ alias_method :negative?, :negative
12183
+
12184
+ def initialize(**args)
12185
+ update!(**args)
12186
+ end
12187
+
12188
+ # Update properties of this object
12189
+ def update!(**args)
12190
+ @channel_id = args[:channel_id] if args.key?(:channel_id)
12191
+ @negative = args[:negative] if args.key?(:negative)
12192
+ end
12193
+ end
12194
+
12195
+ # Details for YouTube video assigned targeting option. This will be populated in
12196
+ # the youtube_video_details field when targeting_type is `
12197
+ # TARGETING_TYPE_YOUTUBE_VIDEO`.
12198
+ class YoutubeVideoAssignedTargetingOptionDetails
12199
+ include Google::Apis::Core::Hashable
12200
+
12201
+ # Indicates if this option is being negatively targeted.
12202
+ # Corresponds to the JSON property `negative`
12203
+ # @return [Boolean]
12204
+ attr_accessor :negative
12205
+ alias_method :negative?, :negative
12206
+
12207
+ # YouTube video id as it appears on the YouTube watch page.
12208
+ # Corresponds to the JSON property `videoId`
12209
+ # @return [String]
12210
+ attr_accessor :video_id
12211
+
12212
+ def initialize(**args)
12213
+ update!(**args)
12214
+ end
12215
+
12216
+ # Update properties of this object
12217
+ def update!(**args)
12218
+ @negative = args[:negative] if args.key?(:negative)
12219
+ @video_id = args[:video_id] if args.key?(:video_id)
12220
+ end
12221
+ end
12222
+
12223
+ # Details of the YouTube video.
12224
+ class YoutubeVideoDetails
12225
+ include Google::Apis::Core::Hashable
12226
+
12227
+ # The ID which can be searched on YouTube webpage.
12228
+ # Corresponds to the JSON property `id`
12229
+ # @return [String]
12230
+ attr_accessor :id
12231
+
12232
+ # The reason why the video data is not available.
12233
+ # Corresponds to the JSON property `unavailableReason`
12234
+ # @return [String]
12235
+ attr_accessor :unavailable_reason
12236
+
12237
+ def initialize(**args)
12238
+ update!(**args)
12239
+ end
12240
+
12241
+ # Update properties of this object
12242
+ def update!(**args)
12243
+ @id = args[:id] if args.key?(:id)
12244
+ @unavailable_reason = args[:unavailable_reason] if args.key?(:unavailable_reason)
12245
+ end
12246
+ end
11188
12247
  end
11189
12248
  end
11190
12249
  end