google-apis-displayvideo_v2 0.9.0 → 0.11.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 string value.
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
+ # Details for an 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 loaded in the background for tracking purposes.
1299
+ # Corresponds to the JSON property `trackingUrl`
1300
+ # @return [String]
1301
+ attr_accessor :tracking_url
1302
+
1303
+ # Details of a 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
@@ -1736,13 +1822,63 @@ module Google
1736
1822
  include Google::Apis::Core::Hashable
1737
1823
 
1738
1824
  # The assigned targeting options to create in batch, specified as a list of
1739
- # CreateAssignedTargetingOptionsRequest.
1825
+ # CreateAssignedTargetingOptionsRequest. Supported targeting types include: * `
1826
+ # TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `
1827
+ # TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `
1828
+ # TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`
1829
+ # * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `
1830
+ # TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `
1831
+ # TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `
1832
+ # TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `
1833
+ # TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `
1834
+ # TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `
1835
+ # TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `
1836
+ # TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT`
1837
+ # * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `
1838
+ # TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `
1839
+ # TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `
1840
+ # TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `
1841
+ # TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `
1842
+ # TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `
1843
+ # TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `
1844
+ # TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `
1845
+ # TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `
1846
+ # TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `
1847
+ # TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` *
1848
+ # `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `
1849
+ # TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `
1850
+ # TARGETING_TYPE_VIEWABILITY`
1740
1851
  # Corresponds to the JSON property `createRequests`
1741
1852
  # @return [Array<Google::Apis::DisplayvideoV2::CreateAssignedTargetingOptionsRequest>]
1742
1853
  attr_accessor :create_requests
1743
1854
 
1744
1855
  # The assigned targeting options to delete in batch, specified as a list of
1745
- # DeleteAssignedTargetingOptionsRequest.
1856
+ # DeleteAssignedTargetingOptionsRequest. Supported targeting types include: * `
1857
+ # TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `
1858
+ # TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `
1859
+ # TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`
1860
+ # * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `
1861
+ # TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `
1862
+ # TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `
1863
+ # TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `
1864
+ # TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `
1865
+ # TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `
1866
+ # TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `
1867
+ # TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT`
1868
+ # * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `
1869
+ # TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `
1870
+ # TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `
1871
+ # TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `
1872
+ # TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `
1873
+ # TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `
1874
+ # TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `
1875
+ # TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `
1876
+ # TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `
1877
+ # TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `
1878
+ # TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` *
1879
+ # `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `
1880
+ # TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `
1881
+ # TARGETING_TYPE_VIEWABILITY`
1746
1882
  # Corresponds to the JSON property `deleteRequests`
1747
1883
  # @return [Array<Google::Apis::DisplayvideoV2::DeleteAssignedTargetingOptionsRequest>]
1748
1884
  attr_accessor :delete_requests
@@ -1996,6 +2132,36 @@ module Google
1996
2132
  end
1997
2133
  end
1998
2134
 
2135
+ #
2136
+ class BulkListAdGroupAssignedTargetingOptionsResponse
2137
+ include Google::Apis::Core::Hashable
2138
+
2139
+ # A token identifying the next page of results. This value should be specified
2140
+ # as the pageToken in a subsequent call to `
2141
+ # BulkListAdGroupAssignedTargetingOptions` to fetch the next page of results.
2142
+ # This token will be absent if there are no more
2143
+ # youtube_ad_group_assigned_targeting_options to return.
2144
+ # Corresponds to the JSON property `nextPageToken`
2145
+ # @return [String]
2146
+ attr_accessor :next_page_token
2147
+
2148
+ # The list of wrapper objects, each providing an assigned targeting option and
2149
+ # the youtube ad group it is assigned to. This list will be absent if empty.
2150
+ # Corresponds to the JSON property `youtubeAdGroupAssignedTargetingOptions`
2151
+ # @return [Array<Google::Apis::DisplayvideoV2::YoutubeAdGroupAssignedTargetingOption>]
2152
+ attr_accessor :youtube_ad_group_assigned_targeting_options
2153
+
2154
+ def initialize(**args)
2155
+ update!(**args)
2156
+ end
2157
+
2158
+ # Update properties of this object
2159
+ def update!(**args)
2160
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2161
+ @youtube_ad_group_assigned_targeting_options = args[:youtube_ad_group_assigned_targeting_options] if args.key?(:youtube_ad_group_assigned_targeting_options)
2162
+ end
2163
+ end
2164
+
1999
2165
  #
2000
2166
  class BulkListAdvertiserAssignedTargetingOptionsResponse
2001
2167
  include Google::Apis::Core::Hashable
@@ -2183,6 +2349,25 @@ module Google
2183
2349
  end
2184
2350
  end
2185
2351
 
2352
+ # Details for a bumper ad.
2353
+ class BumperAd
2354
+ include Google::Apis::Core::Hashable
2355
+
2356
+ # Common attributes for in-stream, non-skippable and bumper ads.
2357
+ # Corresponds to the JSON property `commonInStreamAttribute`
2358
+ # @return [Google::Apis::DisplayvideoV2::CommonInStreamAttribute]
2359
+ attr_accessor :common_in_stream_attribute
2360
+
2361
+ def initialize(**args)
2362
+ update!(**args)
2363
+ end
2364
+
2365
+ # Update properties of this object
2366
+ def update!(**args)
2367
+ @common_in_stream_attribute = args[:common_in_stream_attribute] if args.key?(:common_in_stream_attribute)
2368
+ end
2369
+ end
2370
+
2186
2371
  # Details for assigned Business chain targeting option. This will be populated
2187
2372
  # in the details field of an AssignedTargetingOption when targeting_type is `
2188
2373
  # TARGETING_TYPE_BUSINESS_CHAIN`.
@@ -2874,6 +3059,61 @@ module Google
2874
3059
  end
2875
3060
  end
2876
3061
 
3062
+ # Common attributes for in-stream, non-skippable and bumper ads.
3063
+ class CommonInStreamAttribute
3064
+ include Google::Apis::Core::Hashable
3065
+
3066
+ # The text on the call-to-action button.
3067
+ # Corresponds to the JSON property `actionButtonLabel`
3068
+ # @return [String]
3069
+ attr_accessor :action_button_label
3070
+
3071
+ # The headline of the call-to-action banner.
3072
+ # Corresponds to the JSON property `actionHeadline`
3073
+ # @return [String]
3074
+ attr_accessor :action_headline
3075
+
3076
+ # Meta data of an image asset.
3077
+ # Corresponds to the JSON property `companionBanner`
3078
+ # @return [Google::Apis::DisplayvideoV2::ImageAsset]
3079
+ attr_accessor :companion_banner
3080
+
3081
+ # The webpage address that appears with the ad.
3082
+ # Corresponds to the JSON property `displayUrl`
3083
+ # @return [String]
3084
+ attr_accessor :display_url
3085
+
3086
+ # The URL address of the webpage that people reach after they click the ad.
3087
+ # Corresponds to the JSON property `finalUrl`
3088
+ # @return [String]
3089
+ attr_accessor :final_url
3090
+
3091
+ # The URL address loaded in the background for tracking purposes.
3092
+ # Corresponds to the JSON property `trackingUrl`
3093
+ # @return [String]
3094
+ attr_accessor :tracking_url
3095
+
3096
+ # Details of a YouTube video.
3097
+ # Corresponds to the JSON property `video`
3098
+ # @return [Google::Apis::DisplayvideoV2::YoutubeVideoDetails]
3099
+ attr_accessor :video
3100
+
3101
+ def initialize(**args)
3102
+ update!(**args)
3103
+ end
3104
+
3105
+ # Update properties of this object
3106
+ def update!(**args)
3107
+ @action_button_label = args[:action_button_label] if args.key?(:action_button_label)
3108
+ @action_headline = args[:action_headline] if args.key?(:action_headline)
3109
+ @companion_banner = args[:companion_banner] if args.key?(:companion_banner)
3110
+ @display_url = args[:display_url] if args.key?(:display_url)
3111
+ @final_url = args[:final_url] if args.key?(:final_url)
3112
+ @tracking_url = args[:tracking_url] if args.key?(:tracking_url)
3113
+ @video = args[:video] if args.key?(:video)
3114
+ end
3115
+ end
3116
+
2877
3117
  # Contact information defining a Customer Match audience member.
2878
3118
  class ContactInfo
2879
3119
  include Google::Apis::Core::Hashable
@@ -4050,6 +4290,31 @@ module Google
4050
4290
  end
4051
4291
  end
4052
4292
 
4293
+ # The key and value of a custom label.
4294
+ class CustomLabel
4295
+ include Google::Apis::Core::Hashable
4296
+
4297
+ # The key of the label.
4298
+ # Corresponds to the JSON property `key`
4299
+ # @return [String]
4300
+ attr_accessor :key
4301
+
4302
+ # The value of the label.
4303
+ # Corresponds to the JSON property `value`
4304
+ # @return [String]
4305
+ attr_accessor :value
4306
+
4307
+ def initialize(**args)
4308
+ update!(**args)
4309
+ end
4310
+
4311
+ # Update properties of this object
4312
+ def update!(**args)
4313
+ @key = args[:key] if args.key?(:key)
4314
+ @value = args[:value] if args.key?(:value)
4315
+ end
4316
+ end
4317
+
4053
4318
  # Describes a custom list entity, such as a custom affinity or custom intent
4054
4319
  # audience list.
4055
4320
  class CustomList
@@ -4462,6 +4727,25 @@ module Google
4462
4727
  end
4463
4728
  end
4464
4729
 
4730
+ # The ad sourced from a DV360 creative.
4731
+ class DisplayVideoSourceAd
4732
+ include Google::Apis::Core::Hashable
4733
+
4734
+ # The ID of the source creative.
4735
+ # Corresponds to the JSON property `creativeId`
4736
+ # @return [Fixnum]
4737
+ attr_accessor :creative_id
4738
+
4739
+ def initialize(**args)
4740
+ update!(**args)
4741
+ end
4742
+
4743
+ # Update properties of this object
4744
+ def update!(**args)
4745
+ @creative_id = args[:creative_id] if args.key?(:creative_id)
4746
+ end
4747
+ end
4748
+
4465
4749
  # Details of DoubleVerify settings.
4466
4750
  class DoubleVerify
4467
4751
  include Google::Apis::Core::Hashable
@@ -5978,6 +6262,62 @@ module Google
5978
6262
  end
5979
6263
  end
5980
6264
 
6265
+ # Meta data of an image asset.
6266
+ class ImageAsset
6267
+ include Google::Apis::Core::Hashable
6268
+
6269
+ # File size of the image asset in bytes.
6270
+ # Corresponds to the JSON property `fileSize`
6271
+ # @return [Fixnum]
6272
+ attr_accessor :file_size
6273
+
6274
+ # Dimensions.
6275
+ # Corresponds to the JSON property `fullSize`
6276
+ # @return [Google::Apis::DisplayvideoV2::Dimensions]
6277
+ attr_accessor :full_size
6278
+
6279
+ # MIME type of the image asset.
6280
+ # Corresponds to the JSON property `mimeType`
6281
+ # @return [String]
6282
+ attr_accessor :mime_type
6283
+
6284
+ def initialize(**args)
6285
+ update!(**args)
6286
+ end
6287
+
6288
+ # Update properties of this object
6289
+ def update!(**args)
6290
+ @file_size = args[:file_size] if args.key?(:file_size)
6291
+ @full_size = args[:full_size] if args.key?(:full_size)
6292
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
6293
+ end
6294
+ end
6295
+
6296
+ # Details for an in-stream ad.
6297
+ class InStreamAd
6298
+ include Google::Apis::Core::Hashable
6299
+
6300
+ # Common attributes for in-stream, non-skippable and bumper ads.
6301
+ # Corresponds to the JSON property `commonInStreamAttribute`
6302
+ # @return [Google::Apis::DisplayvideoV2::CommonInStreamAttribute]
6303
+ attr_accessor :common_in_stream_attribute
6304
+
6305
+ # The custom parameters to pass custom values to tracking URL template.
6306
+ # Corresponds to the JSON property `customParameters`
6307
+ # @return [Hash<String,String>]
6308
+ attr_accessor :custom_parameters
6309
+
6310
+ def initialize(**args)
6311
+ update!(**args)
6312
+ end
6313
+
6314
+ # Update properties of this object
6315
+ def update!(**args)
6316
+ @common_in_stream_attribute = args[:common_in_stream_attribute] if args.key?(:common_in_stream_attribute)
6317
+ @custom_parameters = args[:custom_parameters] if args.key?(:custom_parameters)
6318
+ end
6319
+ end
6320
+
5981
6321
  # A single insertion order.
5982
6322
  class InsertionOrder
5983
6323
  include Google::Apis::Core::Hashable
@@ -8102,6 +8442,89 @@ module Google
8102
8442
  end
8103
8443
  end
8104
8444
 
8445
+ #
8446
+ class ListYoutubeAdGroupAdsResponse
8447
+ include Google::Apis::Core::Hashable
8448
+
8449
+ # A token to retrieve the next page of results. Pass this value in the
8450
+ # page_token field in the subsequent call to `ListYoutubeAdGroupAds` method to
8451
+ # retrieve the next page of results.
8452
+ # Corresponds to the JSON property `nextPageToken`
8453
+ # @return [String]
8454
+ attr_accessor :next_page_token
8455
+
8456
+ # The list of ad group ads. This list will be absent if empty.
8457
+ # Corresponds to the JSON property `youtubeAdGroupAds`
8458
+ # @return [Array<Google::Apis::DisplayvideoV2::YoutubeAdGroupAd>]
8459
+ attr_accessor :youtube_ad_group_ads
8460
+
8461
+ def initialize(**args)
8462
+ update!(**args)
8463
+ end
8464
+
8465
+ # Update properties of this object
8466
+ def update!(**args)
8467
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
8468
+ @youtube_ad_group_ads = args[:youtube_ad_group_ads] if args.key?(:youtube_ad_group_ads)
8469
+ end
8470
+ end
8471
+
8472
+ # Response message for ListYoutubeAdGroupAssignedTargetingOptions.
8473
+ class ListYoutubeAdGroupAssignedTargetingOptionsResponse
8474
+ include Google::Apis::Core::Hashable
8475
+
8476
+ # The list of assigned targeting options. This list will be absent if empty.
8477
+ # Corresponds to the JSON property `assignedTargetingOptions`
8478
+ # @return [Array<Google::Apis::DisplayvideoV2::AssignedTargetingOption>]
8479
+ attr_accessor :assigned_targeting_options
8480
+
8481
+ # A token identifying the next page of results. This value should be specified
8482
+ # as the pageToken in a subsequent
8483
+ # ListYoutubeAdGroupAssignedTargetingOptionsRequest to fetch the next page of
8484
+ # results. This token will be absent if there are no more
8485
+ # assigned_targeting_options to return.
8486
+ # Corresponds to the JSON property `nextPageToken`
8487
+ # @return [String]
8488
+ attr_accessor :next_page_token
8489
+
8490
+ def initialize(**args)
8491
+ update!(**args)
8492
+ end
8493
+
8494
+ # Update properties of this object
8495
+ def update!(**args)
8496
+ @assigned_targeting_options = args[:assigned_targeting_options] if args.key?(:assigned_targeting_options)
8497
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
8498
+ end
8499
+ end
8500
+
8501
+ #
8502
+ class ListYoutubeAdGroupsResponse
8503
+ include Google::Apis::Core::Hashable
8504
+
8505
+ # A token to retrieve the next page of results. Pass this value in the
8506
+ # page_token field in the subsequent call to `ListYoutubeAdGroups` method to
8507
+ # retrieve the next page of results.
8508
+ # Corresponds to the JSON property `nextPageToken`
8509
+ # @return [String]
8510
+ attr_accessor :next_page_token
8511
+
8512
+ # The list of ad groups. This list will be absent if empty.
8513
+ # Corresponds to the JSON property `youtubeAdGroups`
8514
+ # @return [Array<Google::Apis::DisplayvideoV2::YoutubeAdGroup>]
8515
+ attr_accessor :youtube_ad_groups
8516
+
8517
+ def initialize(**args)
8518
+ update!(**args)
8519
+ end
8520
+
8521
+ # Update properties of this object
8522
+ def update!(**args)
8523
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
8524
+ @youtube_ad_groups = args[:youtube_ad_groups] if args.key?(:youtube_ad_groups)
8525
+ end
8526
+ end
8527
+
8105
8528
  # A list of locations used for targeting.
8106
8529
  class LocationList
8107
8530
  include Google::Apis::Core::Hashable
@@ -8255,32 +8678,114 @@ module Google
8255
8678
  end
8256
8679
  end
8257
8680
 
8258
- # A strategy that automatically adjusts the bid to optimize a specified
8259
- # performance goal while spending the full budget.
8260
- class MaximizeSpendBidStrategy
8681
+ # Details for a Masthead Ad.
8682
+ class MastheadAd
8261
8683
  include Google::Apis::Core::Hashable
8262
8684
 
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
8685
+ # The duration of time the video will autoplay.
8686
+ # Corresponds to the JSON property `autoplayVideoDuration`
8687
+ # @return [String]
8688
+ attr_accessor :autoplay_video_duration
8269
8689
 
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`
8690
+ # The amount of time in milliseconds after which the video will start to play.
8691
+ # Corresponds to the JSON property `autoplayVideoStartMillisecond`
8274
8692
  # @return [Fixnum]
8275
- attr_accessor :max_average_cpm_bid_amount_micros
8693
+ attr_accessor :autoplay_video_start_millisecond
8276
8694
 
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`
8695
+ # The text on the call-to-action button.
8696
+ # Corresponds to the JSON property `callToActionButtonLabel`
8282
8697
  # @return [String]
8283
- attr_accessor :performance_goal_type
8698
+ attr_accessor :call_to_action_button_label
8699
+
8700
+ # The destination URL for the call-to-action button.
8701
+ # Corresponds to the JSON property `callToActionFinalUrl`
8702
+ # @return [String]
8703
+ attr_accessor :call_to_action_final_url
8704
+
8705
+ # The tracking URL for the call-to-action button.
8706
+ # Corresponds to the JSON property `callToActionTrackingUrl`
8707
+ # @return [String]
8708
+ attr_accessor :call_to_action_tracking_url
8709
+
8710
+ # The videos that appear next to the Masthead Ad on desktop. Can be no more than
8711
+ # two.
8712
+ # Corresponds to the JSON property `companionYoutubeVideos`
8713
+ # @return [Array<Google::Apis::DisplayvideoV2::YoutubeVideoDetails>]
8714
+ attr_accessor :companion_youtube_videos
8715
+
8716
+ # The description of the ad.
8717
+ # Corresponds to the JSON property `description`
8718
+ # @return [String]
8719
+ attr_accessor :description
8720
+
8721
+ # The headline of the ad.
8722
+ # Corresponds to the JSON property `headline`
8723
+ # @return [String]
8724
+ attr_accessor :headline
8725
+
8726
+ # Whether to show a background or banner that appears at the top of a YouTube
8727
+ # page.
8728
+ # Corresponds to the JSON property `showChannelArt`
8729
+ # @return [Boolean]
8730
+ attr_accessor :show_channel_art
8731
+ alias_method :show_channel_art?, :show_channel_art
8732
+
8733
+ # Details of a YouTube video.
8734
+ # Corresponds to the JSON property `video`
8735
+ # @return [Google::Apis::DisplayvideoV2::YoutubeVideoDetails]
8736
+ attr_accessor :video
8737
+
8738
+ # The aspect ratio of the autoplaying YouTube video on the Masthead.
8739
+ # Corresponds to the JSON property `videoAspectRatio`
8740
+ # @return [String]
8741
+ attr_accessor :video_aspect_ratio
8742
+
8743
+ def initialize(**args)
8744
+ update!(**args)
8745
+ end
8746
+
8747
+ # Update properties of this object
8748
+ def update!(**args)
8749
+ @autoplay_video_duration = args[:autoplay_video_duration] if args.key?(:autoplay_video_duration)
8750
+ @autoplay_video_start_millisecond = args[:autoplay_video_start_millisecond] if args.key?(:autoplay_video_start_millisecond)
8751
+ @call_to_action_button_label = args[:call_to_action_button_label] if args.key?(:call_to_action_button_label)
8752
+ @call_to_action_final_url = args[:call_to_action_final_url] if args.key?(:call_to_action_final_url)
8753
+ @call_to_action_tracking_url = args[:call_to_action_tracking_url] if args.key?(:call_to_action_tracking_url)
8754
+ @companion_youtube_videos = args[:companion_youtube_videos] if args.key?(:companion_youtube_videos)
8755
+ @description = args[:description] if args.key?(:description)
8756
+ @headline = args[:headline] if args.key?(:headline)
8757
+ @show_channel_art = args[:show_channel_art] if args.key?(:show_channel_art)
8758
+ @video = args[:video] if args.key?(:video)
8759
+ @video_aspect_ratio = args[:video_aspect_ratio] if args.key?(:video_aspect_ratio)
8760
+ end
8761
+ end
8762
+
8763
+ # A strategy that automatically adjusts the bid to optimize a specified
8764
+ # performance goal while spending the full budget.
8765
+ class MaximizeSpendBidStrategy
8766
+ include Google::Apis::Core::Hashable
8767
+
8768
+ # The ID of the Custom Bidding Algorithm used by this strategy. Only applicable
8769
+ # when performance_goal_type is set to `
8770
+ # BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.
8771
+ # Corresponds to the JSON property `customBiddingAlgorithmId`
8772
+ # @return [Fixnum]
8773
+ attr_accessor :custom_bidding_algorithm_id
8774
+
8775
+ # The maximum average CPM that may be bid, in micros of the advertiser's
8776
+ # currency. Must be greater than or equal to a billable unit of the given
8777
+ # currency. For example, 1500000 represents 1.5 standard units of the currency.
8778
+ # Corresponds to the JSON property `maxAverageCpmBidAmountMicros`
8779
+ # @return [Fixnum]
8780
+ attr_accessor :max_average_cpm_bid_amount_micros
8781
+
8782
+ # Required. The type of the performance goal that the bidding strategy tries to
8783
+ # minimize while spending the full budget. `
8784
+ # BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` is not supported for this
8785
+ # strategy.
8786
+ # Corresponds to the JSON property `performanceGoalType`
8787
+ # @return [String]
8788
+ attr_accessor :performance_goal_type
8284
8789
 
8285
8790
  # Whether the strategy takes deal floor prices into account.
8286
8791
  # Corresponds to the JSON property `raiseBidForDeals`
@@ -8568,6 +9073,31 @@ module Google
8568
9073
  end
8569
9074
  end
8570
9075
 
9076
+ # Details for a non-skippable ad.
9077
+ class NonSkippableAd
9078
+ include Google::Apis::Core::Hashable
9079
+
9080
+ # Common attributes for in-stream, non-skippable and bumper ads.
9081
+ # Corresponds to the JSON property `commonInStreamAttribute`
9082
+ # @return [Google::Apis::DisplayvideoV2::CommonInStreamAttribute]
9083
+ attr_accessor :common_in_stream_attribute
9084
+
9085
+ # The custom parameters to pass custom values to tracking URL template.
9086
+ # Corresponds to the JSON property `customParameters`
9087
+ # @return [Hash<String,String>]
9088
+ attr_accessor :custom_parameters
9089
+
9090
+ def initialize(**args)
9091
+ update!(**args)
9092
+ end
9093
+
9094
+ # Update properties of this object
9095
+ def update!(**args)
9096
+ @common_in_stream_attribute = args[:common_in_stream_attribute] if args.key?(:common_in_stream_attribute)
9097
+ @custom_parameters = args[:custom_parameters] if args.key?(:custom_parameters)
9098
+ end
9099
+ end
9100
+
8571
9101
  # OBA Icon for a Creative
8572
9102
  class ObaIcon
8573
9103
  include Google::Apis::Core::Hashable
@@ -9498,6 +10028,63 @@ module Google
9498
10028
  end
9499
10029
  end
9500
10030
 
10031
+ # The details of product feed.
10032
+ class ProductFeedData
10033
+ include Google::Apis::Core::Hashable
10034
+
10035
+ # Whether the product feed has opted-out of showing products.
10036
+ # Corresponds to the JSON property `isFeedDisabled`
10037
+ # @return [Boolean]
10038
+ attr_accessor :is_feed_disabled
10039
+ alias_method :is_feed_disabled?, :is_feed_disabled
10040
+
10041
+ # A list of dimensions used to match products.
10042
+ # Corresponds to the JSON property `productMatchDimensions`
10043
+ # @return [Array<Google::Apis::DisplayvideoV2::ProductMatchDimension>]
10044
+ attr_accessor :product_match_dimensions
10045
+
10046
+ # How products are selected by the product feed.
10047
+ # Corresponds to the JSON property `productMatchType`
10048
+ # @return [String]
10049
+ attr_accessor :product_match_type
10050
+
10051
+ def initialize(**args)
10052
+ update!(**args)
10053
+ end
10054
+
10055
+ # Update properties of this object
10056
+ def update!(**args)
10057
+ @is_feed_disabled = args[:is_feed_disabled] if args.key?(:is_feed_disabled)
10058
+ @product_match_dimensions = args[:product_match_dimensions] if args.key?(:product_match_dimensions)
10059
+ @product_match_type = args[:product_match_type] if args.key?(:product_match_type)
10060
+ end
10061
+ end
10062
+
10063
+ # A dimension used to match products.
10064
+ class ProductMatchDimension
10065
+ include Google::Apis::Core::Hashable
10066
+
10067
+ # The key and value of a custom label.
10068
+ # Corresponds to the JSON property `customLabel`
10069
+ # @return [Google::Apis::DisplayvideoV2::CustomLabel]
10070
+ attr_accessor :custom_label
10071
+
10072
+ # The ID of the product offer to match with a product with the same offer ID.
10073
+ # Corresponds to the JSON property `productOfferId`
10074
+ # @return [String]
10075
+ attr_accessor :product_offer_id
10076
+
10077
+ def initialize(**args)
10078
+ update!(**args)
10079
+ end
10080
+
10081
+ # Update properties of this object
10082
+ def update!(**args)
10083
+ @custom_label = args[:custom_label] if args.key?(:custom_label)
10084
+ @product_offer_id = args[:product_offer_id] if args.key?(:product_offer_id)
10085
+ end
10086
+ end
10087
+
9501
10088
  # Targeting details for proximity location list. This will be populated in the
9502
10089
  # details field of an AssignedTargetingOption when targeting_type is `
9503
10090
  # TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
@@ -10008,6 +10595,27 @@ module Google
10008
10595
  end
10009
10596
  end
10010
10597
 
10598
+ # Details for session position assigned targeting option. This will be populated
10599
+ # in the session_position_details field when targeting_type is `
10600
+ # TARGETING_TYPE_SESSION_POSITION`.
10601
+ class SessionPositionAssignedTargetingOptionDetails
10602
+ include Google::Apis::Core::Hashable
10603
+
10604
+ # The position where the ad will show in a session.
10605
+ # Corresponds to the JSON property `sessionPosition`
10606
+ # @return [String]
10607
+ attr_accessor :session_position
10608
+
10609
+ def initialize(**args)
10610
+ update!(**args)
10611
+ end
10612
+
10613
+ # Update properties of this object
10614
+ def update!(**args)
10615
+ @session_position = args[:session_position] if args.key?(:session_position)
10616
+ end
10617
+ end
10618
+
10011
10619
  # A single site. Sites are apps or websites belonging to a channel.
10012
10620
  class Site
10013
10621
  include Google::Apis::Core::Hashable
@@ -10116,6 +10724,42 @@ module Google
10116
10724
  end
10117
10725
  end
10118
10726
 
10727
+ # Setting that controls the average number of times the ads will show to the
10728
+ # same person over a certain period of time.
10729
+ class TargetFrequency
10730
+ include Google::Apis::Core::Hashable
10731
+
10732
+ # The target number of times, on average, the ads will be shown to the same
10733
+ # person in the timespan dictated by time_unit and time_unit_count.
10734
+ # Corresponds to the JSON property `targetCount`
10735
+ # @return [Fixnum]
10736
+ attr_accessor :target_count
10737
+
10738
+ # The unit of time in which the target frequency will be applied. The following
10739
+ # time unit is applicable: * `TIME_UNIT_WEEKS`
10740
+ # Corresponds to the JSON property `timeUnit`
10741
+ # @return [String]
10742
+ attr_accessor :time_unit
10743
+
10744
+ # The number of time_unit the target frequency will last. The following
10745
+ # restrictions apply based on the value of time_unit: * `TIME_UNIT_WEEKS` - must
10746
+ # be 1
10747
+ # Corresponds to the JSON property `timeUnitCount`
10748
+ # @return [Fixnum]
10749
+ attr_accessor :time_unit_count
10750
+
10751
+ def initialize(**args)
10752
+ update!(**args)
10753
+ end
10754
+
10755
+ # Update properties of this object
10756
+ def update!(**args)
10757
+ @target_count = args[:target_count] if args.key?(:target_count)
10758
+ @time_unit = args[:time_unit] if args.key?(:time_unit)
10759
+ @time_unit_count = args[:time_unit_count] if args.key?(:time_unit_count)
10760
+ end
10761
+ end
10762
+
10119
10763
  # Settings that control the targeting expansion of the line item. Targeting
10120
10764
  # expansion allows the line item to reach a larger audience based on the
10121
10765
  # original audience list and the targeting expansion level. Beginning November 7,
@@ -10929,6 +11573,134 @@ module Google
10929
11573
  end
10930
11574
  end
10931
11575
 
11576
+ # Details for a video discovery ad.
11577
+ class VideoDiscoveryAd
11578
+ include Google::Apis::Core::Hashable
11579
+
11580
+ # First text line for the ad.
11581
+ # Corresponds to the JSON property `description1`
11582
+ # @return [String]
11583
+ attr_accessor :description1
11584
+
11585
+ # Second text line for the ad.
11586
+ # Corresponds to the JSON property `description2`
11587
+ # @return [String]
11588
+ attr_accessor :description2
11589
+
11590
+ # The headline of ad.
11591
+ # Corresponds to the JSON property `headline`
11592
+ # @return [String]
11593
+ attr_accessor :headline
11594
+
11595
+ # Thumbnail image used in the ad.
11596
+ # Corresponds to the JSON property `thumbnail`
11597
+ # @return [String]
11598
+ attr_accessor :thumbnail
11599
+
11600
+ # Details of a YouTube video.
11601
+ # Corresponds to the JSON property `video`
11602
+ # @return [Google::Apis::DisplayvideoV2::YoutubeVideoDetails]
11603
+ attr_accessor :video
11604
+
11605
+ def initialize(**args)
11606
+ update!(**args)
11607
+ end
11608
+
11609
+ # Update properties of this object
11610
+ def update!(**args)
11611
+ @description1 = args[:description1] if args.key?(:description1)
11612
+ @description2 = args[:description2] if args.key?(:description2)
11613
+ @headline = args[:headline] if args.key?(:headline)
11614
+ @thumbnail = args[:thumbnail] if args.key?(:thumbnail)
11615
+ @video = args[:video] if args.key?(:video)
11616
+ end
11617
+ end
11618
+
11619
+ # Details for a video performance ad.
11620
+ class VideoPerformanceAd
11621
+ include Google::Apis::Core::Hashable
11622
+
11623
+ # The list of text assets shown on the call-to-action button.
11624
+ # Corresponds to the JSON property `actionButtonLabels`
11625
+ # @return [Array<String>]
11626
+ attr_accessor :action_button_labels
11627
+
11628
+ # The list of companion banners used by this ad.
11629
+ # Corresponds to the JSON property `companionBanners`
11630
+ # @return [Array<Google::Apis::DisplayvideoV2::ImageAsset>]
11631
+ attr_accessor :companion_banners
11632
+
11633
+ # The custom parameters to pass custom values to tracking URL template.
11634
+ # Corresponds to the JSON property `customParameters`
11635
+ # @return [Hash<String,String>]
11636
+ attr_accessor :custom_parameters
11637
+
11638
+ # The list of descriptions shown on the call-to-action banner.
11639
+ # Corresponds to the JSON property `descriptions`
11640
+ # @return [Array<String>]
11641
+ attr_accessor :descriptions
11642
+
11643
+ # The first piece after the domain in the display URL.
11644
+ # Corresponds to the JSON property `displayUrlBreadcrumb1`
11645
+ # @return [String]
11646
+ attr_accessor :display_url_breadcrumb1
11647
+
11648
+ # The second piece after the domain in the display URL.
11649
+ # Corresponds to the JSON property `displayUrlBreadcrumb2`
11650
+ # @return [String]
11651
+ attr_accessor :display_url_breadcrumb2
11652
+
11653
+ # The domain of the display URL.
11654
+ # Corresponds to the JSON property `domain`
11655
+ # @return [String]
11656
+ attr_accessor :domain
11657
+
11658
+ # The URL address of the webpage that people reach after they click the ad.
11659
+ # Corresponds to the JSON property `finalUrl`
11660
+ # @return [String]
11661
+ attr_accessor :final_url
11662
+
11663
+ # The list of headlines shown on the call-to-action banner.
11664
+ # Corresponds to the JSON property `headlines`
11665
+ # @return [Array<String>]
11666
+ attr_accessor :headlines
11667
+
11668
+ # The list of lone headlines shown on the call-to-action banner.
11669
+ # Corresponds to the JSON property `longHeadlines`
11670
+ # @return [Array<String>]
11671
+ attr_accessor :long_headlines
11672
+
11673
+ # The URL address loaded in the background for tracking purposes.
11674
+ # Corresponds to the JSON property `trackingUrl`
11675
+ # @return [String]
11676
+ attr_accessor :tracking_url
11677
+
11678
+ # The list of YouTube video assets used by this ad.
11679
+ # Corresponds to the JSON property `videos`
11680
+ # @return [Array<Google::Apis::DisplayvideoV2::YoutubeVideoDetails>]
11681
+ attr_accessor :videos
11682
+
11683
+ def initialize(**args)
11684
+ update!(**args)
11685
+ end
11686
+
11687
+ # Update properties of this object
11688
+ def update!(**args)
11689
+ @action_button_labels = args[:action_button_labels] if args.key?(:action_button_labels)
11690
+ @companion_banners = args[:companion_banners] if args.key?(:companion_banners)
11691
+ @custom_parameters = args[:custom_parameters] if args.key?(:custom_parameters)
11692
+ @descriptions = args[:descriptions] if args.key?(:descriptions)
11693
+ @display_url_breadcrumb1 = args[:display_url_breadcrumb1] if args.key?(:display_url_breadcrumb1)
11694
+ @display_url_breadcrumb2 = args[:display_url_breadcrumb2] if args.key?(:display_url_breadcrumb2)
11695
+ @domain = args[:domain] if args.key?(:domain)
11696
+ @final_url = args[:final_url] if args.key?(:final_url)
11697
+ @headlines = args[:headlines] if args.key?(:headlines)
11698
+ @long_headlines = args[:long_headlines] if args.key?(:long_headlines)
11699
+ @tracking_url = args[:tracking_url] if args.key?(:tracking_url)
11700
+ @videos = args[:videos] if args.key?(:videos)
11701
+ end
11702
+ end
11703
+
10932
11704
  # Video player size targeting option details. This will be populated in the
10933
11705
  # video_player_size_details field when targeting_type is `
10934
11706
  # TARGETING_TYPE_VIDEO_PLAYER_SIZE`. Explicitly targeting all options is not
@@ -11015,10 +11787,239 @@ module Google
11015
11787
  end
11016
11788
  end
11017
11789
 
11790
+ # A single YouTube ad group associated with a YouTube and Partners line item.
11791
+ class YoutubeAdGroup
11792
+ include Google::Apis::Core::Hashable
11793
+
11794
+ # The format of the ads in the ad group.
11795
+ # Corresponds to the JSON property `adGroupFormat`
11796
+ # @return [String]
11797
+ attr_accessor :ad_group_format
11798
+
11799
+ # The unique ID of the ad group. Assigned by the system.
11800
+ # Corresponds to the JSON property `adGroupId`
11801
+ # @return [Fixnum]
11802
+ attr_accessor :ad_group_id
11803
+
11804
+ # The unique ID of the advertiser the ad group belongs to.
11805
+ # Corresponds to the JSON property `advertiserId`
11806
+ # @return [Fixnum]
11807
+ attr_accessor :advertiser_id
11808
+
11809
+ # Settings that control the bid strategy for YouTube and Partners resources.
11810
+ # Corresponds to the JSON property `biddingStrategy`
11811
+ # @return [Google::Apis::DisplayvideoV2::YoutubeAndPartnersBiddingStrategy]
11812
+ attr_accessor :bidding_strategy
11813
+
11814
+ # The display name of the ad group. Must be UTF-8 encoded with a maximum size of
11815
+ # 255 bytes.
11816
+ # Corresponds to the JSON property `displayName`
11817
+ # @return [String]
11818
+ attr_accessor :display_name
11819
+
11820
+ # Controls whether or not the ad group can spend its budget and bid on inventory.
11821
+ # If the ad group's parent line item is not active, the ad group can't spend
11822
+ # its budget even if its own status is `ENTITY_STATUS_ACTIVE`.
11823
+ # Corresponds to the JSON property `entityStatus`
11824
+ # @return [String]
11825
+ attr_accessor :entity_status
11826
+
11827
+ # The unique ID of the line item that the ad group belongs to.
11828
+ # Corresponds to the JSON property `lineItemId`
11829
+ # @return [Fixnum]
11830
+ attr_accessor :line_item_id
11831
+
11832
+ # The resource name of the ad group.
11833
+ # Corresponds to the JSON property `name`
11834
+ # @return [String]
11835
+ attr_accessor :name
11836
+
11837
+ # The details of product feed.
11838
+ # Corresponds to the JSON property `productFeedData`
11839
+ # @return [Google::Apis::DisplayvideoV2::ProductFeedData]
11840
+ attr_accessor :product_feed_data
11841
+
11842
+ # Settings that control the targeting expansion of the line item. Targeting
11843
+ # expansion allows the line item to reach a larger audience based on the
11844
+ # original audience list and the targeting expansion level. Beginning November 7,
11845
+ # 2022, these settings may represent the [optimized targeting feature](//
11846
+ # support.google.com/displayvideo/answer/12060859) in place of targeting
11847
+ # expansion. This feature will be rolled out to all partners by November 9, 2022.
11848
+ # Corresponds to the JSON property `targetingExpansion`
11849
+ # @return [Google::Apis::DisplayvideoV2::TargetingExpansionConfig]
11850
+ attr_accessor :targeting_expansion
11851
+
11852
+ # The IDs of the youtube_ad_group_ad resources associated with the ad group.
11853
+ # Corresponds to the JSON property `youtubeAdIds`
11854
+ # @return [Array<Fixnum>]
11855
+ attr_accessor :youtube_ad_ids
11856
+
11857
+ def initialize(**args)
11858
+ update!(**args)
11859
+ end
11860
+
11861
+ # Update properties of this object
11862
+ def update!(**args)
11863
+ @ad_group_format = args[:ad_group_format] if args.key?(:ad_group_format)
11864
+ @ad_group_id = args[:ad_group_id] if args.key?(:ad_group_id)
11865
+ @advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
11866
+ @bidding_strategy = args[:bidding_strategy] if args.key?(:bidding_strategy)
11867
+ @display_name = args[:display_name] if args.key?(:display_name)
11868
+ @entity_status = args[:entity_status] if args.key?(:entity_status)
11869
+ @line_item_id = args[:line_item_id] if args.key?(:line_item_id)
11870
+ @name = args[:name] if args.key?(:name)
11871
+ @product_feed_data = args[:product_feed_data] if args.key?(:product_feed_data)
11872
+ @targeting_expansion = args[:targeting_expansion] if args.key?(:targeting_expansion)
11873
+ @youtube_ad_ids = args[:youtube_ad_ids] if args.key?(:youtube_ad_ids)
11874
+ end
11875
+ end
11876
+
11877
+ # A single ad associated with a YouTube ad group.
11878
+ class YoutubeAdGroupAd
11879
+ include Google::Apis::Core::Hashable
11880
+
11881
+ # The unique ID of the ad. Assigned by the system.
11882
+ # Corresponds to the JSON property `adGroupAdId`
11883
+ # @return [Fixnum]
11884
+ attr_accessor :ad_group_ad_id
11885
+
11886
+ # The unique ID of the ad group that the ad belongs to.
11887
+ # Corresponds to the JSON property `adGroupId`
11888
+ # @return [Fixnum]
11889
+ attr_accessor :ad_group_id
11890
+
11891
+ # List of URLs used by the ad.
11892
+ # Corresponds to the JSON property `adUrls`
11893
+ # @return [Array<Google::Apis::DisplayvideoV2::AdUrl>]
11894
+ attr_accessor :ad_urls
11895
+
11896
+ # The unique ID of the advertiser the ad belongs to.
11897
+ # Corresponds to the JSON property `advertiserId`
11898
+ # @return [Fixnum]
11899
+ attr_accessor :advertiser_id
11900
+
11901
+ # Details for an audio ad.
11902
+ # Corresponds to the JSON property `audioAd`
11903
+ # @return [Google::Apis::DisplayvideoV2::AudioAd]
11904
+ attr_accessor :audio_ad
11905
+
11906
+ # Details for a bumper ad.
11907
+ # Corresponds to the JSON property `bumperAd`
11908
+ # @return [Google::Apis::DisplayvideoV2::BumperAd]
11909
+ attr_accessor :bumper_ad
11910
+
11911
+ # The display name of the ad. Must be UTF-8 encoded with a maximum size of 255
11912
+ # bytes.
11913
+ # Corresponds to the JSON property `displayName`
11914
+ # @return [String]
11915
+ attr_accessor :display_name
11916
+
11917
+ # The ad sourced from a DV360 creative.
11918
+ # Corresponds to the JSON property `displayVideoSourceAd`
11919
+ # @return [Google::Apis::DisplayvideoV2::DisplayVideoSourceAd]
11920
+ attr_accessor :display_video_source_ad
11921
+
11922
+ # The entity status of the ad.
11923
+ # Corresponds to the JSON property `entityStatus`
11924
+ # @return [String]
11925
+ attr_accessor :entity_status
11926
+
11927
+ # Details for an in-stream ad.
11928
+ # Corresponds to the JSON property `inStreamAd`
11929
+ # @return [Google::Apis::DisplayvideoV2::InStreamAd]
11930
+ attr_accessor :in_stream_ad
11931
+
11932
+ # Details for a Masthead Ad.
11933
+ # Corresponds to the JSON property `mastheadAd`
11934
+ # @return [Google::Apis::DisplayvideoV2::MastheadAd]
11935
+ attr_accessor :masthead_ad
11936
+
11937
+ # The resource name of the ad.
11938
+ # Corresponds to the JSON property `name`
11939
+ # @return [String]
11940
+ attr_accessor :name
11941
+
11942
+ # Details for a non-skippable ad.
11943
+ # Corresponds to the JSON property `nonSkippableAd`
11944
+ # @return [Google::Apis::DisplayvideoV2::NonSkippableAd]
11945
+ attr_accessor :non_skippable_ad
11946
+
11947
+ # Details for a video discovery ad.
11948
+ # Corresponds to the JSON property `videoDiscoverAd`
11949
+ # @return [Google::Apis::DisplayvideoV2::VideoDiscoveryAd]
11950
+ attr_accessor :video_discover_ad
11951
+
11952
+ # Details for a video performance ad.
11953
+ # Corresponds to the JSON property `videoPerformanceAd`
11954
+ # @return [Google::Apis::DisplayvideoV2::VideoPerformanceAd]
11955
+ attr_accessor :video_performance_ad
11956
+
11957
+ def initialize(**args)
11958
+ update!(**args)
11959
+ end
11960
+
11961
+ # Update properties of this object
11962
+ def update!(**args)
11963
+ @ad_group_ad_id = args[:ad_group_ad_id] if args.key?(:ad_group_ad_id)
11964
+ @ad_group_id = args[:ad_group_id] if args.key?(:ad_group_id)
11965
+ @ad_urls = args[:ad_urls] if args.key?(:ad_urls)
11966
+ @advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
11967
+ @audio_ad = args[:audio_ad] if args.key?(:audio_ad)
11968
+ @bumper_ad = args[:bumper_ad] if args.key?(:bumper_ad)
11969
+ @display_name = args[:display_name] if args.key?(:display_name)
11970
+ @display_video_source_ad = args[:display_video_source_ad] if args.key?(:display_video_source_ad)
11971
+ @entity_status = args[:entity_status] if args.key?(:entity_status)
11972
+ @in_stream_ad = args[:in_stream_ad] if args.key?(:in_stream_ad)
11973
+ @masthead_ad = args[:masthead_ad] if args.key?(:masthead_ad)
11974
+ @name = args[:name] if args.key?(:name)
11975
+ @non_skippable_ad = args[:non_skippable_ad] if args.key?(:non_skippable_ad)
11976
+ @video_discover_ad = args[:video_discover_ad] if args.key?(:video_discover_ad)
11977
+ @video_performance_ad = args[:video_performance_ad] if args.key?(:video_performance_ad)
11978
+ end
11979
+ end
11980
+
11981
+ # Wrapper object associating an assigned_targeting_option resource and the
11982
+ # youtube ad group it is assigned to.
11983
+ class YoutubeAdGroupAssignedTargetingOption
11984
+ include Google::Apis::Core::Hashable
11985
+
11986
+ # A single assigned targeting option, which defines the state of a targeting
11987
+ # option for an entity with targeting settings.
11988
+ # Corresponds to the JSON property `assignedTargetingOption`
11989
+ # @return [Google::Apis::DisplayvideoV2::AssignedTargetingOption]
11990
+ attr_accessor :assigned_targeting_option
11991
+
11992
+ # The ID of the youtube ad group the assigned targeting option is assigned to.
11993
+ # Corresponds to the JSON property `youtubeAdGroupId`
11994
+ # @return [Fixnum]
11995
+ attr_accessor :youtube_ad_group_id
11996
+
11997
+ def initialize(**args)
11998
+ update!(**args)
11999
+ end
12000
+
12001
+ # Update properties of this object
12002
+ def update!(**args)
12003
+ @assigned_targeting_option = args[:assigned_targeting_option] if args.key?(:assigned_targeting_option)
12004
+ @youtube_ad_group_id = args[:youtube_ad_group_id] if args.key?(:youtube_ad_group_id)
12005
+ end
12006
+ end
12007
+
11018
12008
  # Settings that control the bid strategy for YouTube and Partners resources.
11019
12009
  class YoutubeAndPartnersBiddingStrategy
11020
12010
  include Google::Apis::Core::Hashable
11021
12011
 
12012
+ # Output only. Source of the effective targetCpa value for AdGroup.
12013
+ # Corresponds to the JSON property `adGroupEffectiveTargetCpaSource`
12014
+ # @return [String]
12015
+ attr_accessor :ad_group_effective_target_cpa_source
12016
+
12017
+ # Output only. The effective targetCpa for AdGroup, in micros of advertiser's
12018
+ # currency.
12019
+ # Corresponds to the JSON property `adGroupEffectiveTargetCpaValue`
12020
+ # @return [Fixnum]
12021
+ attr_accessor :ad_group_effective_target_cpa_value
12022
+
11022
12023
  # The type of the bidding strategy.
11023
12024
  # Corresponds to the JSON property `type`
11024
12025
  # @return [String]
@@ -11044,6 +12045,8 @@ module Google
11044
12045
 
11045
12046
  # Update properties of this object
11046
12047
  def update!(**args)
12048
+ @ad_group_effective_target_cpa_source = args[:ad_group_effective_target_cpa_source] if args.key?(:ad_group_effective_target_cpa_source)
12049
+ @ad_group_effective_target_cpa_value = args[:ad_group_effective_target_cpa_value] if args.key?(:ad_group_effective_target_cpa_value)
11047
12050
  @type = args[:type] if args.key?(:type)
11048
12051
  @value = args[:value] if args.key?(:value)
11049
12052
  end
@@ -11106,6 +12109,28 @@ module Google
11106
12109
  # @return [Google::Apis::DisplayvideoV2::YoutubeAndPartnersInventorySourceConfig]
11107
12110
  attr_accessor :inventory_source_settings
11108
12111
 
12112
+ # The ID of the form to generate leads.
12113
+ # Corresponds to the JSON property `leadFormId`
12114
+ # @return [Fixnum]
12115
+ attr_accessor :lead_form_id
12116
+
12117
+ # The ID of the merchant which is linked to the line item for product feed.
12118
+ # Corresponds to the JSON property `linkedMerchantId`
12119
+ # @return [Fixnum]
12120
+ attr_accessor :linked_merchant_id
12121
+
12122
+ # The IDs of the videos appear below the primary video ad when the ad is playing
12123
+ # in the YouTube app on mobile devices.
12124
+ # Corresponds to the JSON property `relatedVideoIds`
12125
+ # @return [Array<String>]
12126
+ attr_accessor :related_video_ids
12127
+
12128
+ # Setting that controls the average number of times the ads will show to the
12129
+ # same person over a certain period of time.
12130
+ # Corresponds to the JSON property `targetFrequency`
12131
+ # @return [Google::Apis::DisplayvideoV2::TargetFrequency]
12132
+ attr_accessor :target_frequency
12133
+
11109
12134
  # Settings that control what third-party vendors are measuring specific line
11110
12135
  # item metrics.
11111
12136
  # Corresponds to the JSON property `thirdPartyMeasurementSettings`
@@ -11132,6 +12157,10 @@ module Google
11132
12157
  @bidding_strategy = args[:bidding_strategy] if args.key?(:bidding_strategy)
11133
12158
  @content_category = args[:content_category] if args.key?(:content_category)
11134
12159
  @inventory_source_settings = args[:inventory_source_settings] if args.key?(:inventory_source_settings)
12160
+ @lead_form_id = args[:lead_form_id] if args.key?(:lead_form_id)
12161
+ @linked_merchant_id = args[:linked_merchant_id] if args.key?(:linked_merchant_id)
12162
+ @related_video_ids = args[:related_video_ids] if args.key?(:related_video_ids)
12163
+ @target_frequency = args[:target_frequency] if args.key?(:target_frequency)
11135
12164
  @third_party_measurement_settings = args[:third_party_measurement_settings] if args.key?(:third_party_measurement_settings)
11136
12165
  @video_ad_sequence_settings = args[:video_ad_sequence_settings] if args.key?(:video_ad_sequence_settings)
11137
12166
  @view_frequency_cap = args[:view_frequency_cap] if args.key?(:view_frequency_cap)
@@ -11185,6 +12214,87 @@ module Google
11185
12214
  @viewability_vendor_configs = args[:viewability_vendor_configs] if args.key?(:viewability_vendor_configs)
11186
12215
  end
11187
12216
  end
12217
+
12218
+ # Details for YouTube channel assigned targeting option. This will be populated
12219
+ # in the youtube_channel_details field when targeting_type is `
12220
+ # TARGETING_TYPE_YOUTUBE_CHANNEL`.
12221
+ class YoutubeChannelAssignedTargetingOptionDetails
12222
+ include Google::Apis::Core::Hashable
12223
+
12224
+ # The YouTube uploader channel id or the channel code of a YouTube channel.
12225
+ # Corresponds to the JSON property `channelId`
12226
+ # @return [String]
12227
+ attr_accessor :channel_id
12228
+
12229
+ # Indicates if this option is being negatively targeted.
12230
+ # Corresponds to the JSON property `negative`
12231
+ # @return [Boolean]
12232
+ attr_accessor :negative
12233
+ alias_method :negative?, :negative
12234
+
12235
+ def initialize(**args)
12236
+ update!(**args)
12237
+ end
12238
+
12239
+ # Update properties of this object
12240
+ def update!(**args)
12241
+ @channel_id = args[:channel_id] if args.key?(:channel_id)
12242
+ @negative = args[:negative] if args.key?(:negative)
12243
+ end
12244
+ end
12245
+
12246
+ # Details for YouTube video assigned targeting option. This will be populated in
12247
+ # the youtube_video_details field when targeting_type is `
12248
+ # TARGETING_TYPE_YOUTUBE_VIDEO`.
12249
+ class YoutubeVideoAssignedTargetingOptionDetails
12250
+ include Google::Apis::Core::Hashable
12251
+
12252
+ # Indicates if this option is being negatively targeted.
12253
+ # Corresponds to the JSON property `negative`
12254
+ # @return [Boolean]
12255
+ attr_accessor :negative
12256
+ alias_method :negative?, :negative
12257
+
12258
+ # YouTube video id as it appears on the YouTube watch page.
12259
+ # Corresponds to the JSON property `videoId`
12260
+ # @return [String]
12261
+ attr_accessor :video_id
12262
+
12263
+ def initialize(**args)
12264
+ update!(**args)
12265
+ end
12266
+
12267
+ # Update properties of this object
12268
+ def update!(**args)
12269
+ @negative = args[:negative] if args.key?(:negative)
12270
+ @video_id = args[:video_id] if args.key?(:video_id)
12271
+ end
12272
+ end
12273
+
12274
+ # Details of a YouTube video.
12275
+ class YoutubeVideoDetails
12276
+ include Google::Apis::Core::Hashable
12277
+
12278
+ # The YouTube video ID which can be searched on YouTube webpage.
12279
+ # Corresponds to the JSON property `id`
12280
+ # @return [String]
12281
+ attr_accessor :id
12282
+
12283
+ # The reason why the video data is not available.
12284
+ # Corresponds to the JSON property `unavailableReason`
12285
+ # @return [String]
12286
+ attr_accessor :unavailable_reason
12287
+
12288
+ def initialize(**args)
12289
+ update!(**args)
12290
+ end
12291
+
12292
+ # Update properties of this object
12293
+ def update!(**args)
12294
+ @id = args[:id] if args.key?(:id)
12295
+ @unavailable_reason = args[:unavailable_reason] if args.key?(:unavailable_reason)
12296
+ end
12297
+ end
11188
12298
  end
11189
12299
  end
11190
12300
  end