google-apis-displayvideo_v2 0.9.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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