8142 lines
350 KiB
Ruby
8142 lines
350 KiB
Ruby
# Copyright 2015 Google Inc.
|
||
#
|
||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||
# you may not use this file except in compliance with the License.
|
||
# You may obtain a copy of the License at
|
||
#
|
||
# http://www.apache.org/licenses/LICENSE-2.0
|
||
#
|
||
# Unless required by applicable law or agreed to in writing, software
|
||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
# See the License for the specific language governing permissions and
|
||
# limitations under the License.
|
||
|
||
require 'date'
|
||
require 'google/apis/core/base_service'
|
||
require 'google/apis/core/json_representation'
|
||
require 'google/apis/core/hashable'
|
||
require 'google/apis/errors'
|
||
|
||
module Google
|
||
module Apis
|
||
module DisplayvideoV1
|
||
|
||
# Configuration for custom Active View video viewability metrics.
|
||
class ActiveViewVideoViewabilityMetricConfig
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. The display name of the custom metric.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# The minimum visible video duration required (in seconds) in order for an
|
||
# impression to be recorded. You must specify minimum_duration, minimum_quartile
|
||
# or both. If both are specified, an impression meets the metric criteria if
|
||
# either requirement is met (whichever happens first).
|
||
# Corresponds to the JSON property `minimumDuration`
|
||
# @return [String]
|
||
attr_accessor :minimum_duration
|
||
|
||
# The minimum visible video duration required, based on the video quartiles, in
|
||
# order for an impression to be recorded. You must specify minimum_duration,
|
||
# minimum_quartile or both. If both are specified, an impression meets the
|
||
# metric criteria if either requirement is met (whichever happens first).
|
||
# Corresponds to the JSON property `minimumQuartile`
|
||
# @return [String]
|
||
attr_accessor :minimum_quartile
|
||
|
||
# Required. The minimum percentage of the video ad's pixels visible on the
|
||
# screen in order for an impression to be recorded.
|
||
# Corresponds to the JSON property `minimumViewability`
|
||
# @return [String]
|
||
attr_accessor :minimum_viewability
|
||
|
||
# Required. The minimum percentage of the video ad's volume required in order
|
||
# for an impression to be recorded.
|
||
# Corresponds to the JSON property `minimumVolume`
|
||
# @return [String]
|
||
attr_accessor :minimum_volume
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@minimum_duration = args[:minimum_duration] if args.key?(:minimum_duration)
|
||
@minimum_quartile = args[:minimum_quartile] if args.key?(:minimum_quartile)
|
||
@minimum_viewability = args[:minimum_viewability] if args.key?(:minimum_viewability)
|
||
@minimum_volume = args[:minimum_volume] if args.key?(:minimum_volume)
|
||
end
|
||
end
|
||
|
||
# Details of Adloox settings.
|
||
class Adloox
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Adloox's brand safety settings.
|
||
# Corresponds to the JSON property `excludedAdlooxCategories`
|
||
# @return [Array<String>]
|
||
attr_accessor :excluded_adloox_categories
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@excluded_adloox_categories = args[:excluded_adloox_categories] if args.key?(:excluded_adloox_categories)
|
||
end
|
||
end
|
||
|
||
# A single advertiser in Display & Video 360 (DV360).
|
||
class Advertiser
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Ad server related settings of an advertiser.
|
||
# Corresponds to the JSON property `adServerConfig`
|
||
# @return [Google::Apis::DisplayvideoV1::AdvertiserAdServerConfig]
|
||
attr_accessor :ad_server_config
|
||
|
||
# Output only. The unique ID of the advertiser. Assigned by the system.
|
||
# Corresponds to the JSON property `advertiserId`
|
||
# @return [Fixnum]
|
||
attr_accessor :advertiser_id
|
||
|
||
# Creatives related settings of an advertiser.
|
||
# Corresponds to the JSON property `creativeConfig`
|
||
# @return [Google::Apis::DisplayvideoV1::AdvertiserCreativeConfig]
|
||
attr_accessor :creative_config
|
||
|
||
# Settings that control how advertiser related data may be accessed.
|
||
# Corresponds to the JSON property `dataAccessConfig`
|
||
# @return [Google::Apis::DisplayvideoV1::AdvertiserDataAccessConfig]
|
||
attr_accessor :data_access_config
|
||
|
||
# Required. The display name of the advertiser. Must be UTF-8 encoded with a
|
||
# maximum size of 240 bytes.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# Required. Controls whether or not insertion orders and line items of the
|
||
# advertiser can spend their budgets and bid on inventory. * Accepted values are
|
||
# `ENTITY_STATUS_ACTIVE` and `ENTITY_STATUS_SCHEDULED_FOR_DELETION`. * If set to
|
||
# `ENTITY_STATUS_SCHEDULED_FOR_DELETION`, the advertiser will be deleted 30 days
|
||
# from when it was first scheduled for deletion.
|
||
# Corresponds to the JSON property `entityStatus`
|
||
# @return [String]
|
||
attr_accessor :entity_status
|
||
|
||
# General settings of an advertiser.
|
||
# Corresponds to the JSON property `generalConfig`
|
||
# @return [Google::Apis::DisplayvideoV1::AdvertiserGeneralConfig]
|
||
attr_accessor :general_config
|
||
|
||
# Integration details of an entry.
|
||
# Corresponds to the JSON property `integrationDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::IntegrationDetails]
|
||
attr_accessor :integration_details
|
||
|
||
# Output only. The resource name of the advertiser.
|
||
# Corresponds to the JSON property `name`
|
||
# @return [String]
|
||
attr_accessor :name
|
||
|
||
# Required. Immutable. The unique ID of the partner that the advertiser belongs
|
||
# to.
|
||
# Corresponds to the JSON property `partnerId`
|
||
# @return [Fixnum]
|
||
attr_accessor :partner_id
|
||
|
||
# Targeting settings related to ad serving of an advertiser.
|
||
# Corresponds to the JSON property `servingConfig`
|
||
# @return [Google::Apis::DisplayvideoV1::AdvertiserTargetingConfig]
|
||
attr_accessor :serving_config
|
||
|
||
# Output only. The timestamp when the advertiser was last updated. Assigned by
|
||
# the system.
|
||
# Corresponds to the JSON property `updateTime`
|
||
# @return [String]
|
||
attr_accessor :update_time
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@ad_server_config = args[:ad_server_config] if args.key?(:ad_server_config)
|
||
@advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
|
||
@creative_config = args[:creative_config] if args.key?(:creative_config)
|
||
@data_access_config = args[:data_access_config] if args.key?(:data_access_config)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@entity_status = args[:entity_status] if args.key?(:entity_status)
|
||
@general_config = args[:general_config] if args.key?(:general_config)
|
||
@integration_details = args[:integration_details] if args.key?(:integration_details)
|
||
@name = args[:name] if args.key?(:name)
|
||
@partner_id = args[:partner_id] if args.key?(:partner_id)
|
||
@serving_config = args[:serving_config] if args.key?(:serving_config)
|
||
@update_time = args[:update_time] if args.key?(:update_time)
|
||
end
|
||
end
|
||
|
||
# Ad server related settings of an advertiser.
|
||
class AdvertiserAdServerConfig
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Settings for advertisers that use both Campaign Manager (CM) and third-party
|
||
# ad servers.
|
||
# Corresponds to the JSON property `cmHybridConfig`
|
||
# @return [Google::Apis::DisplayvideoV1::CmHybridConfig]
|
||
attr_accessor :cm_hybrid_config
|
||
|
||
# Settings for advertisers that use third-party ad servers only.
|
||
# Corresponds to the JSON property `thirdPartyOnlyConfig`
|
||
# @return [Google::Apis::DisplayvideoV1::ThirdPartyOnlyConfig]
|
||
attr_accessor :third_party_only_config
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@cm_hybrid_config = args[:cm_hybrid_config] if args.key?(:cm_hybrid_config)
|
||
@third_party_only_config = args[:third_party_only_config] if args.key?(:third_party_only_config)
|
||
end
|
||
end
|
||
|
||
# Creatives related settings of an advertiser.
|
||
class AdvertiserCreativeConfig
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Whether or not the advertiser is enabled for dynamic creatives.
|
||
# Corresponds to the JSON property `dynamicCreativeEnabled`
|
||
# @return [Boolean]
|
||
attr_accessor :dynamic_creative_enabled
|
||
alias_method :dynamic_creative_enabled?, :dynamic_creative_enabled
|
||
|
||
# An ID for configuring campaign monitoring provided by Integral Ad Service (IAS)
|
||
# . The DV360 system will append an IAS "Campaign Monitor" tag containing this
|
||
# ID to the creative tag.
|
||
# Corresponds to the JSON property `iasClientId`
|
||
# @return [Fixnum]
|
||
attr_accessor :ias_client_id
|
||
|
||
# Whether or not to use DV360's Online Behavioral Advertising (OBA) compliance.
|
||
# Warning: Changing OBA settings may cause the audit status of your creatives to
|
||
# be reset by some ad exchanges, making them ineligible to serve until they are
|
||
# re-approved.
|
||
# Corresponds to the JSON property `obaComplianceDisabled`
|
||
# @return [Boolean]
|
||
attr_accessor :oba_compliance_disabled
|
||
alias_method :oba_compliance_disabled?, :oba_compliance_disabled
|
||
|
||
# By setting this field to `true`, you, on behalf of your company, authorize
|
||
# Google to use video creatives associated with this Display & Video 360
|
||
# advertiser to provide reporting and features related to the advertiser's
|
||
# television campaigns. Applicable only when the advertiser has a CM hybrid ad
|
||
# server configuration.
|
||
# Corresponds to the JSON property `videoCreativeDataSharingAuthorized`
|
||
# @return [Boolean]
|
||
attr_accessor :video_creative_data_sharing_authorized
|
||
alias_method :video_creative_data_sharing_authorized?, :video_creative_data_sharing_authorized
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@dynamic_creative_enabled = args[:dynamic_creative_enabled] if args.key?(:dynamic_creative_enabled)
|
||
@ias_client_id = args[:ias_client_id] if args.key?(:ias_client_id)
|
||
@oba_compliance_disabled = args[:oba_compliance_disabled] if args.key?(:oba_compliance_disabled)
|
||
@video_creative_data_sharing_authorized = args[:video_creative_data_sharing_authorized] if args.key?(:video_creative_data_sharing_authorized)
|
||
end
|
||
end
|
||
|
||
# Settings that control how advertiser related data may be accessed.
|
||
class AdvertiserDataAccessConfig
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Structured Data Files (SDF) settings of an advertiser.
|
||
# Corresponds to the JSON property `sdfConfig`
|
||
# @return [Google::Apis::DisplayvideoV1::AdvertiserSdfConfig]
|
||
attr_accessor :sdf_config
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@sdf_config = args[:sdf_config] if args.key?(:sdf_config)
|
||
end
|
||
end
|
||
|
||
# General settings of an advertiser.
|
||
class AdvertiserGeneralConfig
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. Immutable. Advertiser's currency in ISO 4217 format. Accepted codes
|
||
# and the currencies they represent are: Currency Code : Currency Name * `ARS` :
|
||
# Argentine Peso * `AUD` : Australian Dollar * `BRL` : Brazilian Real * `CAD` :
|
||
# Canadian Dollar * `CHF` : Swiss Franc * `CLP` : Chilean Peso * `CNY` : Chinese
|
||
# Yuan * `COP` : Colombian Peso * `CZK` : Czech Koruna * `DKK` : Danish Krone * `
|
||
# EGP` : Egyption Pound * `EUR` : Euro * `GBP` : British Pound * `HKD` : Hong
|
||
# Kong Dollar * `HUF` : Hungarian Forint * `IDR` : Indonesian Rupiah * `ILS` :
|
||
# Israeli Shekel * `INR` : Indian Rupee * `JPY` : Japanese Yen * `KRW` : South
|
||
# Korean Won * `MXN` : Mexican Pesos * `MYR` : Malaysian Ringgit * `NGN` :
|
||
# Nigerian Naira * `NOK` : Norwegian Krone * `NZD` : New Zealand Dollar * `PEN` :
|
||
# Peruvian Nuevo Sol * `PLN` : Polish Zloty * `RON` : New Romanian Leu * `RUB` :
|
||
# Russian Ruble * `SEK` : Swedish Krona * `TRY` : Turkish Lira * `TWD` : New
|
||
# Taiwan Dollar * `USD` : US Dollar * `ZAR` : South African Rand
|
||
# Corresponds to the JSON property `currencyCode`
|
||
# @return [String]
|
||
attr_accessor :currency_code
|
||
|
||
# Required. The domain URL of the advertiser's primary website. The system will
|
||
# send this information to publishers that require website URL to associate a
|
||
# campaign with an advertiser. Provide a URL with no path or query string,
|
||
# beginning with `http:` or `https:`. For example, http://www.example.com
|
||
# Corresponds to the JSON property `domainUrl`
|
||
# @return [String]
|
||
attr_accessor :domain_url
|
||
|
||
# Output only. The standard TZ database name of the advertiser's time zone. For
|
||
# example, `America/New_York`. See more at: https://en.wikipedia.org/wiki/
|
||
# List_of_tz_database_time_zones For CM hybrid advertisers, the time zone is the
|
||
# same as that of the associated CM account; for third-party only advertisers,
|
||
# the time zone is the same as that of the parent partner.
|
||
# Corresponds to the JSON property `timeZone`
|
||
# @return [String]
|
||
attr_accessor :time_zone
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@currency_code = args[:currency_code] if args.key?(:currency_code)
|
||
@domain_url = args[:domain_url] if args.key?(:domain_url)
|
||
@time_zone = args[:time_zone] if args.key?(:time_zone)
|
||
end
|
||
end
|
||
|
||
# Structured Data Files (SDF) settings of an advertiser.
|
||
class AdvertiserSdfConfig
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Whether or not this advertiser overrides the SDF configuration of its parent
|
||
# partner. By default, an advertiser inherits the SDF configuration from the
|
||
# parent partner. To override the partner configuration, set this field to `true`
|
||
# and provide the new configuration in sdfConfig.
|
||
# Corresponds to the JSON property `overridePartnerSdfConfig`
|
||
# @return [Boolean]
|
||
attr_accessor :override_partner_sdf_config
|
||
alias_method :override_partner_sdf_config?, :override_partner_sdf_config
|
||
|
||
# Structured Data File (SDF) related settings.
|
||
# Corresponds to the JSON property `sdfConfig`
|
||
# @return [Google::Apis::DisplayvideoV1::SdfConfig]
|
||
attr_accessor :sdf_config
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@override_partner_sdf_config = args[:override_partner_sdf_config] if args.key?(:override_partner_sdf_config)
|
||
@sdf_config = args[:sdf_config] if args.key?(:sdf_config)
|
||
end
|
||
end
|
||
|
||
# Targeting settings related to ad serving of an advertiser.
|
||
class AdvertiserTargetingConfig
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Whether or not connected TV devices are exempt from viewability targeting for
|
||
# all video line items under the advertiser.
|
||
# Corresponds to the JSON property `exemptTvFromViewabilityTargeting`
|
||
# @return [Boolean]
|
||
attr_accessor :exempt_tv_from_viewability_targeting
|
||
alias_method :exempt_tv_from_viewability_targeting?, :exempt_tv_from_viewability_targeting
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@exempt_tv_from_viewability_targeting = args[:exempt_tv_from_viewability_targeting] if args.key?(:exempt_tv_from_viewability_targeting)
|
||
end
|
||
end
|
||
|
||
# Represents a targetable age range. This will be populated in the details field
|
||
# of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_AGE_RANGE`
|
||
# .
|
||
class AgeRangeAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The age range of an audience. We only support targeting a
|
||
# continuous age range of an audience. Thus, the age range represented in this
|
||
# field can be 1) targeted solely, or, 2) part of a larger continuous age range.
|
||
# The reach of a continuous age range targeting can be expanded by also
|
||
# targeting an audience of an unknown age.
|
||
# Corresponds to the JSON property `ageRange`
|
||
# @return [String]
|
||
attr_accessor :age_range
|
||
|
||
# Required. The targeting_option_id of a TargetingOption of type `
|
||
# TARGETING_TYPE_AGE_RANGE`.
|
||
# Corresponds to the JSON property `targetingOptionId`
|
||
# @return [String]
|
||
attr_accessor :targeting_option_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@age_range = args[:age_range] if args.key?(:age_range)
|
||
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
||
end
|
||
end
|
||
|
||
# Represents a targetable age range. This will be populated in the
|
||
# age_range_details field when targeting_type is `TARGETING_TYPE_AGE_RANGE`.
|
||
class AgeRangeTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The age range of an audience.
|
||
# Corresponds to the JSON property `ageRange`
|
||
# @return [String]
|
||
attr_accessor :age_range
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@age_range = args[:age_range] if args.key?(:age_range)
|
||
end
|
||
end
|
||
|
||
# Details for assigned app targeting option. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_APP`.
|
||
class AppAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. The ID of the app. Android's Play store app uses bundle ID, for
|
||
# example `com.google.android.gm`. Apple's App store app ID uses 9 digit string,
|
||
# for example `422689480`.
|
||
# Corresponds to the JSON property `appId`
|
||
# @return [String]
|
||
attr_accessor :app_id
|
||
|
||
# Output only. The display name of the app.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# Indicates if this option is being negatively targeted.
|
||
# Corresponds to the JSON property `negative`
|
||
# @return [Boolean]
|
||
attr_accessor :negative
|
||
alias_method :negative?, :negative
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@app_id = args[:app_id] if args.key?(:app_id)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@negative = args[:negative] if args.key?(:negative)
|
||
end
|
||
end
|
||
|
||
# Details for assigned app category targeting option. This will be populated in
|
||
# the app_category_details field of an AssignedTargetingOption when
|
||
# targeting_type is `TARGETING_TYPE_APP_CATEGORY`.
|
||
class AppCategoryAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The display name of the app category.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# Indicates if this option is being negatively targeted.
|
||
# Corresponds to the JSON property `negative`
|
||
# @return [Boolean]
|
||
attr_accessor :negative
|
||
alias_method :negative?, :negative
|
||
|
||
# Required. The targeting_option_id field when targeting_type is `
|
||
# TARGETING_TYPE_APP_CATEGORY`.
|
||
# Corresponds to the JSON property `targetingOptionId`
|
||
# @return [String]
|
||
attr_accessor :targeting_option_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@negative = args[:negative] if args.key?(:negative)
|
||
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
||
end
|
||
end
|
||
|
||
# Represents a targetable collection of apps. A collection lets you target
|
||
# dynamic groups of related apps that are maintained by the platform, for
|
||
# example `All Apps/Google Play/Games`. This will be populated in the
|
||
# app_category_details field when targeting_type is `TARGETING_TYPE_APP_CATEGORY`
|
||
# .
|
||
class AppCategoryTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The name of the app collection.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
end
|
||
end
|
||
|
||
# A single asset.
|
||
class Asset
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The asset content. For uploaded assets, the content is the serving path.
|
||
# Corresponds to the JSON property `content`
|
||
# @return [String]
|
||
attr_accessor :content
|
||
|
||
# Media ID of the uploaded asset. This is a unique identifier for the asset.
|
||
# This ID can be passed to other API calls, e.g. CreateCreative to associate the
|
||
# asset with a creative.
|
||
# Corresponds to the JSON property `mediaId`
|
||
# @return [Fixnum]
|
||
attr_accessor :media_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@content = args[:content] if args.key?(:content)
|
||
@media_id = args[:media_id] if args.key?(:media_id)
|
||
end
|
||
end
|
||
|
||
# Asset association for the creative.
|
||
class AssetAssociation
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# A single asset.
|
||
# Corresponds to the JSON property `asset`
|
||
# @return [Google::Apis::DisplayvideoV1::Asset]
|
||
attr_accessor :asset
|
||
|
||
# The role of this asset for the creative.
|
||
# Corresponds to the JSON property `role`
|
||
# @return [String]
|
||
attr_accessor :role
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@asset = args[:asset] if args.key?(:asset)
|
||
@role = args[:role] if args.key?(:role)
|
||
end
|
||
end
|
||
|
||
# An assignment between a targetable inventory source and an inventory source
|
||
# group.
|
||
class AssignedInventorySource
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The unique ID of the assigned inventory source. The ID is only
|
||
# unique within a given inventory source group. It may be reused in other
|
||
# contexts.
|
||
# Corresponds to the JSON property `assignedInventorySourceId`
|
||
# @return [Fixnum]
|
||
attr_accessor :assigned_inventory_source_id
|
||
|
||
# Required. The ID of the inventory source entity being targeted.
|
||
# Corresponds to the JSON property `inventorySourceId`
|
||
# @return [String]
|
||
attr_accessor :inventory_source_id
|
||
|
||
# Output only. The resource name of the assigned inventory source.
|
||
# Corresponds to the JSON property `name`
|
||
# @return [String]
|
||
attr_accessor :name
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@assigned_inventory_source_id = args[:assigned_inventory_source_id] if args.key?(:assigned_inventory_source_id)
|
||
@inventory_source_id = args[:inventory_source_id] if args.key?(:inventory_source_id)
|
||
@name = args[:name] if args.key?(:name)
|
||
end
|
||
end
|
||
|
||
# An assignment between a location list and a relevant targeting option.
|
||
# Currently, geo region targeting options are the only supported option for
|
||
# assignment.
|
||
class AssignedLocation
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The unique ID of the assigned location. The ID is only unique
|
||
# within a location list. It may be reused in other contexts.
|
||
# Corresponds to the JSON property `assignedLocationId`
|
||
# @return [Fixnum]
|
||
attr_accessor :assigned_location_id
|
||
|
||
# Output only. The resource name of the assigned location.
|
||
# Corresponds to the JSON property `name`
|
||
# @return [String]
|
||
attr_accessor :name
|
||
|
||
# Required. The ID of the targeting option assigned to the location list. Must
|
||
# be of type TARGETING_TYPE_GEO_REGION.
|
||
# Corresponds to the JSON property `targetingOptionId`
|
||
# @return [String]
|
||
attr_accessor :targeting_option_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@assigned_location_id = args[:assigned_location_id] if args.key?(:assigned_location_id)
|
||
@name = args[:name] if args.key?(:name)
|
||
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
||
end
|
||
end
|
||
|
||
# A single assigned targeting option, which defines the state of a targeting
|
||
# option for an entity with targeting settings.
|
||
class AssignedTargetingOption
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Represents a targetable age range. This will be populated in the details field
|
||
# of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_AGE_RANGE`
|
||
# .
|
||
# Corresponds to the JSON property `ageRangeDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::AgeRangeAssignedTargetingOptionDetails]
|
||
attr_accessor :age_range_details
|
||
|
||
# Details for assigned app category targeting option. This will be populated in
|
||
# the app_category_details field of an AssignedTargetingOption when
|
||
# targeting_type is `TARGETING_TYPE_APP_CATEGORY`.
|
||
# Corresponds to the JSON property `appCategoryDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::AppCategoryAssignedTargetingOptionDetails]
|
||
attr_accessor :app_category_details
|
||
|
||
# Details for assigned app targeting option. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_APP`.
|
||
# Corresponds to the JSON property `appDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::AppAssignedTargetingOptionDetails]
|
||
attr_accessor :app_details
|
||
|
||
# Output only. The unique ID of the assigned targeting option. The ID is only
|
||
# unique within a given line item and targeting type. It may be reused in other
|
||
# contexts.
|
||
# Corresponds to the JSON property `assignedTargetingOptionId`
|
||
# @return [String]
|
||
attr_accessor :assigned_targeting_option_id
|
||
|
||
# Assigned audience group targeting option details. This will be populated in
|
||
# the details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_AUDIENCE_GROUP`. The relation between each group is UNION,
|
||
# except for excluded_first_and_third_party_audience_group and
|
||
# excluded_google_audience_group, of which COMPLEMENT is UNION'ed with other
|
||
# groups.
|
||
# Corresponds to the JSON property `audienceGroupDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::AudienceGroupAssignedTargetingOptionDetails]
|
||
attr_accessor :audience_group_details
|
||
|
||
# Represents an assigned authorized seller status. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.
|
||
# Corresponds to the JSON property `authorizedSellerStatusDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::AuthorizedSellerStatusAssignedTargetingOptionDetails]
|
||
attr_accessor :authorized_seller_status_details
|
||
|
||
# Details for assigned browser targeting option. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_BROWSER`.
|
||
# Corresponds to the JSON property `browserDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::BrowserAssignedTargetingOptionDetails]
|
||
attr_accessor :browser_details
|
||
|
||
# Details for assigned carrier and ISP targeting option. This will be populated
|
||
# in the details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_CARRIER_AND_ISP`.
|
||
# Corresponds to the JSON property `carrierAndIspDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::CarrierAndIspAssignedTargetingOptionDetails]
|
||
attr_accessor :carrier_and_isp_details
|
||
|
||
# Assigned category targeting option details. This will be populated in the
|
||
# category_details field when targeting_type is `TARGETING_TYPE_CATEGORY`.
|
||
# Corresponds to the JSON property `categoryDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::CategoryAssignedTargetingOptionDetails]
|
||
attr_accessor :category_details
|
||
|
||
# Details for assigned channel targeting option. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_CHANNEL`.
|
||
# Corresponds to the JSON property `channelDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::ChannelAssignedTargetingOptionDetails]
|
||
attr_accessor :channel_details
|
||
|
||
# Assigned content instream position targeting option details. This will be
|
||
# populated in the content_instream_position_details field when targeting_type
|
||
# is `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.
|
||
# Corresponds to the JSON property `contentInstreamPositionDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::ContentInstreamPositionAssignedTargetingOptionDetails]
|
||
attr_accessor :content_instream_position_details
|
||
|
||
# Assigned content outstream position targeting option details. This will be
|
||
# populated in the content_outstream_position_details field when targeting_type
|
||
# is `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.
|
||
# Corresponds to the JSON property `contentOutstreamPositionDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::ContentOutstreamPositionAssignedTargetingOptionDetails]
|
||
attr_accessor :content_outstream_position_details
|
||
|
||
# Representation of a segment of time defined on a specific day of the week and
|
||
# with a start and end time. The time represented by `start_hour` must be before
|
||
# the time represented by `end_hour`.
|
||
# Corresponds to the JSON property `dayAndTimeDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::DayAndTimeAssignedTargetingOptionDetails]
|
||
attr_accessor :day_and_time_details
|
||
|
||
# Assigned device make and model targeting option details. This will be
|
||
# populated in the device_make_model_details field when targeting_type is `
|
||
# TARGETING_TYPE_DEVICE_MAKE_MODEL`.
|
||
# Corresponds to the JSON property `deviceMakeModelDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::DeviceMakeModelAssignedTargetingOptionDetails]
|
||
attr_accessor :device_make_model_details
|
||
|
||
# Targeting details for device type. This will be populated in the details field
|
||
# of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_DEVICE_TYPE`.
|
||
# Corresponds to the JSON property `deviceTypeDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::DeviceTypeAssignedTargetingOptionDetails]
|
||
attr_accessor :device_type_details
|
||
|
||
# Targeting details for digital content label. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`.
|
||
# Corresponds to the JSON property `digitalContentLabelExclusionDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::DigitalContentLabelAssignedTargetingOptionDetails]
|
||
attr_accessor :digital_content_label_exclusion_details
|
||
|
||
# Assigned environment targeting option details. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_ENVIRONMENT`.
|
||
# Corresponds to the JSON property `environmentDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::EnvironmentAssignedTargetingOptionDetails]
|
||
attr_accessor :environment_details
|
||
|
||
# Details for assigned exchange targeting option. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_EXCHANGE`.
|
||
# Corresponds to the JSON property `exchangeDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::ExchangeAssignedTargetingOptionDetails]
|
||
attr_accessor :exchange_details
|
||
|
||
# Details for assigned gender targeting option. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARTGETING_TYPE_GENDER`.
|
||
# Corresponds to the JSON property `genderDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::GenderAssignedTargetingOptionDetails]
|
||
attr_accessor :gender_details
|
||
|
||
# Details for assigned geographic region targeting option. This will be
|
||
# populated in the details field of an AssignedTargetingOption when
|
||
# targeting_type is `TARGETING_TYPE_GEO_REGION`.
|
||
# Corresponds to the JSON property `geoRegionDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::GeoRegionAssignedTargetingOptionDetails]
|
||
attr_accessor :geo_region_details
|
||
|
||
# Details for assigned household income targeting option. This will be populated
|
||
# in the details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_HOUSEHOLD_INCOME`.
|
||
# Corresponds to the JSON property `householdIncomeDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::HouseholdIncomeAssignedTargetingOptionDetails]
|
||
attr_accessor :household_income_details
|
||
|
||
# Output only. The inheritance status of the assigned targeting option.
|
||
# Corresponds to the JSON property `inheritance`
|
||
# @return [String]
|
||
attr_accessor :inheritance
|
||
|
||
# Targeting details for inventory source. This will be populated in the details
|
||
# field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_INVENTORY_SOURCE`.
|
||
# Corresponds to the JSON property `inventorySourceDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::InventorySourceAssignedTargetingOptionDetails]
|
||
attr_accessor :inventory_source_details
|
||
|
||
# Targeting details for inventory source group. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_INVENTORY_SOURCE_GROUP`.
|
||
# Corresponds to the JSON property `inventorySourceGroupDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::InventorySourceGroupAssignedTargetingOptionDetails]
|
||
attr_accessor :inventory_source_group_details
|
||
|
||
# Details for assigned keyword targeting option. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_KEYWORD`.
|
||
# Corresponds to the JSON property `keywordDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::KeywordAssignedTargetingOptionDetails]
|
||
attr_accessor :keyword_details
|
||
|
||
# Details for assigned language targeting option. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_LANGUAGE`.
|
||
# Corresponds to the JSON property `languageDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::LanguageAssignedTargetingOptionDetails]
|
||
attr_accessor :language_details
|
||
|
||
# Output only. The resource name for this assigned targeting option.
|
||
# Corresponds to the JSON property `name`
|
||
# @return [String]
|
||
attr_accessor :name
|
||
|
||
# Targeting details for negative keyword list. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`.
|
||
# Corresponds to the JSON property `negativeKeywordListDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::NegativeKeywordListAssignedTargetingOptionDetails]
|
||
attr_accessor :negative_keyword_list_details
|
||
|
||
# On screen position targeting option details. This will be populated in the
|
||
# on_screen_position_details field when targeting_type is `
|
||
# TARGETING_TYPE_ON_SCREEN_POSITION`.
|
||
# Corresponds to the JSON property `onScreenPositionDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::OnScreenPositionAssignedTargetingOptionDetails]
|
||
attr_accessor :on_screen_position_details
|
||
|
||
# Assigned operating system targeting option details. This will be populated in
|
||
# the operating_system_details field when targeting_type is `
|
||
# TARGETING_TYPE_OPERATING_SYSTEM`.
|
||
# Corresponds to the JSON property `operatingSystemDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::OperatingSystemAssignedTargetingOptionDetails]
|
||
attr_accessor :operating_system_details
|
||
|
||
# Details for assigned parental status targeting option. This will be populated
|
||
# in the details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARTGETING_TYPE_PARENTAL_STATUS`.
|
||
# Corresponds to the JSON property `parentalStatusDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::ParentalStatusAssignedTargetingOptionDetails]
|
||
attr_accessor :parental_status_details
|
||
|
||
# Targeting details for proximity location list. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
|
||
# Corresponds to the JSON property `proximityLocationListDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::ProximityLocationListAssignedTargetingOptionDetails]
|
||
attr_accessor :proximity_location_list_details
|
||
|
||
# Targeting details for regional location list. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_REGIONAL_LOCATION_LIST`.
|
||
# Corresponds to the JSON property `regionalLocationListDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::RegionalLocationListAssignedTargetingOptionDetails]
|
||
attr_accessor :regional_location_list_details
|
||
|
||
# Targeting details for sensitive category. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.
|
||
# Corresponds to the JSON property `sensitiveCategoryExclusionDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::SensitiveCategoryAssignedTargetingOptionDetails]
|
||
attr_accessor :sensitive_category_exclusion_details
|
||
|
||
# Details for assigned sub-exchange targeting option. This will be populated in
|
||
# the details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_SUB_EXCHANGE`.
|
||
# Corresponds to the JSON property `subExchangeDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::SubExchangeAssignedTargetingOptionDetails]
|
||
attr_accessor :sub_exchange_details
|
||
|
||
# Output only. Identifies the type of this assigned targeting option.
|
||
# Corresponds to the JSON property `targetingType`
|
||
# @return [String]
|
||
attr_accessor :targeting_type
|
||
|
||
# Assigned third party verifier targeting option details. This will be populated
|
||
# in the details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_THIRD_PARTY_VERIFIER`.
|
||
# Corresponds to the JSON property `thirdPartyVerifierDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::ThirdPartyVerifierAssignedTargetingOptionDetails]
|
||
attr_accessor :third_party_verifier_details
|
||
|
||
# Details for assigned URL targeting option. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_URL`.
|
||
# Corresponds to the JSON property `urlDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::UrlAssignedTargetingOptionDetails]
|
||
attr_accessor :url_details
|
||
|
||
# User rewarded content targeting option details. This will be populated in the
|
||
# user_rewarded_content_details field when targeting_type is `
|
||
# TARGETING_TYPE_USER_REWARDED_CONTENT`.
|
||
# Corresponds to the JSON property `userRewardedContentDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::UserRewardedContentAssignedTargetingOptionDetails]
|
||
attr_accessor :user_rewarded_content_details
|
||
|
||
# Video player size targeting option details. This will be populated in the
|
||
# video_player_size_details field when targeting_type is `
|
||
# TARGETING_TYPE_VIDEO_PLAYER_SIZE`. Explicitly targeting all options is not
|
||
# supported. Remove all video player size targeting options to achieve this
|
||
# effect.
|
||
# Corresponds to the JSON property `videoPlayerSizeDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::VideoPlayerSizeAssignedTargetingOptionDetails]
|
||
attr_accessor :video_player_size_details
|
||
|
||
# Assigned viewability targeting option details. This will be populated in the
|
||
# viewability_details field of an AssignedTargetingOption when targeting_type is
|
||
# `TARGETING_TYPE_VIEWABILITY`.
|
||
# Corresponds to the JSON property `viewabilityDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::ViewabilityAssignedTargetingOptionDetails]
|
||
attr_accessor :viewability_details
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@age_range_details = args[:age_range_details] if args.key?(:age_range_details)
|
||
@app_category_details = args[:app_category_details] if args.key?(:app_category_details)
|
||
@app_details = args[:app_details] if args.key?(:app_details)
|
||
@assigned_targeting_option_id = args[:assigned_targeting_option_id] if args.key?(:assigned_targeting_option_id)
|
||
@audience_group_details = args[:audience_group_details] if args.key?(:audience_group_details)
|
||
@authorized_seller_status_details = args[:authorized_seller_status_details] if args.key?(:authorized_seller_status_details)
|
||
@browser_details = args[:browser_details] if args.key?(:browser_details)
|
||
@carrier_and_isp_details = args[:carrier_and_isp_details] if args.key?(:carrier_and_isp_details)
|
||
@category_details = args[:category_details] if args.key?(:category_details)
|
||
@channel_details = args[:channel_details] if args.key?(:channel_details)
|
||
@content_instream_position_details = args[:content_instream_position_details] if args.key?(:content_instream_position_details)
|
||
@content_outstream_position_details = args[:content_outstream_position_details] if args.key?(:content_outstream_position_details)
|
||
@day_and_time_details = args[:day_and_time_details] if args.key?(:day_and_time_details)
|
||
@device_make_model_details = args[:device_make_model_details] if args.key?(:device_make_model_details)
|
||
@device_type_details = args[:device_type_details] if args.key?(:device_type_details)
|
||
@digital_content_label_exclusion_details = args[:digital_content_label_exclusion_details] if args.key?(:digital_content_label_exclusion_details)
|
||
@environment_details = args[:environment_details] if args.key?(:environment_details)
|
||
@exchange_details = args[:exchange_details] if args.key?(:exchange_details)
|
||
@gender_details = args[:gender_details] if args.key?(:gender_details)
|
||
@geo_region_details = args[:geo_region_details] if args.key?(:geo_region_details)
|
||
@household_income_details = args[:household_income_details] if args.key?(:household_income_details)
|
||
@inheritance = args[:inheritance] if args.key?(:inheritance)
|
||
@inventory_source_details = args[:inventory_source_details] if args.key?(:inventory_source_details)
|
||
@inventory_source_group_details = args[:inventory_source_group_details] if args.key?(:inventory_source_group_details)
|
||
@keyword_details = args[:keyword_details] if args.key?(:keyword_details)
|
||
@language_details = args[:language_details] if args.key?(:language_details)
|
||
@name = args[:name] if args.key?(:name)
|
||
@negative_keyword_list_details = args[:negative_keyword_list_details] if args.key?(:negative_keyword_list_details)
|
||
@on_screen_position_details = args[:on_screen_position_details] if args.key?(:on_screen_position_details)
|
||
@operating_system_details = args[:operating_system_details] if args.key?(:operating_system_details)
|
||
@parental_status_details = args[:parental_status_details] if args.key?(:parental_status_details)
|
||
@proximity_location_list_details = args[:proximity_location_list_details] if args.key?(:proximity_location_list_details)
|
||
@regional_location_list_details = args[:regional_location_list_details] if args.key?(:regional_location_list_details)
|
||
@sensitive_category_exclusion_details = args[:sensitive_category_exclusion_details] if args.key?(:sensitive_category_exclusion_details)
|
||
@sub_exchange_details = args[:sub_exchange_details] if args.key?(:sub_exchange_details)
|
||
@targeting_type = args[:targeting_type] if args.key?(:targeting_type)
|
||
@third_party_verifier_details = args[:third_party_verifier_details] if args.key?(:third_party_verifier_details)
|
||
@url_details = args[:url_details] if args.key?(:url_details)
|
||
@user_rewarded_content_details = args[:user_rewarded_content_details] if args.key?(:user_rewarded_content_details)
|
||
@video_player_size_details = args[:video_player_size_details] if args.key?(:video_player_size_details)
|
||
@viewability_details = args[:viewability_details] if args.key?(:viewability_details)
|
||
end
|
||
end
|
||
|
||
# A single assigned user role, which defines a user's authorized interaction
|
||
# with a specified partner or advertiser.
|
||
class AssignedUserRole
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The ID of the advertiser that the assigend user role applies to.
|
||
# Corresponds to the JSON property `advertiserId`
|
||
# @return [Fixnum]
|
||
attr_accessor :advertiser_id
|
||
|
||
# Output only. The ID of the assigned user role.
|
||
# Corresponds to the JSON property `assignedUserRoleId`
|
||
# @return [String]
|
||
attr_accessor :assigned_user_role_id
|
||
|
||
# The ID of the partner that the assigned user role applies to.
|
||
# Corresponds to the JSON property `partnerId`
|
||
# @return [Fixnum]
|
||
attr_accessor :partner_id
|
||
|
||
# Required. The user role to assign to a user for the entity.
|
||
# Corresponds to the JSON property `userRole`
|
||
# @return [String]
|
||
attr_accessor :user_role
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
|
||
@assigned_user_role_id = args[:assigned_user_role_id] if args.key?(:assigned_user_role_id)
|
||
@partner_id = args[:partner_id] if args.key?(:partner_id)
|
||
@user_role = args[:user_role] if args.key?(:user_role)
|
||
end
|
||
end
|
||
|
||
# Assigned audience group targeting option details. This will be populated in
|
||
# the details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_AUDIENCE_GROUP`. The relation between each group is UNION,
|
||
# except for excluded_first_and_third_party_audience_group and
|
||
# excluded_google_audience_group, of which COMPLEMENT is UNION'ed with other
|
||
# groups.
|
||
class AudienceGroupAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Details of first and third party audience group. All first and third party
|
||
# audience targeting settings are logically ‘OR’ of each other.
|
||
# Corresponds to the JSON property `excludedFirstAndThirdPartyAudienceGroup`
|
||
# @return [Google::Apis::DisplayvideoV1::FirstAndThirdPartyAudienceGroup]
|
||
attr_accessor :excluded_first_and_third_party_audience_group
|
||
|
||
# Details of Google audience group. All Google audience targeting settings are
|
||
# logically ‘OR’ of each other.
|
||
# Corresponds to the JSON property `excludedGoogleAudienceGroup`
|
||
# @return [Google::Apis::DisplayvideoV1::GoogleAudienceGroup]
|
||
attr_accessor :excluded_google_audience_group
|
||
|
||
# Details of combined audience group. All combined audience targeting settings
|
||
# are logically ‘OR’ of each other.
|
||
# Corresponds to the JSON property `includedCombinedAudienceGroup`
|
||
# @return [Google::Apis::DisplayvideoV1::CombinedAudienceGroup]
|
||
attr_accessor :included_combined_audience_group
|
||
|
||
# Details of custom list group. All custom list targeting settings are logically
|
||
# ‘OR’ of each other.
|
||
# Corresponds to the JSON property `includedCustomListGroup`
|
||
# @return [Google::Apis::DisplayvideoV1::CustomListGroup]
|
||
attr_accessor :included_custom_list_group
|
||
|
||
# The first and third party audience ids and recencies of included first and
|
||
# third party audience groups. Each first and third party audience group
|
||
# contains first and third party audience ids only. The relation between each
|
||
# first and third party audience group is INTERSECTION, and the result is UNION'
|
||
# ed with other audience groups. Repeated groups with same settings will be
|
||
# ignored.
|
||
# Corresponds to the JSON property `includedFirstAndThirdPartyAudienceGroups`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::FirstAndThirdPartyAudienceGroup>]
|
||
attr_accessor :included_first_and_third_party_audience_groups
|
||
|
||
# Details of Google audience group. All Google audience targeting settings are
|
||
# logically ‘OR’ of each other.
|
||
# Corresponds to the JSON property `includedGoogleAudienceGroup`
|
||
# @return [Google::Apis::DisplayvideoV1::GoogleAudienceGroup]
|
||
attr_accessor :included_google_audience_group
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@excluded_first_and_third_party_audience_group = args[:excluded_first_and_third_party_audience_group] if args.key?(:excluded_first_and_third_party_audience_group)
|
||
@excluded_google_audience_group = args[:excluded_google_audience_group] if args.key?(:excluded_google_audience_group)
|
||
@included_combined_audience_group = args[:included_combined_audience_group] if args.key?(:included_combined_audience_group)
|
||
@included_custom_list_group = args[:included_custom_list_group] if args.key?(:included_custom_list_group)
|
||
@included_first_and_third_party_audience_groups = args[:included_first_and_third_party_audience_groups] if args.key?(:included_first_and_third_party_audience_groups)
|
||
@included_google_audience_group = args[:included_google_audience_group] if args.key?(:included_google_audience_group)
|
||
end
|
||
end
|
||
|
||
# The length an audio or a video has been played.
|
||
class AudioVideoOffset
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The offset in percentage of the audio or video duration.
|
||
# Corresponds to the JSON property `percentage`
|
||
# @return [Fixnum]
|
||
attr_accessor :percentage
|
||
|
||
# The offset in seconds from the start of the audio or video.
|
||
# Corresponds to the JSON property `seconds`
|
||
# @return [Fixnum]
|
||
attr_accessor :seconds
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@percentage = args[:percentage] if args.key?(:percentage)
|
||
@seconds = args[:seconds] if args.key?(:seconds)
|
||
end
|
||
end
|
||
|
||
# Response message for AdvertiserService.AuditAdvertiser.
|
||
class AuditAdvertiserResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The number of ACTIVE and PAUSED campaigns under this advertiser. These
|
||
# campaigns count towards the limit of 9999 campaigns per advertiser.
|
||
# Corresponds to the JSON property `usedCampaignsCount`
|
||
# @return [Fixnum]
|
||
attr_accessor :used_campaigns_count
|
||
|
||
# The number of ACTIVE, PAUSED and DRAFT insertion orders under this advertiser.
|
||
# These insertion orders count towards the limit of 9999 insertion orders per
|
||
# advertiser.
|
||
# Corresponds to the JSON property `usedInsertionOrdersCount`
|
||
# @return [Fixnum]
|
||
attr_accessor :used_insertion_orders_count
|
||
|
||
# The number of ACTIVE, PAUSED, and DRAFT line items under this advertiser.
|
||
# These line items count towards the limit of 9999 line items per advertiser.
|
||
# Corresponds to the JSON property `usedLineItemsCount`
|
||
# @return [Fixnum]
|
||
attr_accessor :used_line_items_count
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@used_campaigns_count = args[:used_campaigns_count] if args.key?(:used_campaigns_count)
|
||
@used_insertion_orders_count = args[:used_insertion_orders_count] if args.key?(:used_insertion_orders_count)
|
||
@used_line_items_count = args[:used_line_items_count] if args.key?(:used_line_items_count)
|
||
end
|
||
end
|
||
|
||
# Represents an assigned authorized seller status. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.
|
||
class AuthorizedSellerStatusAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The authorized seller status to target.
|
||
# Corresponds to the JSON property `authorizedSellerStatus`
|
||
# @return [String]
|
||
attr_accessor :authorized_seller_status
|
||
|
||
# Required. The targeting_option_id of a TargetingOption of type `
|
||
# TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.
|
||
# Corresponds to the JSON property `targetingOptionId`
|
||
# @return [String]
|
||
attr_accessor :targeting_option_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@authorized_seller_status = args[:authorized_seller_status] if args.key?(:authorized_seller_status)
|
||
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
||
end
|
||
end
|
||
|
||
# Represents a targetable authorized seller status. This will be populated in
|
||
# the authorized_seller_status_details field when targeting_type is `
|
||
# TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.
|
||
class AuthorizedSellerStatusTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The authorized seller status.
|
||
# Corresponds to the JSON property `authorizedSellerStatus`
|
||
# @return [String]
|
||
attr_accessor :authorized_seller_status
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@authorized_seller_status = args[:authorized_seller_status] if args.key?(:authorized_seller_status)
|
||
end
|
||
end
|
||
|
||
# Settings that control the bid strategy. Bid strategy determines the bid price.
|
||
class BiddingStrategy
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# A strategy that uses a fixed bidding price.
|
||
# Corresponds to the JSON property `fixedBid`
|
||
# @return [Google::Apis::DisplayvideoV1::FixedBidStrategy]
|
||
attr_accessor :fixed_bid
|
||
|
||
# A strategy that automatically adjusts the bid to optimize a specified
|
||
# performance goal while spending the full budget.
|
||
# Corresponds to the JSON property `maximizeSpendAutoBid`
|
||
# @return [Google::Apis::DisplayvideoV1::MaximizeSpendBidStrategy]
|
||
attr_accessor :maximize_spend_auto_bid
|
||
|
||
# A strategy that automatically adjusts the bid to meet or beat a specified
|
||
# performance goal.
|
||
# Corresponds to the JSON property `performanceGoalAutoBid`
|
||
# @return [Google::Apis::DisplayvideoV1::PerformanceGoalBidStrategy]
|
||
attr_accessor :performance_goal_auto_bid
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@fixed_bid = args[:fixed_bid] if args.key?(:fixed_bid)
|
||
@maximize_spend_auto_bid = args[:maximize_spend_auto_bid] if args.key?(:maximize_spend_auto_bid)
|
||
@performance_goal_auto_bid = args[:performance_goal_auto_bid] if args.key?(:performance_goal_auto_bid)
|
||
end
|
||
end
|
||
|
||
# Details for assigned browser targeting option. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_BROWSER`.
|
||
class BrowserAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The display name of the browser.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# Indicates if this option is being negatively targeted. All assigned browser
|
||
# targeting options on the same line item must have the same value for this
|
||
# field.
|
||
# Corresponds to the JSON property `negative`
|
||
# @return [Boolean]
|
||
attr_accessor :negative
|
||
alias_method :negative?, :negative
|
||
|
||
# Required. The targeting_option_id of a TargetingOption of type `
|
||
# TARGETING_TYPE_BROWSER`.
|
||
# Corresponds to the JSON property `targetingOptionId`
|
||
# @return [String]
|
||
attr_accessor :targeting_option_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@negative = args[:negative] if args.key?(:negative)
|
||
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
||
end
|
||
end
|
||
|
||
# Represents a targetable browser. This will be populated in the browser_details
|
||
# field when targeting_type is `TARGETING_TYPE_BROWSER`.
|
||
class BrowserTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The display name of the browser.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
end
|
||
end
|
||
|
||
# Request message for BulkEditAdvertiserAssignedTargetingOptions.
|
||
class BulkEditAdvertiserAssignedTargetingOptionsRequest
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The assigned targeting options to create in batch, specified as a list of `
|
||
# CreateAssignedTargetingOptionsRequest`.
|
||
# Corresponds to the JSON property `createRequests`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::CreateAssignedTargetingOptionsRequest>]
|
||
attr_accessor :create_requests
|
||
|
||
# The assigned targeting options to delete in batch, specified as a list of `
|
||
# DeleteAssignedTargetingOptionsRequest`.
|
||
# Corresponds to the JSON property `deleteRequests`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::DeleteAssignedTargetingOptionsRequest>]
|
||
attr_accessor :delete_requests
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@create_requests = args[:create_requests] if args.key?(:create_requests)
|
||
@delete_requests = args[:delete_requests] if args.key?(:delete_requests)
|
||
end
|
||
end
|
||
|
||
#
|
||
class BulkEditAdvertiserAssignedTargetingOptionsResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of assigned targeting options that have been successfully created.
|
||
# This list will be absent if empty.
|
||
# Corresponds to the JSON property `createdAssignedTargetingOptions`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::AssignedTargetingOption>]
|
||
attr_accessor :created_assigned_targeting_options
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@created_assigned_targeting_options = args[:created_assigned_targeting_options] if args.key?(:created_assigned_targeting_options)
|
||
end
|
||
end
|
||
|
||
# Request message for AssignedInventorySourceService.BulkEdit.
|
||
class BulkEditAssignedInventorySourcesRequest
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The ID of the advertiser that owns the parent inventory source group. The
|
||
# parent partner does not have access to these assigned inventory sources.
|
||
# Corresponds to the JSON property `advertiserId`
|
||
# @return [Fixnum]
|
||
attr_accessor :advertiser_id
|
||
|
||
# The assigned inventory sources to create in bulk, specified as a list of
|
||
# AssignedInventorySources.
|
||
# Corresponds to the JSON property `createdAssignedInventorySources`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::AssignedInventorySource>]
|
||
attr_accessor :created_assigned_inventory_sources
|
||
|
||
# The IDs of the assigned inventory sources to delete in bulk, specified as a
|
||
# list of assigned_inventory_source_ids.
|
||
# Corresponds to the JSON property `deletedAssignedInventorySources`
|
||
# @return [Array<Fixnum>]
|
||
attr_accessor :deleted_assigned_inventory_sources
|
||
|
||
# The ID of the partner that owns the inventory source group. Only this partner
|
||
# has write access to these assigned inventory sources.
|
||
# Corresponds to the JSON property `partnerId`
|
||
# @return [Fixnum]
|
||
attr_accessor :partner_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
|
||
@created_assigned_inventory_sources = args[:created_assigned_inventory_sources] if args.key?(:created_assigned_inventory_sources)
|
||
@deleted_assigned_inventory_sources = args[:deleted_assigned_inventory_sources] if args.key?(:deleted_assigned_inventory_sources)
|
||
@partner_id = args[:partner_id] if args.key?(:partner_id)
|
||
end
|
||
end
|
||
|
||
# Response message for AssignedInventorySourceService.BulkEdit.
|
||
class BulkEditAssignedInventorySourcesResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of assigned inventory sources that have been successfully created.
|
||
# This list will be absent if empty.
|
||
# Corresponds to the JSON property `assignedInventorySources`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::AssignedInventorySource>]
|
||
attr_accessor :assigned_inventory_sources
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@assigned_inventory_sources = args[:assigned_inventory_sources] if args.key?(:assigned_inventory_sources)
|
||
end
|
||
end
|
||
|
||
# Request message for AssignedLocationService.BulkEditAssignedLocations.
|
||
class BulkEditAssignedLocationsRequest
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The assigned locations to create in bulk, specified as a list of
|
||
# AssignedLocations.
|
||
# Corresponds to the JSON property `createdAssignedLocations`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::AssignedLocation>]
|
||
attr_accessor :created_assigned_locations
|
||
|
||
# The IDs of the assigned locations to delete in bulk, specified as a list of
|
||
# assigned_location_ids.
|
||
# Corresponds to the JSON property `deletedAssignedLocations`
|
||
# @return [Array<Fixnum>]
|
||
attr_accessor :deleted_assigned_locations
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@created_assigned_locations = args[:created_assigned_locations] if args.key?(:created_assigned_locations)
|
||
@deleted_assigned_locations = args[:deleted_assigned_locations] if args.key?(:deleted_assigned_locations)
|
||
end
|
||
end
|
||
|
||
# Response message for AssignedLocationService.BulkEditAssignedLocations.
|
||
class BulkEditAssignedLocationsResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of assigned locations that have been successfully created. This list
|
||
# will be absent if empty.
|
||
# Corresponds to the JSON property `assignedLocations`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::AssignedLocation>]
|
||
attr_accessor :assigned_locations
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@assigned_locations = args[:assigned_locations] if args.key?(:assigned_locations)
|
||
end
|
||
end
|
||
|
||
# Request message for BulkEditAssignedUserRoles.
|
||
class BulkEditAssignedUserRolesRequest
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The assigned user roles to create in batch, specified as a list of
|
||
# AssignedUserRoles.
|
||
# Corresponds to the JSON property `createdAssignedUserRoles`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::AssignedUserRole>]
|
||
attr_accessor :created_assigned_user_roles
|
||
|
||
# The assigned user roles to delete in batch, specified as a list of
|
||
# assigned_user_role_ids. The format of assigned_user_role_id is `entityType-
|
||
# entityid`, for example `partner-123`.
|
||
# Corresponds to the JSON property `deletedAssignedUserRoles`
|
||
# @return [Array<String>]
|
||
attr_accessor :deleted_assigned_user_roles
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@created_assigned_user_roles = args[:created_assigned_user_roles] if args.key?(:created_assigned_user_roles)
|
||
@deleted_assigned_user_roles = args[:deleted_assigned_user_roles] if args.key?(:deleted_assigned_user_roles)
|
||
end
|
||
end
|
||
|
||
#
|
||
class BulkEditAssignedUserRolesResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of assigned user roles that have been successfully created. This list
|
||
# will be absent if empty.
|
||
# Corresponds to the JSON property `createdAssignedUserRoles`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::AssignedUserRole>]
|
||
attr_accessor :created_assigned_user_roles
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@created_assigned_user_roles = args[:created_assigned_user_roles] if args.key?(:created_assigned_user_roles)
|
||
end
|
||
end
|
||
|
||
# Request message for BulkEditLineItemAssignedTargetingOptions.
|
||
class BulkEditLineItemAssignedTargetingOptionsRequest
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The assigned targeting options to create in batch, specified as a list of `
|
||
# CreateAssignedTargetingOptionsRequest`.
|
||
# Corresponds to the JSON property `createRequests`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::CreateAssignedTargetingOptionsRequest>]
|
||
attr_accessor :create_requests
|
||
|
||
# The assigned targeting options to delete in batch, specified as a list of `
|
||
# DeleteAssignedTargetingOptionsRequest`.
|
||
# Corresponds to the JSON property `deleteRequests`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::DeleteAssignedTargetingOptionsRequest>]
|
||
attr_accessor :delete_requests
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@create_requests = args[:create_requests] if args.key?(:create_requests)
|
||
@delete_requests = args[:delete_requests] if args.key?(:delete_requests)
|
||
end
|
||
end
|
||
|
||
#
|
||
class BulkEditLineItemAssignedTargetingOptionsResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of assigned targeting options that have been successfully created.
|
||
# This list will be absent if empty.
|
||
# Corresponds to the JSON property `createdAssignedTargetingOptions`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::AssignedTargetingOption>]
|
||
attr_accessor :created_assigned_targeting_options
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@created_assigned_targeting_options = args[:created_assigned_targeting_options] if args.key?(:created_assigned_targeting_options)
|
||
end
|
||
end
|
||
|
||
# Request message for NegativeKeywordService.BulkEditNegativeKeywords.
|
||
class BulkEditNegativeKeywordsRequest
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The negative keywords to create in batch, specified as a list of
|
||
# NegativeKeywords.
|
||
# Corresponds to the JSON property `createdNegativeKeywords`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::NegativeKeyword>]
|
||
attr_accessor :created_negative_keywords
|
||
|
||
# The negative keywords to delete in batch, specified as a list of
|
||
# keyword_values.
|
||
# Corresponds to the JSON property `deletedNegativeKeywords`
|
||
# @return [Array<String>]
|
||
attr_accessor :deleted_negative_keywords
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@created_negative_keywords = args[:created_negative_keywords] if args.key?(:created_negative_keywords)
|
||
@deleted_negative_keywords = args[:deleted_negative_keywords] if args.key?(:deleted_negative_keywords)
|
||
end
|
||
end
|
||
|
||
# Response message for NegativeKeywordService.BulkEditNegativeKeywords.
|
||
class BulkEditNegativeKeywordsResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of negative keywords that have been successfully created. This list
|
||
# will be absent if empty.
|
||
# Corresponds to the JSON property `negativeKeywords`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::NegativeKeyword>]
|
||
attr_accessor :negative_keywords
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@negative_keywords = args[:negative_keywords] if args.key?(:negative_keywords)
|
||
end
|
||
end
|
||
|
||
# Request message for BulkEditPartnerAssignedTargetingOptions.
|
||
class BulkEditPartnerAssignedTargetingOptionsRequest
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The assigned targeting options to create in batch, specified as a list of `
|
||
# CreateAssignedTargetingOptionsRequest`. Supported targeting types: * `
|
||
# TARGETING_TYPE_CHANNEL`
|
||
# Corresponds to the JSON property `createRequests`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::CreateAssignedTargetingOptionsRequest>]
|
||
attr_accessor :create_requests
|
||
|
||
# The assigned targeting options to delete in batch, specified as a list of `
|
||
# DeleteAssignedTargetingOptionsRequest`. Supported targeting types: * `
|
||
# TARGETING_TYPE_CHANNEL`
|
||
# Corresponds to the JSON property `deleteRequests`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::DeleteAssignedTargetingOptionsRequest>]
|
||
attr_accessor :delete_requests
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@create_requests = args[:create_requests] if args.key?(:create_requests)
|
||
@delete_requests = args[:delete_requests] if args.key?(:delete_requests)
|
||
end
|
||
end
|
||
|
||
#
|
||
class BulkEditPartnerAssignedTargetingOptionsResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of assigned targeting options that have been successfully created.
|
||
# This list will be absent if empty.
|
||
# Corresponds to the JSON property `createdAssignedTargetingOptions`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::AssignedTargetingOption>]
|
||
attr_accessor :created_assigned_targeting_options
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@created_assigned_targeting_options = args[:created_assigned_targeting_options] if args.key?(:created_assigned_targeting_options)
|
||
end
|
||
end
|
||
|
||
# Request message for SiteService.BulkEditSites.
|
||
class BulkEditSitesRequest
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The ID of the advertiser that owns the parent channel.
|
||
# Corresponds to the JSON property `advertiserId`
|
||
# @return [Fixnum]
|
||
attr_accessor :advertiser_id
|
||
|
||
# The sites to create in batch, specified as a list of Sites.
|
||
# Corresponds to the JSON property `createdSites`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::Site>]
|
||
attr_accessor :created_sites
|
||
|
||
# The sites to delete in batch, specified as a list of site url_or_app_ids.
|
||
# Corresponds to the JSON property `deletedSites`
|
||
# @return [Array<String>]
|
||
attr_accessor :deleted_sites
|
||
|
||
# The ID of the partner that owns the parent channel.
|
||
# Corresponds to the JSON property `partnerId`
|
||
# @return [Fixnum]
|
||
attr_accessor :partner_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
|
||
@created_sites = args[:created_sites] if args.key?(:created_sites)
|
||
@deleted_sites = args[:deleted_sites] if args.key?(:deleted_sites)
|
||
@partner_id = args[:partner_id] if args.key?(:partner_id)
|
||
end
|
||
end
|
||
|
||
# Response message for SiteService.BulkEditSites.
|
||
class BulkEditSitesResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of sites that have been successfully created. This list will be
|
||
# absent if empty.
|
||
# Corresponds to the JSON property `sites`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::Site>]
|
||
attr_accessor :sites
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@sites = args[:sites] if args.key?(:sites)
|
||
end
|
||
end
|
||
|
||
#
|
||
class BulkListAdvertiserAssignedTargetingOptionsResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of assigned targeting options. This list will be absent if empty.
|
||
# Corresponds to the JSON property `assignedTargetingOptions`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::AssignedTargetingOption>]
|
||
attr_accessor :assigned_targeting_options
|
||
|
||
# A token identifying the next page of results. This value should be specified
|
||
# as the pageToken in a subsequent
|
||
# BulkListAdvertiserAssignedTargetingOptionsRequest to fetch the next page of
|
||
# results. This token will be absent if there are no more
|
||
# assigned_targeting_options to return.
|
||
# Corresponds to the JSON property `nextPageToken`
|
||
# @return [String]
|
||
attr_accessor :next_page_token
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@assigned_targeting_options = args[:assigned_targeting_options] if args.key?(:assigned_targeting_options)
|
||
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
end
|
||
end
|
||
|
||
#
|
||
class BulkListLineItemAssignedTargetingOptionsResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of assigned targeting options. This list will be absent if empty.
|
||
# Corresponds to the JSON property `assignedTargetingOptions`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::AssignedTargetingOption>]
|
||
attr_accessor :assigned_targeting_options
|
||
|
||
# A token identifying the next page of results. This value should be specified
|
||
# as the pageToken in a subsequent
|
||
# BulkListLineItemAssignedTargetingOptionsRequest to fetch the next page of
|
||
# results. This token will be absent if there are no more
|
||
# assigned_targeting_options to return.
|
||
# Corresponds to the JSON property `nextPageToken`
|
||
# @return [String]
|
||
attr_accessor :next_page_token
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@assigned_targeting_options = args[:assigned_targeting_options] if args.key?(:assigned_targeting_options)
|
||
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
end
|
||
end
|
||
|
||
# A single campaign.
|
||
class Campaign
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The unique ID of the advertiser the campaign belongs to.
|
||
# Corresponds to the JSON property `advertiserId`
|
||
# @return [Fixnum]
|
||
attr_accessor :advertiser_id
|
||
|
||
# Settings that track the planned spend and duration of a campaign.
|
||
# Corresponds to the JSON property `campaignFlight`
|
||
# @return [Google::Apis::DisplayvideoV1::CampaignFlight]
|
||
attr_accessor :campaign_flight
|
||
|
||
# Settings that control the goal of a campaign.
|
||
# Corresponds to the JSON property `campaignGoal`
|
||
# @return [Google::Apis::DisplayvideoV1::CampaignGoal]
|
||
attr_accessor :campaign_goal
|
||
|
||
# Output only. The unique ID of the campaign. Assigned by the system.
|
||
# Corresponds to the JSON property `campaignId`
|
||
# @return [Fixnum]
|
||
attr_accessor :campaign_id
|
||
|
||
# Required. The display name of the campaign. Must be UTF-8 encoded with a
|
||
# maximum size of 240 bytes.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# Required. Controls whether or not the insertion orders under this campaign can
|
||
# spend their budgets and bid on inventory. * Accepted values are `
|
||
# ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`, and `ENTITY_STATUS_PAUSED`. *
|
||
# For CreateCampaign method, `ENTITY_STATUS_ARCHIVED` is not allowed.
|
||
# Corresponds to the JSON property `entityStatus`
|
||
# @return [String]
|
||
attr_accessor :entity_status
|
||
|
||
# Settings that control the number of times a user may be shown with the same ad
|
||
# during a given time period.
|
||
# Corresponds to the JSON property `frequencyCap`
|
||
# @return [Google::Apis::DisplayvideoV1::FrequencyCap]
|
||
attr_accessor :frequency_cap
|
||
|
||
# Output only. The resource name of the campaign.
|
||
# Corresponds to the JSON property `name`
|
||
# @return [String]
|
||
attr_accessor :name
|
||
|
||
# Output only. The timestamp when the campaign was last updated. Assigned by the
|
||
# system.
|
||
# Corresponds to the JSON property `updateTime`
|
||
# @return [String]
|
||
attr_accessor :update_time
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
|
||
@campaign_flight = args[:campaign_flight] if args.key?(:campaign_flight)
|
||
@campaign_goal = args[:campaign_goal] if args.key?(:campaign_goal)
|
||
@campaign_id = args[:campaign_id] if args.key?(:campaign_id)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@entity_status = args[:entity_status] if args.key?(:entity_status)
|
||
@frequency_cap = args[:frequency_cap] if args.key?(:frequency_cap)
|
||
@name = args[:name] if args.key?(:name)
|
||
@update_time = args[:update_time] if args.key?(:update_time)
|
||
end
|
||
end
|
||
|
||
# Settings that track the planned spend and duration of a campaign.
|
||
class CampaignFlight
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# A date range.
|
||
# Corresponds to the JSON property `plannedDates`
|
||
# @return [Google::Apis::DisplayvideoV1::DateRange]
|
||
attr_accessor :planned_dates
|
||
|
||
# The amount the campaign is expected to spend for its given planned_dates. This
|
||
# will not limit serving, but will be used for tracking spend in the DV360 UI.
|
||
# The amount is in micros. Must be greater than or equal to 0. For example,
|
||
# 500000000 represents 500 standard units of the currency.
|
||
# Corresponds to the JSON property `plannedSpendAmountMicros`
|
||
# @return [Fixnum]
|
||
attr_accessor :planned_spend_amount_micros
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@planned_dates = args[:planned_dates] if args.key?(:planned_dates)
|
||
@planned_spend_amount_micros = args[:planned_spend_amount_micros] if args.key?(:planned_spend_amount_micros)
|
||
end
|
||
end
|
||
|
||
# Settings that control the goal of a campaign.
|
||
class CampaignGoal
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. The type of the campaign goal.
|
||
# Corresponds to the JSON property `campaignGoalType`
|
||
# @return [String]
|
||
attr_accessor :campaign_goal_type
|
||
|
||
# Settings that control the performance goal of a campaign or insertion order.
|
||
# Corresponds to the JSON property `performanceGoal`
|
||
# @return [Google::Apis::DisplayvideoV1::PerformanceGoal]
|
||
attr_accessor :performance_goal
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@campaign_goal_type = args[:campaign_goal_type] if args.key?(:campaign_goal_type)
|
||
@performance_goal = args[:performance_goal] if args.key?(:performance_goal)
|
||
end
|
||
end
|
||
|
||
# Details for assigned carrier and ISP targeting option. This will be populated
|
||
# in the details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_CARRIER_AND_ISP`.
|
||
class CarrierAndIspAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The display name of the carrier or ISP.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# Indicates if this option is being negatively targeted. All assigned carrier
|
||
# and ISP targeting options on the same line item must have the same value for
|
||
# this field.
|
||
# Corresponds to the JSON property `negative`
|
||
# @return [Boolean]
|
||
attr_accessor :negative
|
||
alias_method :negative?, :negative
|
||
|
||
# Required. The targeting_option_id of a TargetingOption of type `
|
||
# TARGETING_TYPE_CARRIER_AND_ISP`.
|
||
# Corresponds to the JSON property `targetingOptionId`
|
||
# @return [String]
|
||
attr_accessor :targeting_option_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@negative = args[:negative] if args.key?(:negative)
|
||
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
||
end
|
||
end
|
||
|
||
# Represents a targetable carrier or ISP. This will be populated in the
|
||
# carrier_and_isp_details field of a TargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_CARRIER_AND_ISP`.
|
||
class CarrierAndIspTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The display name of the carrier or ISP.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# Output only. The type indicating if it's carrier or ISP.
|
||
# Corresponds to the JSON property `type`
|
||
# @return [String]
|
||
attr_accessor :type
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@type = args[:type] if args.key?(:type)
|
||
end
|
||
end
|
||
|
||
# Assigned category targeting option details. This will be populated in the
|
||
# category_details field when targeting_type is `TARGETING_TYPE_CATEGORY`.
|
||
class CategoryAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The display name of the category.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# Indicates if this option is being negatively targeted.
|
||
# Corresponds to the JSON property `negative`
|
||
# @return [Boolean]
|
||
attr_accessor :negative
|
||
alias_method :negative?, :negative
|
||
|
||
# Required. The targeting_option_id field when targeting_type is `
|
||
# TARGETING_TYPE_CATEGORY`.
|
||
# Corresponds to the JSON property `targetingOptionId`
|
||
# @return [String]
|
||
attr_accessor :targeting_option_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@negative = args[:negative] if args.key?(:negative)
|
||
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
||
end
|
||
end
|
||
|
||
# Represents a targetable category. This will be populated in the
|
||
# category_details field of a TargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_CATEGORY`.
|
||
class CategoryTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The display name of the category.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
end
|
||
end
|
||
|
||
# A single channel. Channels are custom groups of related websites and apps.
|
||
class Channel
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The ID of the advertiser that owns the channel.
|
||
# Corresponds to the JSON property `advertiserId`
|
||
# @return [Fixnum]
|
||
attr_accessor :advertiser_id
|
||
|
||
# Output only. The unique ID of the channel. Assigned by the system.
|
||
# Corresponds to the JSON property `channelId`
|
||
# @return [Fixnum]
|
||
attr_accessor :channel_id
|
||
|
||
# Required. The display name of the channel. Must be UTF-8 encoded with a
|
||
# maximum length of 240 bytes.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# Output only. The resource name of the channel.
|
||
# Corresponds to the JSON property `name`
|
||
# @return [String]
|
||
attr_accessor :name
|
||
|
||
# The ID of the partner that owns the channel.
|
||
# Corresponds to the JSON property `partnerId`
|
||
# @return [Fixnum]
|
||
attr_accessor :partner_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
|
||
@channel_id = args[:channel_id] if args.key?(:channel_id)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@name = args[:name] if args.key?(:name)
|
||
@partner_id = args[:partner_id] if args.key?(:partner_id)
|
||
end
|
||
end
|
||
|
||
# Details for assigned channel targeting option. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_CHANNEL`.
|
||
class ChannelAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. ID of the channel. Should refer to the channel ID field on a [
|
||
# Partner-owned channel](partners.channels#Channel.FIELDS.channel_id) or [
|
||
# advertiser-owned channel](advertisers.channels#Channel.FIELDS.channel_id)
|
||
# resource.
|
||
# Corresponds to the JSON property `channelId`
|
||
# @return [Fixnum]
|
||
attr_accessor :channel_id
|
||
|
||
# Indicates if this option is being negatively targeted. For advertiser level
|
||
# assigned targeting option, this field must be true.
|
||
# Corresponds to the JSON property `negative`
|
||
# @return [Boolean]
|
||
attr_accessor :negative
|
||
alias_method :negative?, :negative
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@channel_id = args[:channel_id] if args.key?(:channel_id)
|
||
@negative = args[:negative] if args.key?(:negative)
|
||
end
|
||
end
|
||
|
||
# Settings for advertisers that use both Campaign Manager (CM) and third-party
|
||
# ad servers.
|
||
class CmHybridConfig
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. Immutable. Account ID of the CM Floodlight configuration linked with
|
||
# the DV360 advertiser.
|
||
# Corresponds to the JSON property `cmAccountId`
|
||
# @return [Fixnum]
|
||
attr_accessor :cm_account_id
|
||
|
||
# Required. Immutable. ID of the CM Floodlight configuration linked with the
|
||
# DV360 advertiser.
|
||
# Corresponds to the JSON property `cmFloodlightConfigId`
|
||
# @return [Fixnum]
|
||
attr_accessor :cm_floodlight_config_id
|
||
|
||
# Required. Immutable. By setting this field to `true`, you, on behalf of your
|
||
# company, authorize the sharing of information from the given Floodlight
|
||
# configuration to this Display & Video 360 advertiser.
|
||
# Corresponds to the JSON property `cmFloodlightLinkingAuthorized`
|
||
# @return [Boolean]
|
||
attr_accessor :cm_floodlight_linking_authorized
|
||
alias_method :cm_floodlight_linking_authorized?, :cm_floodlight_linking_authorized
|
||
|
||
# A list of CM sites whose placements will be synced to DV360 as creatives. If
|
||
# absent or empty in CreateAdvertiser method, the system will automatically
|
||
# create a CM site. Removing sites from this list may cause DV360 creatives
|
||
# synced from CM to be deleted. At least one site must be specified.
|
||
# Corresponds to the JSON property `cmSyncableSiteIds`
|
||
# @return [Array<Fixnum>]
|
||
attr_accessor :cm_syncable_site_ids
|
||
|
||
# Whether or not to report DV360 cost to CM.
|
||
# Corresponds to the JSON property `dv360ToCmCostReportingEnabled`
|
||
# @return [Boolean]
|
||
attr_accessor :dv360_to_cm_cost_reporting_enabled
|
||
alias_method :dv360_to_cm_cost_reporting_enabled?, :dv360_to_cm_cost_reporting_enabled
|
||
|
||
# Whether or not to include DV360 data in CM data transfer reports.
|
||
# Corresponds to the JSON property `dv360ToCmDataSharingEnabled`
|
||
# @return [Boolean]
|
||
attr_accessor :dv360_to_cm_data_sharing_enabled
|
||
alias_method :dv360_to_cm_data_sharing_enabled?, :dv360_to_cm_data_sharing_enabled
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@cm_account_id = args[:cm_account_id] if args.key?(:cm_account_id)
|
||
@cm_floodlight_config_id = args[:cm_floodlight_config_id] if args.key?(:cm_floodlight_config_id)
|
||
@cm_floodlight_linking_authorized = args[:cm_floodlight_linking_authorized] if args.key?(:cm_floodlight_linking_authorized)
|
||
@cm_syncable_site_ids = args[:cm_syncable_site_ids] if args.key?(:cm_syncable_site_ids)
|
||
@dv360_to_cm_cost_reporting_enabled = args[:dv360_to_cm_cost_reporting_enabled] if args.key?(:dv360_to_cm_cost_reporting_enabled)
|
||
@dv360_to_cm_data_sharing_enabled = args[:dv360_to_cm_data_sharing_enabled] if args.key?(:dv360_to_cm_data_sharing_enabled)
|
||
end
|
||
end
|
||
|
||
# A Campaign Manager tracking ad.
|
||
class CmTrackingAd
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The ad ID of the campaign manager tracking Ad.
|
||
# Corresponds to the JSON property `cmAdId`
|
||
# @return [Fixnum]
|
||
attr_accessor :cm_ad_id
|
||
|
||
# The creative ID of the campaign manager tracking Ad.
|
||
# Corresponds to the JSON property `cmCreativeId`
|
||
# @return [Fixnum]
|
||
attr_accessor :cm_creative_id
|
||
|
||
# The placement ID of the campaign manager tracking Ad.
|
||
# Corresponds to the JSON property `cmPlacementId`
|
||
# @return [Fixnum]
|
||
attr_accessor :cm_placement_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@cm_ad_id = args[:cm_ad_id] if args.key?(:cm_ad_id)
|
||
@cm_creative_id = args[:cm_creative_id] if args.key?(:cm_creative_id)
|
||
@cm_placement_id = args[:cm_placement_id] if args.key?(:cm_placement_id)
|
||
end
|
||
end
|
||
|
||
# Describes a combined audience resource.
|
||
class CombinedAudience
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The unique ID of the combined audience. Assigned by the system.
|
||
# Corresponds to the JSON property `combinedAudienceId`
|
||
# @return [Fixnum]
|
||
attr_accessor :combined_audience_id
|
||
|
||
# Output only. The display name of the combined audience. .
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# Output only. The resource name of the combined audience.
|
||
# Corresponds to the JSON property `name`
|
||
# @return [String]
|
||
attr_accessor :name
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@combined_audience_id = args[:combined_audience_id] if args.key?(:combined_audience_id)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@name = args[:name] if args.key?(:name)
|
||
end
|
||
end
|
||
|
||
# Details of combined audience group. All combined audience targeting settings
|
||
# are logically ‘OR’ of each other.
|
||
class CombinedAudienceGroup
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. All combined audience targeting settings in combined audience group.
|
||
# Repeated settings with same id will be ignored. The number of combined
|
||
# audience settings should be no more than five, error will be thrown otherwise.
|
||
# Corresponds to the JSON property `settings`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::CombinedAudienceTargetingSetting>]
|
||
attr_accessor :settings
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@settings = args[:settings] if args.key?(:settings)
|
||
end
|
||
end
|
||
|
||
# Details of combined audience targeting setting.
|
||
class CombinedAudienceTargetingSetting
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. Combined audience id of combined audience targeting setting. This id
|
||
# is combined_audience_id.
|
||
# Corresponds to the JSON property `combinedAudienceId`
|
||
# @return [Fixnum]
|
||
attr_accessor :combined_audience_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@combined_audience_id = args[:combined_audience_id] if args.key?(:combined_audience_id)
|
||
end
|
||
end
|
||
|
||
# Assigned content instream position targeting option details. This will be
|
||
# populated in the content_instream_position_details field when targeting_type
|
||
# is `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.
|
||
class ContentInstreamPositionAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The content instream position for video or audio ads.
|
||
# Corresponds to the JSON property `contentInstreamPosition`
|
||
# @return [String]
|
||
attr_accessor :content_instream_position
|
||
|
||
# Required. The targeting_option_id field when targeting_type is `
|
||
# TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.
|
||
# Corresponds to the JSON property `targetingOptionId`
|
||
# @return [String]
|
||
attr_accessor :targeting_option_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@content_instream_position = args[:content_instream_position] if args.key?(:content_instream_position)
|
||
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
||
end
|
||
end
|
||
|
||
# Represents a targetable content instream position, which could be used by
|
||
# video and audio ads. This will be populated in the
|
||
# content_instream_position_details field when targeting_type is `
|
||
# TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.
|
||
class ContentInstreamPositionTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The content instream position.
|
||
# Corresponds to the JSON property `contentInstreamPosition`
|
||
# @return [String]
|
||
attr_accessor :content_instream_position
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@content_instream_position = args[:content_instream_position] if args.key?(:content_instream_position)
|
||
end
|
||
end
|
||
|
||
# Assigned content outstream position targeting option details. This will be
|
||
# populated in the content_outstream_position_details field when targeting_type
|
||
# is `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.
|
||
class ContentOutstreamPositionAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The content outstream position.
|
||
# Corresponds to the JSON property `contentOutstreamPosition`
|
||
# @return [String]
|
||
attr_accessor :content_outstream_position
|
||
|
||
# Required. The targeting_option_id field when targeting_type is `
|
||
# TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.
|
||
# Corresponds to the JSON property `targetingOptionId`
|
||
# @return [String]
|
||
attr_accessor :targeting_option_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@content_outstream_position = args[:content_outstream_position] if args.key?(:content_outstream_position)
|
||
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
||
end
|
||
end
|
||
|
||
# Represents a targetable content outstream position, which could be used by
|
||
# display and video ads. This will be populated in the
|
||
# content_outstream_position_details field when targeting_type is `
|
||
# TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.
|
||
class ContentOutstreamPositionTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The content outstream position.
|
||
# Corresponds to the JSON property `contentOutstreamPosition`
|
||
# @return [String]
|
||
attr_accessor :content_outstream_position
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@content_outstream_position = args[:content_outstream_position] if args.key?(:content_outstream_position)
|
||
end
|
||
end
|
||
|
||
# Settings that control how conversions are counted. All post-click conversions
|
||
# will be counted. A percentage value can be set for post-view conversions
|
||
# counting.
|
||
class ConversionCountingConfig
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The Floodlight activity configs used to track conversions. The number of
|
||
# conversions counted is the sum of all of the conversions counted by all of the
|
||
# Floodlight activity IDs specified in this field.
|
||
# Corresponds to the JSON property `floodlightActivityConfigs`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::TrackingFloodlightActivityConfig>]
|
||
attr_accessor :floodlight_activity_configs
|
||
|
||
# The percentage of post-view conversions to count, in millis (1/1000 of a
|
||
# percent). Must be between 0 and 100000 inclusive. For example, to track 50% of
|
||
# the post-click conversions, set a value of 50000.
|
||
# Corresponds to the JSON property `postViewCountPercentageMillis`
|
||
# @return [Fixnum]
|
||
attr_accessor :post_view_count_percentage_millis
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@floodlight_activity_configs = args[:floodlight_activity_configs] if args.key?(:floodlight_activity_configs)
|
||
@post_view_count_percentage_millis = args[:post_view_count_percentage_millis] if args.key?(:post_view_count_percentage_millis)
|
||
end
|
||
end
|
||
|
||
# Counter event of the creative.
|
||
class CounterEvent
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. The name of the counter event.
|
||
# Corresponds to the JSON property `name`
|
||
# @return [String]
|
||
attr_accessor :name
|
||
|
||
# Required. The name used to identify this counter event in reports.
|
||
# Corresponds to the JSON property `reportingName`
|
||
# @return [String]
|
||
attr_accessor :reporting_name
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@name = args[:name] if args.key?(:name)
|
||
@reporting_name = args[:reporting_name] if args.key?(:reporting_name)
|
||
end
|
||
end
|
||
|
||
# A request message for CreateAsset.
|
||
class CreateAssetRequest
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. The filename of the asset, including the file extension. The
|
||
# filename must be UTF-8 encoded with a maximum size of 240 bytes.
|
||
# Corresponds to the JSON property `filename`
|
||
# @return [String]
|
||
attr_accessor :filename
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@filename = args[:filename] if args.key?(:filename)
|
||
end
|
||
end
|
||
|
||
# A response message for CreateAsset.
|
||
class CreateAssetResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# A single asset.
|
||
# Corresponds to the JSON property `asset`
|
||
# @return [Google::Apis::DisplayvideoV1::Asset]
|
||
attr_accessor :asset
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@asset = args[:asset] if args.key?(:asset)
|
||
end
|
||
end
|
||
|
||
# A request listing which assigned targeting options of a given targeting type
|
||
# should be created and added.
|
||
class CreateAssignedTargetingOptionsRequest
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. The assigned targeting options to create and add.
|
||
# Corresponds to the JSON property `assignedTargetingOptions`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::AssignedTargetingOption>]
|
||
attr_accessor :assigned_targeting_options
|
||
|
||
# Required. Identifies the type of this assigned targeting option.
|
||
# Corresponds to the JSON property `targetingType`
|
||
# @return [String]
|
||
attr_accessor :targeting_type
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@assigned_targeting_options = args[:assigned_targeting_options] if args.key?(:assigned_targeting_options)
|
||
@targeting_type = args[:targeting_type] if args.key?(:targeting_type)
|
||
end
|
||
end
|
||
|
||
# Request message for [SdfDownloadTaskService.CreateSdfDownloadTask].
|
||
class CreateSdfDownloadTaskRequest
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The ID of the advertiser to download SDF for.
|
||
# Corresponds to the JSON property `advertiserId`
|
||
# @return [Fixnum]
|
||
attr_accessor :advertiser_id
|
||
|
||
# A filtering option that filters entities by their entity IDs.
|
||
# Corresponds to the JSON property `idFilter`
|
||
# @return [Google::Apis::DisplayvideoV1::IdFilter]
|
||
attr_accessor :id_filter
|
||
|
||
# A filtering option for filtering on Inventory Source entities.
|
||
# Corresponds to the JSON property `inventorySourceFilter`
|
||
# @return [Google::Apis::DisplayvideoV1::InventorySourceFilter]
|
||
attr_accessor :inventory_source_filter
|
||
|
||
# A filtering option that filters on selected file types belonging to a chosen
|
||
# set of filter entities.
|
||
# Corresponds to the JSON property `parentEntityFilter`
|
||
# @return [Google::Apis::DisplayvideoV1::ParentEntityFilter]
|
||
attr_accessor :parent_entity_filter
|
||
|
||
# The ID of the partner to download SDF for.
|
||
# Corresponds to the JSON property `partnerId`
|
||
# @return [Fixnum]
|
||
attr_accessor :partner_id
|
||
|
||
# Required. The SDF version of the downloaded file. If set to `
|
||
# SDF_VERSION_UNSPECIFIED`, this will default to the version specified by the
|
||
# advertiser or partner identified by `root_id`. An advertiser inherits its SDF
|
||
# version from its partner unless configured otherwise.
|
||
# Corresponds to the JSON property `version`
|
||
# @return [String]
|
||
attr_accessor :version
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
|
||
@id_filter = args[:id_filter] if args.key?(:id_filter)
|
||
@inventory_source_filter = args[:inventory_source_filter] if args.key?(:inventory_source_filter)
|
||
@parent_entity_filter = args[:parent_entity_filter] if args.key?(:parent_entity_filter)
|
||
@partner_id = args[:partner_id] if args.key?(:partner_id)
|
||
@version = args[:version] if args.key?(:version)
|
||
end
|
||
end
|
||
|
||
# A single Creative.
|
||
class Creative
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Additional dimensions. Applicable when creative_type is one of: * `
|
||
# CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE` * `CREATIVE_TYPE_NATIVE` *
|
||
# `CREATIVE_TYPE_TEMPLATED_APP_INSTALL` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `
|
||
# CREATIVE_TYPE_LIGHTBOX` * `CREATIVE_TYPE_NATIVE_APP_INSTALL` * `
|
||
# CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` * `CREATIVE_TYPE_PUBLISHER_HOSTED` If
|
||
# this field is specified, width_pixels and height_pixels are both required and
|
||
# must be greater than or equal to 0.
|
||
# Corresponds to the JSON property `additionalDimensions`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::Dimensions>]
|
||
attr_accessor :additional_dimensions
|
||
|
||
# Output only. The unique ID of the advertiser the creative belongs to.
|
||
# Corresponds to the JSON property `advertiserId`
|
||
# @return [Fixnum]
|
||
attr_accessor :advertiser_id
|
||
|
||
# Third-party HTML tracking tag to be appended to the creative tag.
|
||
# Corresponds to the JSON property `appendedTag`
|
||
# @return [String]
|
||
attr_accessor :appended_tag
|
||
|
||
# Required. Assets associated to this creative. Assets can be associated to the
|
||
# creative in one of following roles: * `ASSET_ROLE_UNSPECIFIED` * `
|
||
# ASSET_ROLE_MAIN` * `ASSET_ROLE_BACKUP` * `ASSET_ROLE_POLITE_LOAD`
|
||
# Corresponds to the JSON property `assets`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::AssetAssociation>]
|
||
attr_accessor :assets
|
||
|
||
# Output only. The unique ID of the Campaign Manager placement associated with
|
||
# the creative. This field is only applicable for creatives that are synced from
|
||
# Campaign Manager.
|
||
# Corresponds to the JSON property `cmPlacementId`
|
||
# @return [Fixnum]
|
||
attr_accessor :cm_placement_id
|
||
|
||
# A Campaign Manager tracking ad.
|
||
# Corresponds to the JSON property `cmTrackingAd`
|
||
# @return [Google::Apis::DisplayvideoV1::CmTrackingAd]
|
||
attr_accessor :cm_tracking_ad
|
||
|
||
# The IDs of companion creatives for a video creative. You can assign existing
|
||
# display creatives (with image or HTML5 assets) to serve surrounding the
|
||
# publisher's video player. Companions display around the video player while the
|
||
# video is playing and remain after the video has completed. Creatives contain
|
||
# additional dimensions can not be companion creatives. This field is only
|
||
# supported for following creative_type: * `CREATIVE_TYPE_AUDIO` * `
|
||
# CREATIVE_TYPE_VIDEO`
|
||
# Corresponds to the JSON property `companionCreativeIds`
|
||
# @return [Array<Fixnum>]
|
||
attr_accessor :companion_creative_ids
|
||
|
||
# Counter events for a rich media creative. Counters track the number of times
|
||
# that a user interacts with any part of a rich media creative in a specified
|
||
# way (mouse-overs, mouse-outs, clicks, taps, data loading, keyboard entries,
|
||
# etc.). Any event that can be captured in the creative can be recorded as a
|
||
# counter. Leave it empty or unset for creatives containing image assets only.
|
||
# Corresponds to the JSON property `counterEvents`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::CounterEvent>]
|
||
attr_accessor :counter_events
|
||
|
||
# Output only. The timestamp when the creative was created. Assigned by the
|
||
# system.
|
||
# Corresponds to the JSON property `createTime`
|
||
# @return [String]
|
||
attr_accessor :create_time
|
||
|
||
# Output only. A list of attributes of the creative that is generated by the
|
||
# system.
|
||
# Corresponds to the JSON property `creativeAttributes`
|
||
# @return [Array<String>]
|
||
attr_accessor :creative_attributes
|
||
|
||
# Output only. The unique ID of the creative. Assigned by the system.
|
||
# Corresponds to the JSON property `creativeId`
|
||
# @return [Fixnum]
|
||
attr_accessor :creative_id
|
||
|
||
# Required. Immutable. The type of the creative.
|
||
# Corresponds to the JSON property `creativeType`
|
||
# @return [String]
|
||
attr_accessor :creative_type
|
||
|
||
# Dimensions.
|
||
# Corresponds to the JSON property `dimensions`
|
||
# @return [Google::Apis::DisplayvideoV1::Dimensions]
|
||
attr_accessor :dimensions
|
||
|
||
# Required. The display name of the creative. Must be UTF-8 encoded with a
|
||
# maximum size of 240 bytes.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# Output only. Indicates whether the creative is dynamic.
|
||
# Corresponds to the JSON property `dynamic`
|
||
# @return [Boolean]
|
||
attr_accessor :dynamic
|
||
alias_method :dynamic?, :dynamic
|
||
|
||
# Required. Controls whether or not the creative can serve. Accepted values are:
|
||
# * `ENTITY_STATUS_ACTIVE` * `ENTITY_STATUS_ARCHIVED` * `ENTITY_STATUS_PAUSED`
|
||
# Corresponds to the JSON property `entityStatus`
|
||
# @return [String]
|
||
attr_accessor :entity_status
|
||
|
||
# Required. Exit events for this creative. An exit (also known as a click tag)
|
||
# is any area in your creative that someone can click or tap to open an
|
||
# advertiser's landing page. Every creative must include at least one exit. You
|
||
# can add an exit to your creative in any of the following ways: * Use Google
|
||
# Web Designer's tap area. * Define a JavaScript variable called "clickTag". *
|
||
# Use the Enabler (Enabler.exit()) to track exits in rich media formats.
|
||
# Corresponds to the JSON property `exitEvents`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::ExitEvent>]
|
||
attr_accessor :exit_events
|
||
|
||
# Optional. Indicates the creative will automatically expand on hover. Optional
|
||
# and only valid for third-party expandable creatives. Third-party expandable
|
||
# creatives are creatives with following hosting source: * `
|
||
# HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `
|
||
# CREATIVE_TYPE_EXPANDABLE`
|
||
# Corresponds to the JSON property `expandOnHover`
|
||
# @return [Boolean]
|
||
attr_accessor :expand_on_hover
|
||
alias_method :expand_on_hover?, :expand_on_hover
|
||
|
||
# Optional. Specifies the expanding direction of the creative. Required and only
|
||
# valid for third-party expandable creatives. Third-party expandable creatives
|
||
# are creatives with following hosting source: * `HOSTING_SOURCE_THIRD_PARTY`
|
||
# combined with following creative_type: * `CREATIVE_TYPE_EXPANDABLE`
|
||
# Corresponds to the JSON property `expandingDirection`
|
||
# @return [String]
|
||
attr_accessor :expanding_direction
|
||
|
||
# Required. Indicates where the creative is hosted.
|
||
# Corresponds to the JSON property `hostingSource`
|
||
# @return [String]
|
||
attr_accessor :hosting_source
|
||
|
||
# Output only. Indicates the third-party VAST tag creative requires HTML5 Video
|
||
# support. Output only and only valid for third-party VAST tag creatives. Third-
|
||
# party VAST tag creatives are creatives with following hosting_source: * `
|
||
# HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `
|
||
# CREATIVE_TYPE_VIDEO`
|
||
# Corresponds to the JSON property `html5Video`
|
||
# @return [Boolean]
|
||
attr_accessor :html5_video
|
||
alias_method :html5_video?, :html5_video
|
||
|
||
# Indicates whether Integral Ad Science (IAS) campaign monitoring is enabled. To
|
||
# enable this for the creative, make sure the Advertiser.creative_config.
|
||
# ias_client_id has been set to your IAS client ID.
|
||
# Corresponds to the JSON property `iasCampaignMonitoring`
|
||
# @return [Boolean]
|
||
attr_accessor :ias_campaign_monitoring
|
||
alias_method :ias_campaign_monitoring?, :ias_campaign_monitoring
|
||
|
||
# ID information used to link this creative to an external system. Must be UTF-8
|
||
# encoded with a length of no more than 10,000 characters.
|
||
# Corresponds to the JSON property `integrationCode`
|
||
# @return [String]
|
||
attr_accessor :integration_code
|
||
|
||
# JavaScript measurement URL from supported third-party verification providers (
|
||
# ComScore, DoubleVerify, IAS, Moat). HTML script tags are not supported. This
|
||
# field is only supported in following creative_type: * `CREATIVE_TYPE_NATIVE` *
|
||
# `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_APP_INSTALL` * `
|
||
# CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`
|
||
# Corresponds to the JSON property `jsTrackerUrl`
|
||
# @return [String]
|
||
attr_accessor :js_tracker_url
|
||
|
||
# Output only. The IDs of the line items this creative is associated with. To
|
||
# associate a creative to a line item, use LineItem.creative_ids instead.
|
||
# Corresponds to the JSON property `lineItemIds`
|
||
# @return [Array<Fixnum>]
|
||
attr_accessor :line_item_ids
|
||
|
||
# Output only. Media duration of the creative. Applicable when creative_type is
|
||
# one of: * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_AUDIO` * `
|
||
# CREATIVE_TYPE_NATIVE_VIDEO` * `CREATIVE_TYPE_PUBLISHER_HOSTED`
|
||
# Corresponds to the JSON property `mediaDuration`
|
||
# @return [String]
|
||
attr_accessor :media_duration
|
||
|
||
# Output only. The resource name of the creative.
|
||
# Corresponds to the JSON property `name`
|
||
# @return [String]
|
||
attr_accessor :name
|
||
|
||
# User notes for this creative. Must be UTF-8 encoded with a length of no more
|
||
# than 20,000 characters.
|
||
# Corresponds to the JSON property `notes`
|
||
# @return [String]
|
||
attr_accessor :notes
|
||
|
||
# OBA Icon for a Creative
|
||
# Corresponds to the JSON property `obaIcon`
|
||
# @return [Google::Apis::DisplayvideoV1::ObaIcon]
|
||
attr_accessor :oba_icon
|
||
|
||
# The length an audio or a video has been played.
|
||
# Corresponds to the JSON property `progressOffset`
|
||
# @return [Google::Apis::DisplayvideoV1::AudioVideoOffset]
|
||
attr_accessor :progress_offset
|
||
|
||
# Optional. Indicates that the creative relies on HTML5 to render properly.
|
||
# Optional and only valid for third-party tag creatives. Third-party tag
|
||
# creatives are creatives with following hosting_source: * `
|
||
# HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `
|
||
# CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE`
|
||
# Corresponds to the JSON property `requireHtml5`
|
||
# @return [Boolean]
|
||
attr_accessor :require_html5
|
||
alias_method :require_html5?, :require_html5
|
||
|
||
# Optional. Indicates that the creative requires MRAID (Mobile Rich Media Ad
|
||
# Interface Definitions system). Set this if the creative relies on mobile
|
||
# gestures for interactivity, such as swiping or tapping. Optional and only
|
||
# valid for third-party tag creatives. Third-party tag creatives are creatives
|
||
# with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with
|
||
# following creative_type: * `CREATIVE_TYPE_STANDARD` * `
|
||
# CREATIVE_TYPE_EXPANDABLE`
|
||
# Corresponds to the JSON property `requireMraid`
|
||
# @return [Boolean]
|
||
attr_accessor :require_mraid
|
||
alias_method :require_mraid?, :require_mraid
|
||
|
||
# Optional. Indicates that the creative will wait for a return ping for
|
||
# attribution. Only valid when using a Campaign Manager tracking ad with a third-
|
||
# party ad server parameter and the $`DC_DBM_TOKEN` macro. Optional and only
|
||
# valid for third-party tag creatives or third-party VAST tag creatives. Third-
|
||
# party tag creatives are creatives with following hosting_source: * `
|
||
# HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `
|
||
# CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE` Third-party VAST tag
|
||
# creatives are creatives with following hosting_source: * `
|
||
# HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `
|
||
# CREATIVE_TYPE_VIDEO`
|
||
# Corresponds to the JSON property `requirePingForAttribution`
|
||
# @return [Boolean]
|
||
attr_accessor :require_ping_for_attribution
|
||
alias_method :require_ping_for_attribution?, :require_ping_for_attribution
|
||
|
||
# Review statuses for the creative.
|
||
# Corresponds to the JSON property `reviewStatus`
|
||
# @return [Google::Apis::DisplayvideoV1::ReviewStatusInfo]
|
||
attr_accessor :review_status
|
||
|
||
# The length an audio or a video has been played.
|
||
# Corresponds to the JSON property `skipOffset`
|
||
# @return [Google::Apis::DisplayvideoV1::AudioVideoOffset]
|
||
attr_accessor :skip_offset
|
||
|
||
# Whether the user can choose to skip a video creative. This field is only
|
||
# supported for the following creative_type: * `CREATIVE_TYPE_VIDEO`
|
||
# Corresponds to the JSON property `skippable`
|
||
# @return [Boolean]
|
||
attr_accessor :skippable
|
||
alias_method :skippable?, :skippable
|
||
|
||
# Optional. The original third-party tag used for the creative. Required and
|
||
# only valid for third-party tag creatives. Third-party tag creatives are
|
||
# creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY`
|
||
# combined with following creative_type: * `CREATIVE_TYPE_STANDARD` * `
|
||
# CREATIVE_TYPE_EXPANDABLE`
|
||
# Corresponds to the JSON property `thirdPartyTag`
|
||
# @return [String]
|
||
attr_accessor :third_party_tag
|
||
|
||
# Tracking URLs from third parties to track interactions with a video creative.
|
||
# This field is only supported for the following creative_type: * `
|
||
# CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO`
|
||
# Corresponds to the JSON property `thirdPartyUrls`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::ThirdPartyUrl>]
|
||
attr_accessor :third_party_urls
|
||
|
||
# Timer custom events for a rich media creative. Timers track the time during
|
||
# which a user views and interacts with a specified part of a rich media
|
||
# creative. A creative can have multiple timer events, each timed independently.
|
||
# Leave it empty or unset for creatives containing image assets only.
|
||
# Corresponds to the JSON property `timerEvents`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::TimerEvent>]
|
||
attr_accessor :timer_events
|
||
|
||
# Tracking URLs for analytics providers or third-party ad technology vendors.
|
||
# The URLs must start with https (except on inventory that doesn't require SSL
|
||
# compliance). If using macros in your URL, use only macros supported by Display
|
||
# & Video 360. Standard URLs only, no IMG or SCRIPT tags. This field is only
|
||
# supported in following creative_type: * `CREATIVE_TYPE_NATIVE` * `
|
||
# CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_APP_INSTALL` * `
|
||
# CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`
|
||
# Corresponds to the JSON property `trackerUrls`
|
||
# @return [Array<String>]
|
||
attr_accessor :tracker_urls
|
||
|
||
# Output only. Audio/Video transcodes. Display & Video 360 transcodes the main
|
||
# asset into a number of alternative versions that use different file formats or
|
||
# have different properties (resolution, audio bit rate, and video bit rate),
|
||
# each designed for specific video players or bandwidths. These transcodes give
|
||
# a publisher's system more options to choose from for each impression on your
|
||
# video and ensures that the appropriate file serves based on the viewer’s
|
||
# connection and screen size. This field is only supported in following
|
||
# creative_type: * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO` * `
|
||
# CREATIVE_TYPE_AUDIO`
|
||
# Corresponds to the JSON property `transcodes`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::Transcode>]
|
||
attr_accessor :transcodes
|
||
|
||
# A creative identifier provided by a registry that is unique across all
|
||
# platforms. This is part of the VAST 4.0 standard.
|
||
# Corresponds to the JSON property `universalAdId`
|
||
# @return [Google::Apis::DisplayvideoV1::UniversalAdId]
|
||
attr_accessor :universal_ad_id
|
||
|
||
# Output only. The timestamp when the creative was last updated. Assigned by the
|
||
# system.
|
||
# Corresponds to the JSON property `updateTime`
|
||
# @return [String]
|
||
attr_accessor :update_time
|
||
|
||
# Optional. The URL of the VAST tag for a third-party VAST tag creative.
|
||
# Required and only valid for third-party VAST tag creatives. Third-party VAST
|
||
# tag creatives are creatives with following hosting_source: * `
|
||
# HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `
|
||
# CREATIVE_TYPE_VIDEO`
|
||
# Corresponds to the JSON property `vastTagUrl`
|
||
# @return [String]
|
||
attr_accessor :vast_tag_url
|
||
|
||
# Output only. Indicates the third-party VAST tag creative requires VPAID (
|
||
# Digital Video Player-Ad Interface). Output only and only valid for third-party
|
||
# VAST tag creatives. Third-party VAST tag creatives are creatives with
|
||
# following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with
|
||
# following creative_type: * `CREATIVE_TYPE_VIDEO`
|
||
# Corresponds to the JSON property `vpaid`
|
||
# @return [Boolean]
|
||
attr_accessor :vpaid
|
||
alias_method :vpaid?, :vpaid
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@additional_dimensions = args[:additional_dimensions] if args.key?(:additional_dimensions)
|
||
@advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
|
||
@appended_tag = args[:appended_tag] if args.key?(:appended_tag)
|
||
@assets = args[:assets] if args.key?(:assets)
|
||
@cm_placement_id = args[:cm_placement_id] if args.key?(:cm_placement_id)
|
||
@cm_tracking_ad = args[:cm_tracking_ad] if args.key?(:cm_tracking_ad)
|
||
@companion_creative_ids = args[:companion_creative_ids] if args.key?(:companion_creative_ids)
|
||
@counter_events = args[:counter_events] if args.key?(:counter_events)
|
||
@create_time = args[:create_time] if args.key?(:create_time)
|
||
@creative_attributes = args[:creative_attributes] if args.key?(:creative_attributes)
|
||
@creative_id = args[:creative_id] if args.key?(:creative_id)
|
||
@creative_type = args[:creative_type] if args.key?(:creative_type)
|
||
@dimensions = args[:dimensions] if args.key?(:dimensions)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@dynamic = args[:dynamic] if args.key?(:dynamic)
|
||
@entity_status = args[:entity_status] if args.key?(:entity_status)
|
||
@exit_events = args[:exit_events] if args.key?(:exit_events)
|
||
@expand_on_hover = args[:expand_on_hover] if args.key?(:expand_on_hover)
|
||
@expanding_direction = args[:expanding_direction] if args.key?(:expanding_direction)
|
||
@hosting_source = args[:hosting_source] if args.key?(:hosting_source)
|
||
@html5_video = args[:html5_video] if args.key?(:html5_video)
|
||
@ias_campaign_monitoring = args[:ias_campaign_monitoring] if args.key?(:ias_campaign_monitoring)
|
||
@integration_code = args[:integration_code] if args.key?(:integration_code)
|
||
@js_tracker_url = args[:js_tracker_url] if args.key?(:js_tracker_url)
|
||
@line_item_ids = args[:line_item_ids] if args.key?(:line_item_ids)
|
||
@media_duration = args[:media_duration] if args.key?(:media_duration)
|
||
@name = args[:name] if args.key?(:name)
|
||
@notes = args[:notes] if args.key?(:notes)
|
||
@oba_icon = args[:oba_icon] if args.key?(:oba_icon)
|
||
@progress_offset = args[:progress_offset] if args.key?(:progress_offset)
|
||
@require_html5 = args[:require_html5] if args.key?(:require_html5)
|
||
@require_mraid = args[:require_mraid] if args.key?(:require_mraid)
|
||
@require_ping_for_attribution = args[:require_ping_for_attribution] if args.key?(:require_ping_for_attribution)
|
||
@review_status = args[:review_status] if args.key?(:review_status)
|
||
@skip_offset = args[:skip_offset] if args.key?(:skip_offset)
|
||
@skippable = args[:skippable] if args.key?(:skippable)
|
||
@third_party_tag = args[:third_party_tag] if args.key?(:third_party_tag)
|
||
@third_party_urls = args[:third_party_urls] if args.key?(:third_party_urls)
|
||
@timer_events = args[:timer_events] if args.key?(:timer_events)
|
||
@tracker_urls = args[:tracker_urls] if args.key?(:tracker_urls)
|
||
@transcodes = args[:transcodes] if args.key?(:transcodes)
|
||
@universal_ad_id = args[:universal_ad_id] if args.key?(:universal_ad_id)
|
||
@update_time = args[:update_time] if args.key?(:update_time)
|
||
@vast_tag_url = args[:vast_tag_url] if args.key?(:vast_tag_url)
|
||
@vpaid = args[:vpaid] if args.key?(:vpaid)
|
||
end
|
||
end
|
||
|
||
# Creative requirements configuration for the inventory source.
|
||
class CreativeConfig
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The type of creative that can be assigned to the inventory source.
|
||
# Corresponds to the JSON property `creativeType`
|
||
# @return [String]
|
||
attr_accessor :creative_type
|
||
|
||
# The configuration for display creatives.
|
||
# Corresponds to the JSON property `displayCreativeConfig`
|
||
# @return [Google::Apis::DisplayvideoV1::InventorySourceDisplayCreativeConfig]
|
||
attr_accessor :display_creative_config
|
||
|
||
# The configuration for video creatives.
|
||
# Corresponds to the JSON property `videoCreativeConfig`
|
||
# @return [Google::Apis::DisplayvideoV1::InventorySourceVideoCreativeConfig]
|
||
attr_accessor :video_creative_config
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@creative_type = args[:creative_type] if args.key?(:creative_type)
|
||
@display_creative_config = args[:display_creative_config] if args.key?(:display_creative_config)
|
||
@video_creative_config = args[:video_creative_config] if args.key?(:video_creative_config)
|
||
end
|
||
end
|
||
|
||
# A single custom bidding algorithm.
|
||
class CustomBiddingAlgorithm
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Immutable. The unique ID of the advertiser that owns the custom bidding
|
||
# algorithm.
|
||
# Corresponds to the JSON property `advertiserId`
|
||
# @return [Fixnum]
|
||
attr_accessor :advertiser_id
|
||
|
||
# Output only. The unique ID of the custom bidding algorithm. Assigned by the
|
||
# system.
|
||
# Corresponds to the JSON property `customBiddingAlgorithmId`
|
||
# @return [Fixnum]
|
||
attr_accessor :custom_bidding_algorithm_id
|
||
|
||
# Required. Immutable. The type of custom bidding algorithm.
|
||
# Corresponds to the JSON property `customBiddingAlgorithmType`
|
||
# @return [String]
|
||
attr_accessor :custom_bidding_algorithm_type
|
||
|
||
# Required. The display name of the custom bidding algorithm. Must be UTF-8
|
||
# encoded with a maximum size of 240 bytes.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# Controls whether or not the custom bidding algorithm can be used as a bidding
|
||
# strategy. Accepted values are: * `ENTITY_STATUS_ACTIVE` * `
|
||
# ENTITY_STATUS_ARCHIVED`
|
||
# Corresponds to the JSON property `entityStatus`
|
||
# @return [String]
|
||
attr_accessor :entity_status
|
||
|
||
# Output only. The resource name of the custom bidding algorithm.
|
||
# Corresponds to the JSON property `name`
|
||
# @return [String]
|
||
attr_accessor :name
|
||
|
||
# Immutable. The unique ID of the partner that owns the custom bidding algorithm.
|
||
# Corresponds to the JSON property `partnerId`
|
||
# @return [Fixnum]
|
||
attr_accessor :partner_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
|
||
@custom_bidding_algorithm_id = args[:custom_bidding_algorithm_id] if args.key?(:custom_bidding_algorithm_id)
|
||
@custom_bidding_algorithm_type = args[:custom_bidding_algorithm_type] if args.key?(:custom_bidding_algorithm_type)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@entity_status = args[:entity_status] if args.key?(:entity_status)
|
||
@name = args[:name] if args.key?(:name)
|
||
@partner_id = args[:partner_id] if args.key?(:partner_id)
|
||
end
|
||
end
|
||
|
||
# Describes a custom list entity, such as a custom affinity or custom intent
|
||
# audience list.
|
||
class CustomList
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The unique ID of the custom list. Assigned by the system.
|
||
# Corresponds to the JSON property `customListId`
|
||
# @return [Fixnum]
|
||
attr_accessor :custom_list_id
|
||
|
||
# Output only. The display name of the custom list. .
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# Output only. The resource name of the custom list.
|
||
# Corresponds to the JSON property `name`
|
||
# @return [String]
|
||
attr_accessor :name
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@custom_list_id = args[:custom_list_id] if args.key?(:custom_list_id)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@name = args[:name] if args.key?(:name)
|
||
end
|
||
end
|
||
|
||
# Details of custom list group. All custom list targeting settings are logically
|
||
# ‘OR’ of each other.
|
||
class CustomListGroup
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. All custom list targeting settings in custom list group. Repeated
|
||
# settings with same id will be ignored.
|
||
# Corresponds to the JSON property `settings`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::CustomListTargetingSetting>]
|
||
attr_accessor :settings
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@settings = args[:settings] if args.key?(:settings)
|
||
end
|
||
end
|
||
|
||
# Details of custom list targeting setting.
|
||
class CustomListTargetingSetting
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. Custom id of custom list targeting setting. This id is
|
||
# custom_list_id.
|
||
# Corresponds to the JSON property `customListId`
|
||
# @return [Fixnum]
|
||
attr_accessor :custom_list_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@custom_list_id = args[:custom_list_id] if args.key?(:custom_list_id)
|
||
end
|
||
end
|
||
|
||
# Represents a whole or partial calendar date, e.g. a birthday. The time of day
|
||
# and time zone are either specified elsewhere or are not significant. The date
|
||
# is relative to the Proleptic Gregorian Calendar. This can represent: * A full
|
||
# date, with non-zero year, month and day values * A month and day value, with a
|
||
# zero year, e.g. an anniversary * A year on its own, with zero month and day
|
||
# values * A year and month value, with a zero day, e.g. a credit card
|
||
# expiration date Related types are google.type.TimeOfDay and `google.protobuf.
|
||
# Timestamp`.
|
||
class Date
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if
|
||
# specifying a year by itself or a year and month where the day is not
|
||
# significant.
|
||
# Corresponds to the JSON property `day`
|
||
# @return [Fixnum]
|
||
attr_accessor :day
|
||
|
||
# Month of year. Must be from 1 to 12, or 0 if specifying a year without a month
|
||
# and day.
|
||
# Corresponds to the JSON property `month`
|
||
# @return [Fixnum]
|
||
attr_accessor :month
|
||
|
||
# Year of date. Must be from 1 to 9999, or 0 if specifying a date without a year.
|
||
# Corresponds to the JSON property `year`
|
||
# @return [Fixnum]
|
||
attr_accessor :year
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@day = args[:day] if args.key?(:day)
|
||
@month = args[:month] if args.key?(:month)
|
||
@year = args[:year] if args.key?(:year)
|
||
end
|
||
end
|
||
|
||
# A date range.
|
||
class DateRange
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Represents a whole or partial calendar date, e.g. a birthday. The time of day
|
||
# and time zone are either specified elsewhere or are not significant. The date
|
||
# is relative to the Proleptic Gregorian Calendar. This can represent: * A full
|
||
# date, with non-zero year, month and day values * A month and day value, with a
|
||
# zero year, e.g. an anniversary * A year on its own, with zero month and day
|
||
# values * A year and month value, with a zero day, e.g. a credit card
|
||
# expiration date Related types are google.type.TimeOfDay and `google.protobuf.
|
||
# Timestamp`.
|
||
# Corresponds to the JSON property `endDate`
|
||
# @return [Google::Apis::DisplayvideoV1::Date]
|
||
attr_accessor :end_date
|
||
|
||
# Represents a whole or partial calendar date, e.g. a birthday. The time of day
|
||
# and time zone are either specified elsewhere or are not significant. The date
|
||
# is relative to the Proleptic Gregorian Calendar. This can represent: * A full
|
||
# date, with non-zero year, month and day values * A month and day value, with a
|
||
# zero year, e.g. an anniversary * A year on its own, with zero month and day
|
||
# values * A year and month value, with a zero day, e.g. a credit card
|
||
# expiration date Related types are google.type.TimeOfDay and `google.protobuf.
|
||
# Timestamp`.
|
||
# Corresponds to the JSON property `startDate`
|
||
# @return [Google::Apis::DisplayvideoV1::Date]
|
||
attr_accessor :start_date
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@end_date = args[:end_date] if args.key?(:end_date)
|
||
@start_date = args[:start_date] if args.key?(:start_date)
|
||
end
|
||
end
|
||
|
||
# Representation of a segment of time defined on a specific day of the week and
|
||
# with a start and end time. The time represented by `start_hour` must be before
|
||
# the time represented by `end_hour`.
|
||
class DayAndTimeAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. The day of the week for this day and time targeting setting.
|
||
# Corresponds to the JSON property `dayOfWeek`
|
||
# @return [String]
|
||
attr_accessor :day_of_week
|
||
|
||
# Required. The end hour for day and time targeting. Must be between 1 (1 hour
|
||
# after start of day) and 24 (end of day).
|
||
# Corresponds to the JSON property `endHour`
|
||
# @return [Fixnum]
|
||
attr_accessor :end_hour
|
||
|
||
# Required. The start hour for day and time targeting. Must be between 0 (start
|
||
# of day) and 23 (1 hour before end of day).
|
||
# Corresponds to the JSON property `startHour`
|
||
# @return [Fixnum]
|
||
attr_accessor :start_hour
|
||
|
||
# Required. The mechanism used to determine which timezone to use for this day
|
||
# and time targeting setting.
|
||
# Corresponds to the JSON property `timeZoneResolution`
|
||
# @return [String]
|
||
attr_accessor :time_zone_resolution
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@day_of_week = args[:day_of_week] if args.key?(:day_of_week)
|
||
@end_hour = args[:end_hour] if args.key?(:end_hour)
|
||
@start_hour = args[:start_hour] if args.key?(:start_hour)
|
||
@time_zone_resolution = args[:time_zone_resolution] if args.key?(:time_zone_resolution)
|
||
end
|
||
end
|
||
|
||
# A request listing which assigned targeting options of a given targeting type
|
||
# should be deleted.
|
||
class DeleteAssignedTargetingOptionsRequest
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. The assigned targeting option IDs to delete.
|
||
# Corresponds to the JSON property `assignedTargetingOptionIds`
|
||
# @return [Array<String>]
|
||
attr_accessor :assigned_targeting_option_ids
|
||
|
||
# Required. Identifies the type of this assigned targeting option.
|
||
# Corresponds to the JSON property `targetingType`
|
||
# @return [String]
|
||
attr_accessor :targeting_type
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@assigned_targeting_option_ids = args[:assigned_targeting_option_ids] if args.key?(:assigned_targeting_option_ids)
|
||
@targeting_type = args[:targeting_type] if args.key?(:targeting_type)
|
||
end
|
||
end
|
||
|
||
# Assigned device make and model targeting option details. This will be
|
||
# populated in the device_make_model_details field when targeting_type is `
|
||
# TARGETING_TYPE_DEVICE_MAKE_MODEL`.
|
||
class DeviceMakeModelAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The display name of the device make and model.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# Indicates if this option is being negatively targeted.
|
||
# Corresponds to the JSON property `negative`
|
||
# @return [Boolean]
|
||
attr_accessor :negative
|
||
alias_method :negative?, :negative
|
||
|
||
# Required. The targeting_option_id field when targeting_type is `
|
||
# TARGETING_TYPE_DEVICE_MAKE_MODEL`.
|
||
# Corresponds to the JSON property `targetingOptionId`
|
||
# @return [String]
|
||
attr_accessor :targeting_option_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@negative = args[:negative] if args.key?(:negative)
|
||
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
||
end
|
||
end
|
||
|
||
# Represents a targetable device make and model. This will be populated in the
|
||
# device_make_model_details field of a TargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_DEVICE_MAKE_MODEL`.
|
||
class DeviceMakeModelTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The display name of the device make and model.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
end
|
||
end
|
||
|
||
# Targeting details for device type. This will be populated in the details field
|
||
# of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_DEVICE_TYPE`.
|
||
class DeviceTypeAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The display name of the device type.
|
||
# Corresponds to the JSON property `deviceType`
|
||
# @return [String]
|
||
attr_accessor :device_type
|
||
|
||
# Required. ID of the device type.
|
||
# Corresponds to the JSON property `targetingOptionId`
|
||
# @return [String]
|
||
attr_accessor :targeting_option_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@device_type = args[:device_type] if args.key?(:device_type)
|
||
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
||
end
|
||
end
|
||
|
||
# Represents a targetable device type. This will be populated in the
|
||
# device_type_details field of a TargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_DEVICE_TYPE`.
|
||
class DeviceTypeTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The device type that is used to be targeted.
|
||
# Corresponds to the JSON property `deviceType`
|
||
# @return [String]
|
||
attr_accessor :device_type
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@device_type = args[:device_type] if args.key?(:device_type)
|
||
end
|
||
end
|
||
|
||
# Targeting details for digital content label. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`.
|
||
class DigitalContentLabelAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The display name of the digital content label rating tier.
|
||
# Corresponds to the JSON property `contentRatingTier`
|
||
# @return [String]
|
||
attr_accessor :content_rating_tier
|
||
|
||
# Required. ID of the digital content label to be EXCLUDED.
|
||
# Corresponds to the JSON property `excludedTargetingOptionId`
|
||
# @return [String]
|
||
attr_accessor :excluded_targeting_option_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@content_rating_tier = args[:content_rating_tier] if args.key?(:content_rating_tier)
|
||
@excluded_targeting_option_id = args[:excluded_targeting_option_id] if args.key?(:excluded_targeting_option_id)
|
||
end
|
||
end
|
||
|
||
# Represents a targetable digital content label rating tier. This will be
|
||
# populated in the digital_content_label_details field of the TargetingOption
|
||
# when targeting_type is `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`.
|
||
class DigitalContentLabelTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. An enum for the content label brand safety tiers.
|
||
# Corresponds to the JSON property `contentRatingTier`
|
||
# @return [String]
|
||
attr_accessor :content_rating_tier
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@content_rating_tier = args[:content_rating_tier] if args.key?(:content_rating_tier)
|
||
end
|
||
end
|
||
|
||
# Dimensions.
|
||
class Dimensions
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The height in pixels.
|
||
# Corresponds to the JSON property `heightPixels`
|
||
# @return [Fixnum]
|
||
attr_accessor :height_pixels
|
||
|
||
# The width in pixels.
|
||
# Corresponds to the JSON property `widthPixels`
|
||
# @return [Fixnum]
|
||
attr_accessor :width_pixels
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@height_pixels = args[:height_pixels] if args.key?(:height_pixels)
|
||
@width_pixels = args[:width_pixels] if args.key?(:width_pixels)
|
||
end
|
||
end
|
||
|
||
# Details of DoubleVerify settings.
|
||
class DoubleVerify
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Details of DoubleVerify star ratings settings.
|
||
# Corresponds to the JSON property `appStarRating`
|
||
# @return [Google::Apis::DisplayvideoV1::DoubleVerifyAppStarRating]
|
||
attr_accessor :app_star_rating
|
||
|
||
# Avoid bidding on apps with the age rating.
|
||
# Corresponds to the JSON property `avoidedAgeRatings`
|
||
# @return [Array<String>]
|
||
attr_accessor :avoided_age_ratings
|
||
|
||
# Settings for brand safety controls.
|
||
# Corresponds to the JSON property `brandSafetyCategories`
|
||
# @return [Google::Apis::DisplayvideoV1::DoubleVerifyBrandSafetyCategories]
|
||
attr_accessor :brand_safety_categories
|
||
|
||
# Details of DoubleVerify display viewability settings.
|
||
# Corresponds to the JSON property `displayViewability`
|
||
# @return [Google::Apis::DisplayvideoV1::DoubleVerifyDisplayViewability]
|
||
attr_accessor :display_viewability
|
||
|
||
# DoubleVerify Fraud & Invalid Traffic settings.
|
||
# Corresponds to the JSON property `fraudInvalidTraffic`
|
||
# @return [Google::Apis::DisplayvideoV1::DoubleVerifyFraudInvalidTraffic]
|
||
attr_accessor :fraud_invalid_traffic
|
||
|
||
# Details of DoubleVerify video viewability settings.
|
||
# Corresponds to the JSON property `videoViewability`
|
||
# @return [Google::Apis::DisplayvideoV1::DoubleVerifyVideoViewability]
|
||
attr_accessor :video_viewability
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@app_star_rating = args[:app_star_rating] if args.key?(:app_star_rating)
|
||
@avoided_age_ratings = args[:avoided_age_ratings] if args.key?(:avoided_age_ratings)
|
||
@brand_safety_categories = args[:brand_safety_categories] if args.key?(:brand_safety_categories)
|
||
@display_viewability = args[:display_viewability] if args.key?(:display_viewability)
|
||
@fraud_invalid_traffic = args[:fraud_invalid_traffic] if args.key?(:fraud_invalid_traffic)
|
||
@video_viewability = args[:video_viewability] if args.key?(:video_viewability)
|
||
end
|
||
end
|
||
|
||
# Details of DoubleVerify star ratings settings.
|
||
class DoubleVerifyAppStarRating
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Avoid bidding on apps with insufficient star ratings.
|
||
# Corresponds to the JSON property `avoidInsufficientStarRating`
|
||
# @return [Boolean]
|
||
attr_accessor :avoid_insufficient_star_rating
|
||
alias_method :avoid_insufficient_star_rating?, :avoid_insufficient_star_rating
|
||
|
||
# Avoid bidding on apps with the star ratings.
|
||
# Corresponds to the JSON property `avoidedStarRating`
|
||
# @return [String]
|
||
attr_accessor :avoided_star_rating
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@avoid_insufficient_star_rating = args[:avoid_insufficient_star_rating] if args.key?(:avoid_insufficient_star_rating)
|
||
@avoided_star_rating = args[:avoided_star_rating] if args.key?(:avoided_star_rating)
|
||
end
|
||
end
|
||
|
||
# Settings for brand safety controls.
|
||
class DoubleVerifyBrandSafetyCategories
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Unknown or unrateable.
|
||
# Corresponds to the JSON property `avoidUnknownBrandSafetyCategory`
|
||
# @return [Boolean]
|
||
attr_accessor :avoid_unknown_brand_safety_category
|
||
alias_method :avoid_unknown_brand_safety_category?, :avoid_unknown_brand_safety_category
|
||
|
||
# Brand safety high severity avoidance categories.
|
||
# Corresponds to the JSON property `avoidedHighSeverityCategories`
|
||
# @return [Array<String>]
|
||
attr_accessor :avoided_high_severity_categories
|
||
|
||
# Brand safety medium severity avoidance categories.
|
||
# Corresponds to the JSON property `avoidedMediumSeverityCategories`
|
||
# @return [Array<String>]
|
||
attr_accessor :avoided_medium_severity_categories
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@avoid_unknown_brand_safety_category = args[:avoid_unknown_brand_safety_category] if args.key?(:avoid_unknown_brand_safety_category)
|
||
@avoided_high_severity_categories = args[:avoided_high_severity_categories] if args.key?(:avoided_high_severity_categories)
|
||
@avoided_medium_severity_categories = args[:avoided_medium_severity_categories] if args.key?(:avoided_medium_severity_categories)
|
||
end
|
||
end
|
||
|
||
# Details of DoubleVerify display viewability settings.
|
||
class DoubleVerifyDisplayViewability
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Target web and app inventory to maximize IAB viewable rate.
|
||
# Corresponds to the JSON property `iab`
|
||
# @return [String]
|
||
attr_accessor :iab
|
||
|
||
# Target web and app inventory to maximize 100% viewable duration.
|
||
# Corresponds to the JSON property `viewableDuring`
|
||
# @return [String]
|
||
attr_accessor :viewable_during
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@iab = args[:iab] if args.key?(:iab)
|
||
@viewable_during = args[:viewable_during] if args.key?(:viewable_during)
|
||
end
|
||
end
|
||
|
||
# DoubleVerify Fraud & Invalid Traffic settings.
|
||
class DoubleVerifyFraudInvalidTraffic
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Insufficient Historical Fraud & IVT Stats.
|
||
# Corresponds to the JSON property `avoidInsufficientOption`
|
||
# @return [Boolean]
|
||
attr_accessor :avoid_insufficient_option
|
||
alias_method :avoid_insufficient_option?, :avoid_insufficient_option
|
||
|
||
# Avoid Sites and Apps with historical Fraud & IVT.
|
||
# Corresponds to the JSON property `avoidedFraudOption`
|
||
# @return [String]
|
||
attr_accessor :avoided_fraud_option
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@avoid_insufficient_option = args[:avoid_insufficient_option] if args.key?(:avoid_insufficient_option)
|
||
@avoided_fraud_option = args[:avoided_fraud_option] if args.key?(:avoided_fraud_option)
|
||
end
|
||
end
|
||
|
||
# Details of DoubleVerify video viewability settings.
|
||
class DoubleVerifyVideoViewability
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Target inventory to maximize impressions with 400x300 or greater player size.
|
||
# Corresponds to the JSON property `playerImpressionRate`
|
||
# @return [String]
|
||
attr_accessor :player_impression_rate
|
||
|
||
# Target web inventory to maximize IAB viewable rate.
|
||
# Corresponds to the JSON property `videoIab`
|
||
# @return [String]
|
||
attr_accessor :video_iab
|
||
|
||
# Target web inventory to maximize fully viewable rate.
|
||
# Corresponds to the JSON property `videoViewableRate`
|
||
# @return [String]
|
||
attr_accessor :video_viewable_rate
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@player_impression_rate = args[:player_impression_rate] if args.key?(:player_impression_rate)
|
||
@video_iab = args[:video_iab] if args.key?(:video_iab)
|
||
@video_viewable_rate = args[:video_viewable_rate] if args.key?(:video_viewable_rate)
|
||
end
|
||
end
|
||
|
||
# A generic empty message that you can re-use to avoid defining duplicated empty
|
||
# messages in your APIs. A typical example is to use it as the request or the
|
||
# response type of an API method. For instance: service Foo ` rpc Bar(google.
|
||
# protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
|
||
# `Empty` is empty JSON object ````.
|
||
class Empty
|
||
include Google::Apis::Core::Hashable
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
end
|
||
end
|
||
|
||
# Assigned environment targeting option details. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_ENVIRONMENT`.
|
||
class EnvironmentAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The serving environment.
|
||
# Corresponds to the JSON property `environment`
|
||
# @return [String]
|
||
attr_accessor :environment
|
||
|
||
# Required. The targeting_option_id of a TargetingOption of type `
|
||
# TARGETING_TYPE_ENVIRONMENT` (e.g., "508010" for targeting the `
|
||
# ENVIRONMENT_WEB_OPTIMIZED` option).
|
||
# Corresponds to the JSON property `targetingOptionId`
|
||
# @return [String]
|
||
attr_accessor :targeting_option_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@environment = args[:environment] if args.key?(:environment)
|
||
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
||
end
|
||
end
|
||
|
||
# Represents a targetable environment. This will be populated in the
|
||
# environment_details field of a TargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_ENVIRONMENT`.
|
||
class EnvironmentTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The serving environment.
|
||
# Corresponds to the JSON property `environment`
|
||
# @return [String]
|
||
attr_accessor :environment
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@environment = args[:environment] if args.key?(:environment)
|
||
end
|
||
end
|
||
|
||
# Details for assigned exchange targeting option. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_EXCHANGE`.
|
||
class ExchangeAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. The targeting_option_id of a TargetingOption of type `
|
||
# TARGETING_TYPE_EXCHANGE`.
|
||
# Corresponds to the JSON property `targetingOptionId`
|
||
# @return [String]
|
||
attr_accessor :targeting_option_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
||
end
|
||
end
|
||
|
||
# Settings that control which exchanges are enabled for a partner.
|
||
class ExchangeConfig
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# All enabled exchanges in the partner. Duplicate enabled exchanges will be
|
||
# ignored.
|
||
# Corresponds to the JSON property `enabledExchanges`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::ExchangeConfigEnabledExchange>]
|
||
attr_accessor :enabled_exchanges
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@enabled_exchanges = args[:enabled_exchanges] if args.key?(:enabled_exchanges)
|
||
end
|
||
end
|
||
|
||
# An enabled exchange in the partner.
|
||
class ExchangeConfigEnabledExchange
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The enabled exchange.
|
||
# Corresponds to the JSON property `exchange`
|
||
# @return [String]
|
||
attr_accessor :exchange
|
||
|
||
# Output only. Agency ID of Google Ad Manager. The field is only relevant when
|
||
# Google Ad Manager is the enabled exchange.
|
||
# Corresponds to the JSON property `googleAdManagerAgencyId`
|
||
# @return [String]
|
||
attr_accessor :google_ad_manager_agency_id
|
||
|
||
# Output only. Network ID of Google Ad Manager. The field is only relevant when
|
||
# Google Ad Manager is the enabled exchange.
|
||
# Corresponds to the JSON property `googleAdManagerBuyerNetworkId`
|
||
# @return [String]
|
||
attr_accessor :google_ad_manager_buyer_network_id
|
||
|
||
# Output only. Seat ID of the enabled exchange.
|
||
# Corresponds to the JSON property `seatId`
|
||
# @return [String]
|
||
attr_accessor :seat_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@exchange = args[:exchange] if args.key?(:exchange)
|
||
@google_ad_manager_agency_id = args[:google_ad_manager_agency_id] if args.key?(:google_ad_manager_agency_id)
|
||
@google_ad_manager_buyer_network_id = args[:google_ad_manager_buyer_network_id] if args.key?(:google_ad_manager_buyer_network_id)
|
||
@seat_id = args[:seat_id] if args.key?(:seat_id)
|
||
end
|
||
end
|
||
|
||
# Exchange review status for the creative.
|
||
class ExchangeReviewStatus
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The exchange reviewing the creative.
|
||
# Corresponds to the JSON property `exchange`
|
||
# @return [String]
|
||
attr_accessor :exchange
|
||
|
||
# Status of the exchange review.
|
||
# Corresponds to the JSON property `status`
|
||
# @return [String]
|
||
attr_accessor :status
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@exchange = args[:exchange] if args.key?(:exchange)
|
||
@status = args[:status] if args.key?(:status)
|
||
end
|
||
end
|
||
|
||
# Represents a targetable exchange. This will be populated in the
|
||
# exchange_details field of a TargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_EXCHANGE`.
|
||
class ExchangeTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The type of exchange.
|
||
# Corresponds to the JSON property `exchange`
|
||
# @return [String]
|
||
attr_accessor :exchange
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@exchange = args[:exchange] if args.key?(:exchange)
|
||
end
|
||
end
|
||
|
||
# Exit event of the creative.
|
||
class ExitEvent
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The name of the click tag of the exit event. The name must be unique within
|
||
# one creative. Leave it empty or unset for creatives containing image assets
|
||
# only.
|
||
# Corresponds to the JSON property `name`
|
||
# @return [String]
|
||
attr_accessor :name
|
||
|
||
# The name used to identify this event in reports. Leave it empty or unset for
|
||
# creatives containing image assets only.
|
||
# Corresponds to the JSON property `reportingName`
|
||
# @return [String]
|
||
attr_accessor :reporting_name
|
||
|
||
# Required. The type of the exit event.
|
||
# Corresponds to the JSON property `type`
|
||
# @return [String]
|
||
attr_accessor :type
|
||
|
||
# Required. The click through URL of the exit event. This is required when type
|
||
# is: * `EXIT_EVENT_TYPE_DEFAULT` * `EXIT_EVENT_TYPE_BACKUP`
|
||
# Corresponds to the JSON property `url`
|
||
# @return [String]
|
||
attr_accessor :url
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@name = args[:name] if args.key?(:name)
|
||
@reporting_name = args[:reporting_name] if args.key?(:reporting_name)
|
||
@type = args[:type] if args.key?(:type)
|
||
@url = args[:url] if args.key?(:url)
|
||
end
|
||
end
|
||
|
||
# Describes a first or third party audience list used for targeting. First party
|
||
# audiences are created via usage of client data. Third party audiences are
|
||
# provided by Third Party data providers and can only be licensed to customers.
|
||
class FirstAndThirdPartyAudience
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The estimated audience size for the Display network in the past
|
||
# month. If the size is less than 1000, the number will be hidden and 0 will be
|
||
# returned due to privacy reasons. Otherwise, the number will be rounded off to
|
||
# two significant digits. Only returned in GET request.
|
||
# Corresponds to the JSON property `activeDisplayAudienceSize`
|
||
# @return [Fixnum]
|
||
attr_accessor :active_display_audience_size
|
||
|
||
# Output only. The source of the audience.
|
||
# Corresponds to the JSON property `audienceSource`
|
||
# @return [String]
|
||
attr_accessor :audience_source
|
||
|
||
# Output only. The type of the audience.
|
||
# Corresponds to the JSON property `audienceType`
|
||
# @return [String]
|
||
attr_accessor :audience_type
|
||
|
||
# The user-provided description of the audience. Only applicable to first party
|
||
# audiences.
|
||
# Corresponds to the JSON property `description`
|
||
# @return [String]
|
||
attr_accessor :description
|
||
|
||
# Output only. The estimated audience size for the Display network. If the size
|
||
# is less than 1000, the number will be hidden and 0 will be returned due to
|
||
# privacy reasons. Otherwise, the number will be rounded off to two significant
|
||
# digits. Only returned in GET request.
|
||
# Corresponds to the JSON property `displayAudienceSize`
|
||
# @return [Fixnum]
|
||
attr_accessor :display_audience_size
|
||
|
||
# Output only. The estimated desktop audience size in Display network. If the
|
||
# size is less than 1000, the number will be hidden and 0 will be returned due
|
||
# to privacy reasons. Otherwise, the number will be rounded off to two
|
||
# significant digits. Only applicable to first party audiences. Only returned in
|
||
# GET request.
|
||
# Corresponds to the JSON property `displayDesktopAudienceSize`
|
||
# @return [Fixnum]
|
||
attr_accessor :display_desktop_audience_size
|
||
|
||
# Output only. The estimated mobile app audience size in Display network. If the
|
||
# size is less than 1000, the number will be hidden and 0 will be returned due
|
||
# to privacy reasons. Otherwise, the number will be rounded off to two
|
||
# significant digits. Only applicable to first party audiences. Only returned in
|
||
# GET request.
|
||
# Corresponds to the JSON property `displayMobileAppAudienceSize`
|
||
# @return [Fixnum]
|
||
attr_accessor :display_mobile_app_audience_size
|
||
|
||
# Output only. The estimated mobile web audience size in Display network. If the
|
||
# size is less than 1000, the number will be hidden and 0 will be returned due
|
||
# to privacy reasons. Otherwise, the number will be rounded off to two
|
||
# significant digits. Only applicable to first party audiences. Only returned in
|
||
# GET request.
|
||
# Corresponds to the JSON property `displayMobileWebAudienceSize`
|
||
# @return [Fixnum]
|
||
attr_accessor :display_mobile_web_audience_size
|
||
|
||
# The display name of the first and third party audience.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# Output only. The unique ID of the first and third party audience. Assigned by
|
||
# the system.
|
||
# Corresponds to the JSON property `firstAndThirdPartyAudienceId`
|
||
# @return [Fixnum]
|
||
attr_accessor :first_and_third_party_audience_id
|
||
|
||
# Output only. Whether the audience is a first or third party audience.
|
||
# Corresponds to the JSON property `firstAndThirdPartyAudienceType`
|
||
# @return [String]
|
||
attr_accessor :first_and_third_party_audience_type
|
||
|
||
# Output only. The estimated audience size for Gmail network. If the size is
|
||
# less than 1000, the number will be hidden and 0 will be returned due to
|
||
# privacy reasons. Otherwise, the number will be rounded off to two significant
|
||
# digits. Only applicable to first party audiences. Only returned in GET request.
|
||
# Corresponds to the JSON property `gmailAudienceSize`
|
||
# @return [Fixnum]
|
||
attr_accessor :gmail_audience_size
|
||
|
||
# The duration in days that an entry remains in the audience after the
|
||
# qualifying event. Only applicable to first party audiences.
|
||
# Corresponds to the JSON property `membershipDurationDays`
|
||
# @return [Fixnum]
|
||
attr_accessor :membership_duration_days
|
||
|
||
# Output only. The resource name of the first and third party audience.
|
||
# Corresponds to the JSON property `name`
|
||
# @return [String]
|
||
attr_accessor :name
|
||
|
||
# Output only. The estimated audience size for YouTube network. If the size is
|
||
# less than 1000, the number will be hidden and 0 will be returned due to
|
||
# privacy reasons. Otherwise, the number will be rounded off to two significant
|
||
# digits. Only applicable to first party audiences. Only returned in GET request.
|
||
# Corresponds to the JSON property `youtubeAudienceSize`
|
||
# @return [Fixnum]
|
||
attr_accessor :youtube_audience_size
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@active_display_audience_size = args[:active_display_audience_size] if args.key?(:active_display_audience_size)
|
||
@audience_source = args[:audience_source] if args.key?(:audience_source)
|
||
@audience_type = args[:audience_type] if args.key?(:audience_type)
|
||
@description = args[:description] if args.key?(:description)
|
||
@display_audience_size = args[:display_audience_size] if args.key?(:display_audience_size)
|
||
@display_desktop_audience_size = args[:display_desktop_audience_size] if args.key?(:display_desktop_audience_size)
|
||
@display_mobile_app_audience_size = args[:display_mobile_app_audience_size] if args.key?(:display_mobile_app_audience_size)
|
||
@display_mobile_web_audience_size = args[:display_mobile_web_audience_size] if args.key?(:display_mobile_web_audience_size)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@first_and_third_party_audience_id = args[:first_and_third_party_audience_id] if args.key?(:first_and_third_party_audience_id)
|
||
@first_and_third_party_audience_type = args[:first_and_third_party_audience_type] if args.key?(:first_and_third_party_audience_type)
|
||
@gmail_audience_size = args[:gmail_audience_size] if args.key?(:gmail_audience_size)
|
||
@membership_duration_days = args[:membership_duration_days] if args.key?(:membership_duration_days)
|
||
@name = args[:name] if args.key?(:name)
|
||
@youtube_audience_size = args[:youtube_audience_size] if args.key?(:youtube_audience_size)
|
||
end
|
||
end
|
||
|
||
# Details of first and third party audience group. All first and third party
|
||
# audience targeting settings are logically ‘OR’ of each other.
|
||
class FirstAndThirdPartyAudienceGroup
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. All first and third party audience targeting settings in first and
|
||
# third party audience group. Repeated settings with same id are not allowed.
|
||
# Corresponds to the JSON property `settings`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::FirstAndThirdPartyAudienceTargetingSetting>]
|
||
attr_accessor :settings
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@settings = args[:settings] if args.key?(:settings)
|
||
end
|
||
end
|
||
|
||
# Details of first and third party audience targeting setting.
|
||
class FirstAndThirdPartyAudienceTargetingSetting
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. First and third party audience id of the first and third party
|
||
# audience targeting setting. This id is first_and_third_party_audience_id.
|
||
# Corresponds to the JSON property `firstAndThirdPartyAudienceId`
|
||
# @return [Fixnum]
|
||
attr_accessor :first_and_third_party_audience_id
|
||
|
||
# The recency of the first and third party audience targeting setting. Only
|
||
# applicable to first party audiences, otherwise will be ignored. For more info,
|
||
# refer to https://support.google.com/displayvideo/answer/2949947#recency When
|
||
# unspecified, no recency limit will be used.
|
||
# Corresponds to the JSON property `recency`
|
||
# @return [String]
|
||
attr_accessor :recency
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@first_and_third_party_audience_id = args[:first_and_third_party_audience_id] if args.key?(:first_and_third_party_audience_id)
|
||
@recency = args[:recency] if args.key?(:recency)
|
||
end
|
||
end
|
||
|
||
# A strategy that uses a fixed bidding price.
|
||
class FixedBidStrategy
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The fixed bid amount, in micros of the advertiser's currency. For insertion
|
||
# order entity, bid_amount_micros should be set as 0. For line item entity,
|
||
# bid_amount_micros must be greater than or equal to billable unit of the given
|
||
# currency and smaller than or equal to the upper limit 1000000000. For example,
|
||
# 1500000 represents 1.5 standard units of the currency.
|
||
# Corresponds to the JSON property `bidAmountMicros`
|
||
# @return [Fixnum]
|
||
attr_accessor :bid_amount_micros
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@bid_amount_micros = args[:bid_amount_micros] if args.key?(:bid_amount_micros)
|
||
end
|
||
end
|
||
|
||
# A single Floodlight group.
|
||
class FloodlightGroup
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Configuration for custom Active View video viewability metrics.
|
||
# Corresponds to the JSON property `activeViewConfig`
|
||
# @return [Google::Apis::DisplayvideoV1::ActiveViewVideoViewabilityMetricConfig]
|
||
attr_accessor :active_view_config
|
||
|
||
# User-defined custom variables owned by the Floodlight group. Use custom
|
||
# Floodlight variables to create reporting data that is tailored to your unique
|
||
# business needs. Custom Floodlight variables use the keys `U1=`, `U2=`, and so
|
||
# on, and can take any values that you choose to pass to them. You can use them
|
||
# to track virtually any type of data that you collect about your customers,
|
||
# such as the genre of movie that a customer purchases, the country to which the
|
||
# item is shipped, and so on. Custom Floodlight variables may not be used to
|
||
# pass any data that could be used or recognized as personally identifiable
|
||
# information (PII). Example: `custom_variables ` fields ` "U1": value `
|
||
# number_value: 123.4 `, "U2": value ` string_value: "MyVariable2" `, "U3":
|
||
# value ` string_value: "MyVariable3" ` ` `` Acceptable values for keys are "U1"
|
||
# through "U100", inclusive. String values must be less than 64 characters long,
|
||
# and cannot contain the following characters: `"<>`.
|
||
# Corresponds to the JSON property `customVariables`
|
||
# @return [Hash<String,Object>]
|
||
attr_accessor :custom_variables
|
||
|
||
# Required. The display name of the Floodlight group.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# Output only. The unique ID of the Floodlight group. Assigned by the system.
|
||
# Corresponds to the JSON property `floodlightGroupId`
|
||
# @return [Fixnum]
|
||
attr_accessor :floodlight_group_id
|
||
|
||
# Specifies how many days into the past to look when determining whether to
|
||
# record a conversion.
|
||
# Corresponds to the JSON property `lookbackWindow`
|
||
# @return [Google::Apis::DisplayvideoV1::LookbackWindow]
|
||
attr_accessor :lookback_window
|
||
|
||
# Output only. The resource name of the Floodlight group.
|
||
# Corresponds to the JSON property `name`
|
||
# @return [String]
|
||
attr_accessor :name
|
||
|
||
# Required. The web tag type enabled for the Floodlight group.
|
||
# Corresponds to the JSON property `webTagType`
|
||
# @return [String]
|
||
attr_accessor :web_tag_type
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@active_view_config = args[:active_view_config] if args.key?(:active_view_config)
|
||
@custom_variables = args[:custom_variables] if args.key?(:custom_variables)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@floodlight_group_id = args[:floodlight_group_id] if args.key?(:floodlight_group_id)
|
||
@lookback_window = args[:lookback_window] if args.key?(:lookback_window)
|
||
@name = args[:name] if args.key?(:name)
|
||
@web_tag_type = args[:web_tag_type] if args.key?(:web_tag_type)
|
||
end
|
||
end
|
||
|
||
# Settings that control the number of times a user may be shown with the same ad
|
||
# during a given time period.
|
||
class FrequencyCap
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The maximum number of times a user may be shown with the same ad during this
|
||
# period. Must be greater than 0. Applicable when unlimited is `false`.
|
||
# Corresponds to the JSON property `maxImpressions`
|
||
# @return [Fixnum]
|
||
attr_accessor :max_impressions
|
||
|
||
# The time unit in which the frequency cap will be applied. Applicable when
|
||
# unlimited is `false`.
|
||
# Corresponds to the JSON property `timeUnit`
|
||
# @return [String]
|
||
attr_accessor :time_unit
|
||
|
||
# The number of time_unit the frequency cap will last. Applicable when unlimited
|
||
# is `false`. The following restrictions apply based on the value of time_unit: *
|
||
# `TIME_UNIT_LIFETIME` - this field is output only and will default to 1 * `
|
||
# TIME_UNIT_MONTHS` - must be between 1 and 2 * `TIME_UNIT_WEEKS` - must be
|
||
# between 1 and 4 * `TIME_UNIT_DAYS` - must be between 1 and 6 * `
|
||
# TIME_UNIT_HOURS` - must be between 1 and 23 * `TIME_UNIT_MINUTES` - must be
|
||
# between 1 and 59
|
||
# Corresponds to the JSON property `timeUnitCount`
|
||
# @return [Fixnum]
|
||
attr_accessor :time_unit_count
|
||
|
||
# Whether unlimited frequency capping is applied. When this field is set to `
|
||
# true`, the remaining frequency cap fields are not applicable.
|
||
# Corresponds to the JSON property `unlimited`
|
||
# @return [Boolean]
|
||
attr_accessor :unlimited
|
||
alias_method :unlimited?, :unlimited
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@max_impressions = args[:max_impressions] if args.key?(:max_impressions)
|
||
@time_unit = args[:time_unit] if args.key?(:time_unit)
|
||
@time_unit_count = args[:time_unit_count] if args.key?(:time_unit_count)
|
||
@unlimited = args[:unlimited] if args.key?(:unlimited)
|
||
end
|
||
end
|
||
|
||
# Details for assigned gender targeting option. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARTGETING_TYPE_GENDER`.
|
||
class GenderAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The gender of the audience.
|
||
# Corresponds to the JSON property `gender`
|
||
# @return [String]
|
||
attr_accessor :gender
|
||
|
||
# Required. The targeting_option_id of a TargetingOption of type `
|
||
# TARGETING_TYPE_GENDER`.
|
||
# Corresponds to the JSON property `targetingOptionId`
|
||
# @return [String]
|
||
attr_accessor :targeting_option_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@gender = args[:gender] if args.key?(:gender)
|
||
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
||
end
|
||
end
|
||
|
||
# Represents a targetable gender. This will be populated in the gender_details
|
||
# field of a TargetingOption when targeting_type is `TARGETING_TYPE_GENDER`.
|
||
class GenderTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The gender of an audience.
|
||
# Corresponds to the JSON property `gender`
|
||
# @return [String]
|
||
attr_accessor :gender
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@gender = args[:gender] if args.key?(:gender)
|
||
end
|
||
end
|
||
|
||
# Details for assigned geographic region targeting option. This will be
|
||
# populated in the details field of an AssignedTargetingOption when
|
||
# targeting_type is `TARGETING_TYPE_GEO_REGION`.
|
||
class GeoRegionAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The display name of the geographic region (e.g., "Ontario, Canada"
|
||
# ).
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# Output only. The type of geographic region targeting.
|
||
# Corresponds to the JSON property `geoRegionType`
|
||
# @return [String]
|
||
attr_accessor :geo_region_type
|
||
|
||
# Indicates if this option is being negatively targeted.
|
||
# Corresponds to the JSON property `negative`
|
||
# @return [Boolean]
|
||
attr_accessor :negative
|
||
alias_method :negative?, :negative
|
||
|
||
# Required. The targeting_option_id of a TargetingOption of type `
|
||
# TARGETING_TYPE_GEO_REGION`.
|
||
# Corresponds to the JSON property `targetingOptionId`
|
||
# @return [String]
|
||
attr_accessor :targeting_option_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@geo_region_type = args[:geo_region_type] if args.key?(:geo_region_type)
|
||
@negative = args[:negative] if args.key?(:negative)
|
||
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
||
end
|
||
end
|
||
|
||
# Represents a targetable geographic region. This will be populated in the
|
||
# geo_region_details field when targeting_type is `TARGETING_TYPE_GEO_REGION`.
|
||
class GeoRegionTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The display name of the geographic region (e.g., "Ontario, Canada"
|
||
# ).
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# Output only. The type of geographic region targeting.
|
||
# Corresponds to the JSON property `geoRegionType`
|
||
# @return [String]
|
||
attr_accessor :geo_region_type
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@geo_region_type = args[:geo_region_type] if args.key?(:geo_region_type)
|
||
end
|
||
end
|
||
|
||
# Describes a Google audience resource. Includes Google audience lists.
|
||
class GoogleAudience
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The display name of the Google audience. .
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# Output only. The unique ID of the Google audience. Assigned by the system.
|
||
# Corresponds to the JSON property `googleAudienceId`
|
||
# @return [Fixnum]
|
||
attr_accessor :google_audience_id
|
||
|
||
# Output only. The type of Google audience. .
|
||
# Corresponds to the JSON property `googleAudienceType`
|
||
# @return [String]
|
||
attr_accessor :google_audience_type
|
||
|
||
# Output only. The resource name of the google audience.
|
||
# Corresponds to the JSON property `name`
|
||
# @return [String]
|
||
attr_accessor :name
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@google_audience_id = args[:google_audience_id] if args.key?(:google_audience_id)
|
||
@google_audience_type = args[:google_audience_type] if args.key?(:google_audience_type)
|
||
@name = args[:name] if args.key?(:name)
|
||
end
|
||
end
|
||
|
||
# Details of Google audience group. All Google audience targeting settings are
|
||
# logically ‘OR’ of each other.
|
||
class GoogleAudienceGroup
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. All Google audience targeting settings in Google audience group.
|
||
# Repeated settings with same id will be ignored.
|
||
# Corresponds to the JSON property `settings`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::GoogleAudienceTargetingSetting>]
|
||
attr_accessor :settings
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@settings = args[:settings] if args.key?(:settings)
|
||
end
|
||
end
|
||
|
||
# Details of Google audience targeting setting.
|
||
class GoogleAudienceTargetingSetting
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. Google audience id of the Google audience targeting setting. This id
|
||
# is google_audience_id.
|
||
# Corresponds to the JSON property `googleAudienceId`
|
||
# @return [Fixnum]
|
||
attr_accessor :google_audience_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@google_audience_id = args[:google_audience_id] if args.key?(:google_audience_id)
|
||
end
|
||
end
|
||
|
||
# Media resource.
|
||
class GoogleBytestreamMedia
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Name of the media resource.
|
||
# Corresponds to the JSON property `resourceName`
|
||
# @return [String]
|
||
attr_accessor :resource_name
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@resource_name = args[:resource_name] if args.key?(:resource_name)
|
||
end
|
||
end
|
||
|
||
# Details for assigned household income targeting option. This will be populated
|
||
# in the details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_HOUSEHOLD_INCOME`.
|
||
class HouseholdIncomeAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The household income of the audience.
|
||
# Corresponds to the JSON property `householdIncome`
|
||
# @return [String]
|
||
attr_accessor :household_income
|
||
|
||
# Required. The targeting_option_id of a TargetingOption of type `
|
||
# TARGETING_TYPE_HOUSEHOLD_INCOME`.
|
||
# Corresponds to the JSON property `targetingOptionId`
|
||
# @return [String]
|
||
attr_accessor :targeting_option_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@household_income = args[:household_income] if args.key?(:household_income)
|
||
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
||
end
|
||
end
|
||
|
||
# Represents a targetable household income. This will be populated in the
|
||
# household_income_details field of a TargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_HOUSEHOLD_INCOME`.
|
||
class HouseholdIncomeTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The household income of an audience.
|
||
# Corresponds to the JSON property `householdIncome`
|
||
# @return [String]
|
||
attr_accessor :household_income
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@household_income = args[:household_income] if args.key?(:household_income)
|
||
end
|
||
end
|
||
|
||
# A filtering option that filters entities by their entity IDs.
|
||
class IdFilter
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# YouTube Ads to download by ID. All IDs must belong to the same Advertiser or
|
||
# Partner specified in CreateSdfDownloadTaskRequest.
|
||
# Corresponds to the JSON property `adGroupAdIds`
|
||
# @return [Array<Fixnum>]
|
||
attr_accessor :ad_group_ad_ids
|
||
|
||
# YouTube Ad Groups to download by ID. All IDs must belong to the same
|
||
# Advertiser or Partner specified in CreateSdfDownloadTaskRequest.
|
||
# Corresponds to the JSON property `adGroupIds`
|
||
# @return [Array<Fixnum>]
|
||
attr_accessor :ad_group_ids
|
||
|
||
# Campaigns to download by ID. All IDs must belong to the same Advertiser or
|
||
# Partner specified in CreateSdfDownloadTaskRequest.
|
||
# Corresponds to the JSON property `campaignIds`
|
||
# @return [Array<Fixnum>]
|
||
attr_accessor :campaign_ids
|
||
|
||
# Insertion Orders to download by ID. All IDs must belong to the same Advertiser
|
||
# or Partner specified in CreateSdfDownloadTaskRequest.
|
||
# Corresponds to the JSON property `insertionOrderIds`
|
||
# @return [Array<Fixnum>]
|
||
attr_accessor :insertion_order_ids
|
||
|
||
# Line Items to download by ID. All IDs must belong to the same Advertiser or
|
||
# Partner specified in CreateSdfDownloadTaskRequest.
|
||
# Corresponds to the JSON property `lineItemIds`
|
||
# @return [Array<Fixnum>]
|
||
attr_accessor :line_item_ids
|
||
|
||
# Media Products to download by ID. All IDs must belong to the same Advertiser
|
||
# or Partner specified in CreateSdfDownloadTaskRequest.
|
||
# Corresponds to the JSON property `mediaProductIds`
|
||
# @return [Array<Fixnum>]
|
||
attr_accessor :media_product_ids
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@ad_group_ad_ids = args[:ad_group_ad_ids] if args.key?(:ad_group_ad_ids)
|
||
@ad_group_ids = args[:ad_group_ids] if args.key?(:ad_group_ids)
|
||
@campaign_ids = args[:campaign_ids] if args.key?(:campaign_ids)
|
||
@insertion_order_ids = args[:insertion_order_ids] if args.key?(:insertion_order_ids)
|
||
@line_item_ids = args[:line_item_ids] if args.key?(:line_item_ids)
|
||
@media_product_ids = args[:media_product_ids] if args.key?(:media_product_ids)
|
||
end
|
||
end
|
||
|
||
# A single insertion order.
|
||
class InsertionOrder
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The unique ID of the advertiser the insertion order belongs to.
|
||
# Corresponds to the JSON property `advertiserId`
|
||
# @return [Fixnum]
|
||
attr_accessor :advertiser_id
|
||
|
||
# Settings that control the bid strategy. Bid strategy determines the bid price.
|
||
# Corresponds to the JSON property `bidStrategy`
|
||
# @return [Google::Apis::DisplayvideoV1::BiddingStrategy]
|
||
attr_accessor :bid_strategy
|
||
|
||
# Settings that control how insertion order budget is allocated.
|
||
# Corresponds to the JSON property `budget`
|
||
# @return [Google::Apis::DisplayvideoV1::InsertionOrderBudget]
|
||
attr_accessor :budget
|
||
|
||
# Required. Immutable. The unique ID of the campaign that the insertion order
|
||
# belongs to.
|
||
# Corresponds to the JSON property `campaignId`
|
||
# @return [Fixnum]
|
||
attr_accessor :campaign_id
|
||
|
||
# Required. The display name of the insertion order. Must be UTF-8 encoded with
|
||
# a maximum size of 240 bytes.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# Required. Controls whether or not the insertion order can spend its budget and
|
||
# bid on inventory. * For CreateInsertionOrder method, only `ENTITY_STATUS_DRAFT`
|
||
# is allowed. To activate an insertion order, use UpdateInsertionOrder method
|
||
# and update the status to `ENTITY_STATUS_ACTIVE` after creation. * An insertion
|
||
# order cannot be changed back to `ENTITY_STATUS_DRAFT` status from any other
|
||
# status. * An insertion order cannot be set to `ENTITY_STATUS_ACTIVE` if its
|
||
# parent campaign is not active.
|
||
# Corresponds to the JSON property `entityStatus`
|
||
# @return [String]
|
||
attr_accessor :entity_status
|
||
|
||
# Settings that control the number of times a user may be shown with the same ad
|
||
# during a given time period.
|
||
# Corresponds to the JSON property `frequencyCap`
|
||
# @return [Google::Apis::DisplayvideoV1::FrequencyCap]
|
||
attr_accessor :frequency_cap
|
||
|
||
# Output only. The unique ID of the insertion order. Assigned by the system.
|
||
# Corresponds to the JSON property `insertionOrderId`
|
||
# @return [Fixnum]
|
||
attr_accessor :insertion_order_id
|
||
|
||
# Integration details of an entry.
|
||
# Corresponds to the JSON property `integrationDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::IntegrationDetails]
|
||
attr_accessor :integration_details
|
||
|
||
# Output only. The resource name of the insertion order.
|
||
# Corresponds to the JSON property `name`
|
||
# @return [String]
|
||
attr_accessor :name
|
||
|
||
# Settings that control the rate at which a budget is spent.
|
||
# Corresponds to the JSON property `pacing`
|
||
# @return [Google::Apis::DisplayvideoV1::Pacing]
|
||
attr_accessor :pacing
|
||
|
||
# The partner costs associated with the insertion order. If absent or empty in
|
||
# CreateInsertionOrder method, the newly created insertion order will inherit
|
||
# partner costs from the partner settings.
|
||
# Corresponds to the JSON property `partnerCosts`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::PartnerCost>]
|
||
attr_accessor :partner_costs
|
||
|
||
# Settings that control the performance goal of a campaign or insertion order.
|
||
# Corresponds to the JSON property `performanceGoal`
|
||
# @return [Google::Apis::DisplayvideoV1::PerformanceGoal]
|
||
attr_accessor :performance_goal
|
||
|
||
# Output only. The timestamp when the insertion order was last updated. Assigned
|
||
# by the system.
|
||
# Corresponds to the JSON property `updateTime`
|
||
# @return [String]
|
||
attr_accessor :update_time
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
|
||
@bid_strategy = args[:bid_strategy] if args.key?(:bid_strategy)
|
||
@budget = args[:budget] if args.key?(:budget)
|
||
@campaign_id = args[:campaign_id] if args.key?(:campaign_id)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@entity_status = args[:entity_status] if args.key?(:entity_status)
|
||
@frequency_cap = args[:frequency_cap] if args.key?(:frequency_cap)
|
||
@insertion_order_id = args[:insertion_order_id] if args.key?(:insertion_order_id)
|
||
@integration_details = args[:integration_details] if args.key?(:integration_details)
|
||
@name = args[:name] if args.key?(:name)
|
||
@pacing = args[:pacing] if args.key?(:pacing)
|
||
@partner_costs = args[:partner_costs] if args.key?(:partner_costs)
|
||
@performance_goal = args[:performance_goal] if args.key?(:performance_goal)
|
||
@update_time = args[:update_time] if args.key?(:update_time)
|
||
end
|
||
end
|
||
|
||
# Settings that control how insertion order budget is allocated.
|
||
class InsertionOrderBudget
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The type of automation used to manage bid and budget for the insertion order.
|
||
# If this field is unspecified in creation, the value defaults to `
|
||
# INSERTION_ORDER_AUTOMATION_TYPE_NONE`.
|
||
# Corresponds to the JSON property `automationType`
|
||
# @return [String]
|
||
attr_accessor :automation_type
|
||
|
||
# Required. The list of budget segments. Use a budget segment to specify a
|
||
# specific budget for a given period of time an insertion order is running.
|
||
# Corresponds to the JSON property `budgetSegments`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::InsertionOrderBudgetSegment>]
|
||
attr_accessor :budget_segments
|
||
|
||
# Required. Immutable. The budget unit specifies whether the budget is currency
|
||
# based or impression based.
|
||
# Corresponds to the JSON property `budgetUnit`
|
||
# @return [String]
|
||
attr_accessor :budget_unit
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@automation_type = args[:automation_type] if args.key?(:automation_type)
|
||
@budget_segments = args[:budget_segments] if args.key?(:budget_segments)
|
||
@budget_unit = args[:budget_unit] if args.key?(:budget_unit)
|
||
end
|
||
end
|
||
|
||
# Settings that control the budget of a single budget segment.
|
||
class InsertionOrderBudgetSegment
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. The budget amount the insertion order will spend for the given
|
||
# date_range. The amount is in micros. Must be greater than 0. For example,
|
||
# 500000000 represents 500 standard units of the currency.
|
||
# Corresponds to the JSON property `budgetAmountMicros`
|
||
# @return [Fixnum]
|
||
attr_accessor :budget_amount_micros
|
||
|
||
# The ID of the campaign budget linked to this insertion order budget segment.
|
||
# Corresponds to the JSON property `campaignBudgetId`
|
||
# @return [Fixnum]
|
||
attr_accessor :campaign_budget_id
|
||
|
||
# A date range.
|
||
# Corresponds to the JSON property `dateRange`
|
||
# @return [Google::Apis::DisplayvideoV1::DateRange]
|
||
attr_accessor :date_range
|
||
|
||
# The budget segment description. It can be used to enter Purchase Order
|
||
# information for each budget segment and have that information printed on the
|
||
# invoices. Must be UTF-8 encoded with a length of no more than 80 characters.
|
||
# Corresponds to the JSON property `description`
|
||
# @return [String]
|
||
attr_accessor :description
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@budget_amount_micros = args[:budget_amount_micros] if args.key?(:budget_amount_micros)
|
||
@campaign_budget_id = args[:campaign_budget_id] if args.key?(:campaign_budget_id)
|
||
@date_range = args[:date_range] if args.key?(:date_range)
|
||
@description = args[:description] if args.key?(:description)
|
||
end
|
||
end
|
||
|
||
# Details of Integral Ad Science settings.
|
||
class IntegralAdScience
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Display Viewability section (applicable to display line items only).
|
||
# Corresponds to the JSON property `displayViewability`
|
||
# @return [String]
|
||
attr_accessor :display_viewability
|
||
|
||
# Brand Safety - **Unrateable**.
|
||
# Corresponds to the JSON property `excludeUnrateable`
|
||
# @return [Boolean]
|
||
attr_accessor :exclude_unrateable
|
||
alias_method :exclude_unrateable?, :exclude_unrateable
|
||
|
||
# Ad Fraud settings.
|
||
# Corresponds to the JSON property `excludedAdFraudRisk`
|
||
# @return [String]
|
||
attr_accessor :excluded_ad_fraud_risk
|
||
|
||
# Brand Safety - **Adult content**.
|
||
# Corresponds to the JSON property `excludedAdultRisk`
|
||
# @return [String]
|
||
attr_accessor :excluded_adult_risk
|
||
|
||
# Brand Safety - **Alcohol**.
|
||
# Corresponds to the JSON property `excludedAlcoholRisk`
|
||
# @return [String]
|
||
attr_accessor :excluded_alcohol_risk
|
||
|
||
# Brand Safety - **Drugs**.
|
||
# Corresponds to the JSON property `excludedDrugsRisk`
|
||
# @return [String]
|
||
attr_accessor :excluded_drugs_risk
|
||
|
||
# Brand Safety - **Gambling**.
|
||
# Corresponds to the JSON property `excludedGamblingRisk`
|
||
# @return [String]
|
||
attr_accessor :excluded_gambling_risk
|
||
|
||
# Brand Safety - **Hate speech**.
|
||
# Corresponds to the JSON property `excludedHateSpeechRisk`
|
||
# @return [String]
|
||
attr_accessor :excluded_hate_speech_risk
|
||
|
||
# Brand Safety - **Illegal downloads**.
|
||
# Corresponds to the JSON property `excludedIllegalDownloadsRisk`
|
||
# @return [String]
|
||
attr_accessor :excluded_illegal_downloads_risk
|
||
|
||
# Brand Safety - **Offensive language**.
|
||
# Corresponds to the JSON property `excludedOffensiveLanguageRisk`
|
||
# @return [String]
|
||
attr_accessor :excluded_offensive_language_risk
|
||
|
||
# Brand Safety - **Violence**.
|
||
# Corresponds to the JSON property `excludedViolenceRisk`
|
||
# @return [String]
|
||
attr_accessor :excluded_violence_risk
|
||
|
||
# True advertising quality (applicable to Display line items only).
|
||
# Corresponds to the JSON property `traqScoreOption`
|
||
# @return [String]
|
||
attr_accessor :traq_score_option
|
||
|
||
# Video Viewability Section (applicable to video line items only).
|
||
# Corresponds to the JSON property `videoViewability`
|
||
# @return [String]
|
||
attr_accessor :video_viewability
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@display_viewability = args[:display_viewability] if args.key?(:display_viewability)
|
||
@exclude_unrateable = args[:exclude_unrateable] if args.key?(:exclude_unrateable)
|
||
@excluded_ad_fraud_risk = args[:excluded_ad_fraud_risk] if args.key?(:excluded_ad_fraud_risk)
|
||
@excluded_adult_risk = args[:excluded_adult_risk] if args.key?(:excluded_adult_risk)
|
||
@excluded_alcohol_risk = args[:excluded_alcohol_risk] if args.key?(:excluded_alcohol_risk)
|
||
@excluded_drugs_risk = args[:excluded_drugs_risk] if args.key?(:excluded_drugs_risk)
|
||
@excluded_gambling_risk = args[:excluded_gambling_risk] if args.key?(:excluded_gambling_risk)
|
||
@excluded_hate_speech_risk = args[:excluded_hate_speech_risk] if args.key?(:excluded_hate_speech_risk)
|
||
@excluded_illegal_downloads_risk = args[:excluded_illegal_downloads_risk] if args.key?(:excluded_illegal_downloads_risk)
|
||
@excluded_offensive_language_risk = args[:excluded_offensive_language_risk] if args.key?(:excluded_offensive_language_risk)
|
||
@excluded_violence_risk = args[:excluded_violence_risk] if args.key?(:excluded_violence_risk)
|
||
@traq_score_option = args[:traq_score_option] if args.key?(:traq_score_option)
|
||
@video_viewability = args[:video_viewability] if args.key?(:video_viewability)
|
||
end
|
||
end
|
||
|
||
# Integration details of an entry.
|
||
class IntegrationDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Additional details of the entry in string format. Must be UTF-8 encoded with a
|
||
# length of no more than 1000 characters.
|
||
# Corresponds to the JSON property `details`
|
||
# @return [String]
|
||
attr_accessor :details
|
||
|
||
# An external identifier to be associated with the entry. The integration code
|
||
# will show up together with the entry in many places in the system, for example,
|
||
# reporting. Must be UTF-8 encoded with a length of no more than 500 characters.
|
||
# Corresponds to the JSON property `integrationCode`
|
||
# @return [String]
|
||
attr_accessor :integration_code
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@details = args[:details] if args.key?(:details)
|
||
@integration_code = args[:integration_code] if args.key?(:integration_code)
|
||
end
|
||
end
|
||
|
||
# An inventory source.
|
||
class InventorySource
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Whether the inventory source has a guaranteed or non-guaranteed delivery.
|
||
# Corresponds to the JSON property `commitment`
|
||
# @return [String]
|
||
attr_accessor :commitment
|
||
|
||
# The creative requirements of the inventory source. Not applicable for auction
|
||
# packages.
|
||
# Corresponds to the JSON property `creativeConfigs`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::CreativeConfig>]
|
||
attr_accessor :creative_configs
|
||
|
||
# The ID in the exchange space that uniquely identifies the inventory source.
|
||
# Must be unique across buyers within each exchange but not necessarily unique
|
||
# across exchanges.
|
||
# Corresponds to the JSON property `dealId`
|
||
# @return [String]
|
||
attr_accessor :deal_id
|
||
|
||
# The delivery method of the inventory source. * For non-guaranteed inventory
|
||
# sources, the only acceptable value is `
|
||
# INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC`. * For guaranteed inventory
|
||
# sources, acceptable values are `INVENTORY_SOURCE_DELIVERY_METHOD_TAG` and `
|
||
# INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC`.
|
||
# Corresponds to the JSON property `deliveryMethod`
|
||
# @return [String]
|
||
attr_accessor :delivery_method
|
||
|
||
# The display name of the inventory source. Must be UTF-8 encoded with a maximum
|
||
# size of 240 bytes.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# The exchange to which the inventory source belongs.
|
||
# Corresponds to the JSON property `exchange`
|
||
# @return [String]
|
||
attr_accessor :exchange
|
||
|
||
# Output only. The unique ID of the inventory source. Assigned by the system.
|
||
# Corresponds to the JSON property `inventorySourceId`
|
||
# @return [Fixnum]
|
||
attr_accessor :inventory_source_id
|
||
|
||
# Denotes the type of the inventory source.
|
||
# Corresponds to the JSON property `inventorySourceType`
|
||
# @return [String]
|
||
attr_accessor :inventory_source_type
|
||
|
||
# Output only. The resource name of the inventory source.
|
||
# Corresponds to the JSON property `name`
|
||
# @return [String]
|
||
attr_accessor :name
|
||
|
||
# The publisher/seller name of the inventory source.
|
||
# Corresponds to the JSON property `publisherName`
|
||
# @return [String]
|
||
attr_accessor :publisher_name
|
||
|
||
# The rate related settings of the inventory source.
|
||
# Corresponds to the JSON property `rateDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::RateDetails]
|
||
attr_accessor :rate_details
|
||
|
||
# The status related settings of the inventory source.
|
||
# Corresponds to the JSON property `status`
|
||
# @return [Google::Apis::DisplayvideoV1::InventorySourceStatus]
|
||
attr_accessor :status
|
||
|
||
# A time range.
|
||
# Corresponds to the JSON property `timeRange`
|
||
# @return [Google::Apis::DisplayvideoV1::TimeRange]
|
||
attr_accessor :time_range
|
||
|
||
# Output only. The timestamp when the inventory source was last updated.
|
||
# Assigned by the system.
|
||
# Corresponds to the JSON property `updateTime`
|
||
# @return [String]
|
||
attr_accessor :update_time
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@commitment = args[:commitment] if args.key?(:commitment)
|
||
@creative_configs = args[:creative_configs] if args.key?(:creative_configs)
|
||
@deal_id = args[:deal_id] if args.key?(:deal_id)
|
||
@delivery_method = args[:delivery_method] if args.key?(:delivery_method)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@exchange = args[:exchange] if args.key?(:exchange)
|
||
@inventory_source_id = args[:inventory_source_id] if args.key?(:inventory_source_id)
|
||
@inventory_source_type = args[:inventory_source_type] if args.key?(:inventory_source_type)
|
||
@name = args[:name] if args.key?(:name)
|
||
@publisher_name = args[:publisher_name] if args.key?(:publisher_name)
|
||
@rate_details = args[:rate_details] if args.key?(:rate_details)
|
||
@status = args[:status] if args.key?(:status)
|
||
@time_range = args[:time_range] if args.key?(:time_range)
|
||
@update_time = args[:update_time] if args.key?(:update_time)
|
||
end
|
||
end
|
||
|
||
# Targeting details for inventory source. This will be populated in the details
|
||
# field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_INVENTORY_SOURCE`.
|
||
class InventorySourceAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. ID of the inventory source. Should refer to the inventory_source_id
|
||
# field of an InventorySource resource.
|
||
# Corresponds to the JSON property `inventorySourceId`
|
||
# @return [Fixnum]
|
||
attr_accessor :inventory_source_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@inventory_source_id = args[:inventory_source_id] if args.key?(:inventory_source_id)
|
||
end
|
||
end
|
||
|
||
# The configuration for display creatives.
|
||
class InventorySourceDisplayCreativeConfig
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Dimensions.
|
||
# Corresponds to the JSON property `creativeSize`
|
||
# @return [Google::Apis::DisplayvideoV1::Dimensions]
|
||
attr_accessor :creative_size
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@creative_size = args[:creative_size] if args.key?(:creative_size)
|
||
end
|
||
end
|
||
|
||
# A filtering option for filtering on Inventory Source entities.
|
||
class InventorySourceFilter
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Inventory Sources to download by ID. All IDs must belong to the same
|
||
# Advertiser or Partner specified in CreateSdfDownloadTaskRequest. Leave empty
|
||
# to download all Inventory Sources for the selected Advertiser or Partner.
|
||
# Corresponds to the JSON property `inventorySourceIds`
|
||
# @return [Array<Fixnum>]
|
||
attr_accessor :inventory_source_ids
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@inventory_source_ids = args[:inventory_source_ids] if args.key?(:inventory_source_ids)
|
||
end
|
||
end
|
||
|
||
# A collection of targetable inventory sources.
|
||
class InventorySourceGroup
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. The display name of the inventory source group. Must be UTF-8
|
||
# encoded with a maximum size of 240 bytes.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# Output only. The unique ID of the inventory source group. Assigned by the
|
||
# system.
|
||
# Corresponds to the JSON property `inventorySourceGroupId`
|
||
# @return [Fixnum]
|
||
attr_accessor :inventory_source_group_id
|
||
|
||
# Output only. The resource name of the inventory source group.
|
||
# Corresponds to the JSON property `name`
|
||
# @return [String]
|
||
attr_accessor :name
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@inventory_source_group_id = args[:inventory_source_group_id] if args.key?(:inventory_source_group_id)
|
||
@name = args[:name] if args.key?(:name)
|
||
end
|
||
end
|
||
|
||
# Targeting details for inventory source group. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_INVENTORY_SOURCE_GROUP`.
|
||
class InventorySourceGroupAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. ID of the inventory source group. Should refer to the
|
||
# inventory_source_group_id field of an InventorySourceGroup resource.
|
||
# Corresponds to the JSON property `inventorySourceGroupId`
|
||
# @return [Fixnum]
|
||
attr_accessor :inventory_source_group_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@inventory_source_group_id = args[:inventory_source_group_id] if args.key?(:inventory_source_group_id)
|
||
end
|
||
end
|
||
|
||
# The status related settings of the inventory source.
|
||
class InventorySourceStatus
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The configuration status of the inventory source. Only applicable
|
||
# for guaranteed inventory sources. Acceptable values are `
|
||
# INVENTORY_SOURCE_CONFIG_STATUS_PENDING` and `
|
||
# INVENTORY_SOURCE_CONFIG_STATUS_COMPLETED`. An inventory source must be
|
||
# configured (fill in the required fields, choose creatives, and select a
|
||
# default campaign) before it can serve.
|
||
# Corresponds to the JSON property `configStatus`
|
||
# @return [String]
|
||
attr_accessor :config_status
|
||
|
||
# The user-provided reason for pausing this inventory source. Must not exceed
|
||
# 100 characters. Only applicable when entity_status is set to `
|
||
# ENTITY_STATUS_PAUSED`.
|
||
# Corresponds to the JSON property `entityPauseReason`
|
||
# @return [String]
|
||
attr_accessor :entity_pause_reason
|
||
|
||
# Whether or not the inventory source is servable. Acceptable values are `
|
||
# ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`, and `ENTITY_STATUS_PAUSED`.
|
||
# Default value is `ENTITY_STATUS_ACTIVE`.
|
||
# Corresponds to the JSON property `entityStatus`
|
||
# @return [String]
|
||
attr_accessor :entity_status
|
||
|
||
# Output only. The seller-provided reason for pausing this inventory source.
|
||
# Only applicable for inventory sources synced directly from the publishers and
|
||
# when seller_status is set to `ENTITY_STATUS_PAUSED`.
|
||
# Corresponds to the JSON property `sellerPauseReason`
|
||
# @return [String]
|
||
attr_accessor :seller_pause_reason
|
||
|
||
# Output only. The status set by the seller for the inventory source. Only
|
||
# applicable for inventory sources synced directly from the publishers.
|
||
# Acceptable values are `ENTITY_STATUS_ACTIVE` and `ENTITY_STATUS_PAUSED`.
|
||
# Corresponds to the JSON property `sellerStatus`
|
||
# @return [String]
|
||
attr_accessor :seller_status
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@config_status = args[:config_status] if args.key?(:config_status)
|
||
@entity_pause_reason = args[:entity_pause_reason] if args.key?(:entity_pause_reason)
|
||
@entity_status = args[:entity_status] if args.key?(:entity_status)
|
||
@seller_pause_reason = args[:seller_pause_reason] if args.key?(:seller_pause_reason)
|
||
@seller_status = args[:seller_status] if args.key?(:seller_status)
|
||
end
|
||
end
|
||
|
||
# The configuration for video creatives.
|
||
class InventorySourceVideoCreativeConfig
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The duration requirements for the video creatives that can be assigned to the
|
||
# inventory source.
|
||
# Corresponds to the JSON property `duration`
|
||
# @return [String]
|
||
attr_accessor :duration
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@duration = args[:duration] if args.key?(:duration)
|
||
end
|
||
end
|
||
|
||
# Details for assigned keyword targeting option. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_KEYWORD`.
|
||
class KeywordAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. The keyword, for example `car insurance`. Positive keyword cannot be
|
||
# offensive word. Must be UTF-8 encoded with a maximum size of 255 bytes.
|
||
# Maximum number of characters is 80. Maximum number of words is 10.
|
||
# Corresponds to the JSON property `keyword`
|
||
# @return [String]
|
||
attr_accessor :keyword
|
||
|
||
# Indicates if this option is being negatively targeted.
|
||
# Corresponds to the JSON property `negative`
|
||
# @return [Boolean]
|
||
attr_accessor :negative
|
||
alias_method :negative?, :negative
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@keyword = args[:keyword] if args.key?(:keyword)
|
||
@negative = args[:negative] if args.key?(:negative)
|
||
end
|
||
end
|
||
|
||
# Details for assigned language targeting option. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_LANGUAGE`.
|
||
class LanguageAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The display name of the language (e.g., "French").
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# Indicates if this option is being negatively targeted. All assigned language
|
||
# targeting options on the same line item must have the same value for this
|
||
# field.
|
||
# Corresponds to the JSON property `negative`
|
||
# @return [Boolean]
|
||
attr_accessor :negative
|
||
alias_method :negative?, :negative
|
||
|
||
# Required. The targeting_option_id of a TargetingOption of type `
|
||
# TARGETING_TYPE_LANGUAGE`.
|
||
# Corresponds to the JSON property `targetingOptionId`
|
||
# @return [String]
|
||
attr_accessor :targeting_option_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@negative = args[:negative] if args.key?(:negative)
|
||
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
||
end
|
||
end
|
||
|
||
# Represents a targetable language. This will be populated in the
|
||
# language_details field when targeting_type is `TARGETING_TYPE_LANGUAGE`.
|
||
class LanguageTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The display name of the language (e.g., "French").
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
end
|
||
end
|
||
|
||
# A single line item.
|
||
class LineItem
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The unique ID of the advertiser the line item belongs to.
|
||
# Corresponds to the JSON property `advertiserId`
|
||
# @return [Fixnum]
|
||
attr_accessor :advertiser_id
|
||
|
||
# Settings that control the bid strategy. Bid strategy determines the bid price.
|
||
# Corresponds to the JSON property `bidStrategy`
|
||
# @return [Google::Apis::DisplayvideoV1::BiddingStrategy]
|
||
attr_accessor :bid_strategy
|
||
|
||
# Settings that control how budget is allocated.
|
||
# Corresponds to the JSON property `budget`
|
||
# @return [Google::Apis::DisplayvideoV1::LineItemBudget]
|
||
attr_accessor :budget
|
||
|
||
# Output only. The unique ID of the campaign that the line item belongs to.
|
||
# Corresponds to the JSON property `campaignId`
|
||
# @return [Fixnum]
|
||
attr_accessor :campaign_id
|
||
|
||
# Settings that control how conversions are counted. All post-click conversions
|
||
# will be counted. A percentage value can be set for post-view conversions
|
||
# counting.
|
||
# Corresponds to the JSON property `conversionCounting`
|
||
# @return [Google::Apis::DisplayvideoV1::ConversionCountingConfig]
|
||
attr_accessor :conversion_counting
|
||
|
||
# The IDs of the creatives associated with the line item.
|
||
# Corresponds to the JSON property `creativeIds`
|
||
# @return [Array<Fixnum>]
|
||
attr_accessor :creative_ids
|
||
|
||
# Required. The display name of the line item. Must be UTF-8 encoded with a
|
||
# maximum size of 240 bytes.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# Required. Controls whether or not the line item can spend its budget and bid
|
||
# on inventory. * For CreateLineItem method, only `ENTITY_STATUS_DRAFT` is
|
||
# allowed. To activate a line item, use UpdateLineItem method and update the
|
||
# status to `ENTITY_STATUS_ACTIVE` after creation. * A line item cannot be
|
||
# changed back to `ENTITY_STATUS_DRAFT` status from any other status. * If the
|
||
# line item's parent insertion order is not active, the line item can't spend
|
||
# its budget even if its own status is `ENTITY_STATUS_ACTIVE`.
|
||
# Corresponds to the JSON property `entityStatus`
|
||
# @return [String]
|
||
attr_accessor :entity_status
|
||
|
||
# Settings that control the active duration of a line item.
|
||
# Corresponds to the JSON property `flight`
|
||
# @return [Google::Apis::DisplayvideoV1::LineItemFlight]
|
||
attr_accessor :flight
|
||
|
||
# Settings that control the number of times a user may be shown with the same ad
|
||
# during a given time period.
|
||
# Corresponds to the JSON property `frequencyCap`
|
||
# @return [Google::Apis::DisplayvideoV1::FrequencyCap]
|
||
attr_accessor :frequency_cap
|
||
|
||
# Required. Immutable. The unique ID of the insertion order that the line item
|
||
# belongs to.
|
||
# Corresponds to the JSON property `insertionOrderId`
|
||
# @return [Fixnum]
|
||
attr_accessor :insertion_order_id
|
||
|
||
# Integration details of an entry.
|
||
# Corresponds to the JSON property `integrationDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::IntegrationDetails]
|
||
attr_accessor :integration_details
|
||
|
||
# The IDs of the private inventory sources assigned to the line item.
|
||
# Corresponds to the JSON property `inventorySourceIds`
|
||
# @return [Array<Fixnum>]
|
||
attr_accessor :inventory_source_ids
|
||
|
||
# Output only. The unique ID of the line item. Assigned by the system.
|
||
# Corresponds to the JSON property `lineItemId`
|
||
# @return [Fixnum]
|
||
attr_accessor :line_item_id
|
||
|
||
# Required. Immutable. The type of the line item.
|
||
# Corresponds to the JSON property `lineItemType`
|
||
# @return [String]
|
||
attr_accessor :line_item_type
|
||
|
||
# Output only. The resource name of the line item.
|
||
# Corresponds to the JSON property `name`
|
||
# @return [String]
|
||
attr_accessor :name
|
||
|
||
# Settings that control the rate at which a budget is spent.
|
||
# Corresponds to the JSON property `pacing`
|
||
# @return [Google::Apis::DisplayvideoV1::Pacing]
|
||
attr_accessor :pacing
|
||
|
||
# The partner costs associated with the line item. If absent or empty in
|
||
# CreateLineItem method, the newly created line item will inherit partner costs
|
||
# from its parent insertion order.
|
||
# Corresponds to the JSON property `partnerCosts`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::PartnerCost>]
|
||
attr_accessor :partner_costs
|
||
|
||
# Settings that control how partner revenue is calculated.
|
||
# Corresponds to the JSON property `partnerRevenueModel`
|
||
# @return [Google::Apis::DisplayvideoV1::PartnerRevenueModel]
|
||
attr_accessor :partner_revenue_model
|
||
|
||
# Output only. The timestamp when the line item was last updated. Assigned by
|
||
# the system.
|
||
# Corresponds to the JSON property `updateTime`
|
||
# @return [String]
|
||
attr_accessor :update_time
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
|
||
@bid_strategy = args[:bid_strategy] if args.key?(:bid_strategy)
|
||
@budget = args[:budget] if args.key?(:budget)
|
||
@campaign_id = args[:campaign_id] if args.key?(:campaign_id)
|
||
@conversion_counting = args[:conversion_counting] if args.key?(:conversion_counting)
|
||
@creative_ids = args[:creative_ids] if args.key?(:creative_ids)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@entity_status = args[:entity_status] if args.key?(:entity_status)
|
||
@flight = args[:flight] if args.key?(:flight)
|
||
@frequency_cap = args[:frequency_cap] if args.key?(:frequency_cap)
|
||
@insertion_order_id = args[:insertion_order_id] if args.key?(:insertion_order_id)
|
||
@integration_details = args[:integration_details] if args.key?(:integration_details)
|
||
@inventory_source_ids = args[:inventory_source_ids] if args.key?(:inventory_source_ids)
|
||
@line_item_id = args[:line_item_id] if args.key?(:line_item_id)
|
||
@line_item_type = args[:line_item_type] if args.key?(:line_item_type)
|
||
@name = args[:name] if args.key?(:name)
|
||
@pacing = args[:pacing] if args.key?(:pacing)
|
||
@partner_costs = args[:partner_costs] if args.key?(:partner_costs)
|
||
@partner_revenue_model = args[:partner_revenue_model] if args.key?(:partner_revenue_model)
|
||
@update_time = args[:update_time] if args.key?(:update_time)
|
||
end
|
||
end
|
||
|
||
# Settings that control how budget is allocated.
|
||
class LineItemBudget
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. The type of the budget allocation. `
|
||
# LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC` is only applicable when automatic
|
||
# budget allocation is enabled for the parent insertion order.
|
||
# Corresponds to the JSON property `budgetAllocationType`
|
||
# @return [String]
|
||
attr_accessor :budget_allocation_type
|
||
|
||
# Output only. The budget unit specifies whether the budget is currency based or
|
||
# impression based. This value is inherited from the parent insertion order.
|
||
# Corresponds to the JSON property `budgetUnit`
|
||
# @return [String]
|
||
attr_accessor :budget_unit
|
||
|
||
# The maximum budget amount the line item will spend. Must be greater than 0.
|
||
# When budget_allocation_type is: * `LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC`,
|
||
# this field is immutable and is set by the system. * `
|
||
# LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED`, if budget_unit is: - `
|
||
# BUDGET_UNIT_CURRENCY`, this field represents maximum budget amount to spend,
|
||
# in micros of the advertiser's currency. For example, 1500000 represents 1.5
|
||
# standard units of the currency. - `BUDGET_UNIT_IMPRESSIONS`, this field
|
||
# represents the maximum number of impressions to serve. * `
|
||
# LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNLIMITED`, this field is not applicable and
|
||
# will be ignored by the system.
|
||
# Corresponds to the JSON property `maxAmount`
|
||
# @return [Fixnum]
|
||
attr_accessor :max_amount
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@budget_allocation_type = args[:budget_allocation_type] if args.key?(:budget_allocation_type)
|
||
@budget_unit = args[:budget_unit] if args.key?(:budget_unit)
|
||
@max_amount = args[:max_amount] if args.key?(:max_amount)
|
||
end
|
||
end
|
||
|
||
# Settings that control the active duration of a line item.
|
||
class LineItemFlight
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# A date range.
|
||
# Corresponds to the JSON property `dateRange`
|
||
# @return [Google::Apis::DisplayvideoV1::DateRange]
|
||
attr_accessor :date_range
|
||
|
||
# Required. The type of the line item's flight dates.
|
||
# Corresponds to the JSON property `flightDateType`
|
||
# @return [String]
|
||
attr_accessor :flight_date_type
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@date_range = args[:date_range] if args.key?(:date_range)
|
||
@flight_date_type = args[:flight_date_type] if args.key?(:flight_date_type)
|
||
end
|
||
end
|
||
|
||
# Response message for ListAdvertiserAssignedTargetingOptions.
|
||
class ListAdvertiserAssignedTargetingOptionsResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of assigned targeting options. This list will be absent if empty.
|
||
# Corresponds to the JSON property `assignedTargetingOptions`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::AssignedTargetingOption>]
|
||
attr_accessor :assigned_targeting_options
|
||
|
||
# A token identifying the next page of results. This value should be specified
|
||
# as the pageToken in a subsequent ListAdvertiserAssignedTargetingOptionsRequest
|
||
# to fetch the next page of results. This token will be absent if there are no
|
||
# more assigned_targeting_options to return.
|
||
# Corresponds to the JSON property `nextPageToken`
|
||
# @return [String]
|
||
attr_accessor :next_page_token
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@assigned_targeting_options = args[:assigned_targeting_options] if args.key?(:assigned_targeting_options)
|
||
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
end
|
||
end
|
||
|
||
#
|
||
class ListAdvertisersResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of advertisers. This list will be absent if empty.
|
||
# Corresponds to the JSON property `advertisers`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::Advertiser>]
|
||
attr_accessor :advertisers
|
||
|
||
# A token to retrieve the next page of results. Pass this value in the
|
||
# page_token field in the subsequent call to `ListAdvertisers` method to
|
||
# retrieve the next page of results.
|
||
# Corresponds to the JSON property `nextPageToken`
|
||
# @return [String]
|
||
attr_accessor :next_page_token
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@advertisers = args[:advertisers] if args.key?(:advertisers)
|
||
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
end
|
||
end
|
||
|
||
# Response message for AssignedInventorySourceService.
|
||
# ListAssignedInventorySources.
|
||
class ListAssignedInventorySourcesResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of assigned inventory sources. This list will be absent if empty.
|
||
# Corresponds to the JSON property `assignedInventorySources`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::AssignedInventorySource>]
|
||
attr_accessor :assigned_inventory_sources
|
||
|
||
# A token to retrieve the next page of results. Pass this value in the
|
||
# page_token field in the subsequent call to `ListAssignedInventorySources`
|
||
# method to retrieve the next page of results.
|
||
# Corresponds to the JSON property `nextPageToken`
|
||
# @return [String]
|
||
attr_accessor :next_page_token
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@assigned_inventory_sources = args[:assigned_inventory_sources] if args.key?(:assigned_inventory_sources)
|
||
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
end
|
||
end
|
||
|
||
# Response message for AssignedLocationService.ListAssignedLocations.
|
||
class ListAssignedLocationsResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of assigned locations. This list will be absent if empty.
|
||
# Corresponds to the JSON property `assignedLocations`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::AssignedLocation>]
|
||
attr_accessor :assigned_locations
|
||
|
||
# A token to retrieve the next page of results. Pass this value in the
|
||
# page_token field in the subsequent call to `ListAssignedLocations` method to
|
||
# retrieve the next page of results.
|
||
# Corresponds to the JSON property `nextPageToken`
|
||
# @return [String]
|
||
attr_accessor :next_page_token
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@assigned_locations = args[:assigned_locations] if args.key?(:assigned_locations)
|
||
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
end
|
||
end
|
||
|
||
#
|
||
class ListCampaignsResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of campaigns. This list will be absent if empty.
|
||
# Corresponds to the JSON property `campaigns`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::Campaign>]
|
||
attr_accessor :campaigns
|
||
|
||
# A token to retrieve the next page of results. Pass this value in the
|
||
# page_token field in the subsequent call to `ListCampaigns` method to retrieve
|
||
# the next page of results.
|
||
# Corresponds to the JSON property `nextPageToken`
|
||
# @return [String]
|
||
attr_accessor :next_page_token
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@campaigns = args[:campaigns] if args.key?(:campaigns)
|
||
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
end
|
||
end
|
||
|
||
#
|
||
class ListChannelsResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of channels. This list will be absent if empty.
|
||
# Corresponds to the JSON property `channels`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::Channel>]
|
||
attr_accessor :channels
|
||
|
||
# A token to retrieve the next page of results. Pass this value in the
|
||
# page_token field in the subsequent call to `ListChannels` method to retrieve
|
||
# the next page of results.
|
||
# Corresponds to the JSON property `nextPageToken`
|
||
# @return [String]
|
||
attr_accessor :next_page_token
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@channels = args[:channels] if args.key?(:channels)
|
||
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
end
|
||
end
|
||
|
||
#
|
||
class ListCombinedAudiencesResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of combined audiences. This list will be absent if empty.
|
||
# Corresponds to the JSON property `combinedAudiences`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::CombinedAudience>]
|
||
attr_accessor :combined_audiences
|
||
|
||
# A token to retrieve the next page of results. Pass this value in the
|
||
# page_token field in the subsequent call to `ListCombinedAudiences` method to
|
||
# retrieve the next page of results.
|
||
# Corresponds to the JSON property `nextPageToken`
|
||
# @return [String]
|
||
attr_accessor :next_page_token
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@combined_audiences = args[:combined_audiences] if args.key?(:combined_audiences)
|
||
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
end
|
||
end
|
||
|
||
#
|
||
class ListCreativesResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of creatives. This list will be absent if empty.
|
||
# Corresponds to the JSON property `creatives`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::Creative>]
|
||
attr_accessor :creatives
|
||
|
||
# A token to retrieve the next page of results. Pass this value in the
|
||
# page_token field in the subsequent call to `ListCreativesRequest` method to
|
||
# retrieve the next page of results. If this field is null, it means this is the
|
||
# last page.
|
||
# Corresponds to the JSON property `nextPageToken`
|
||
# @return [String]
|
||
attr_accessor :next_page_token
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@creatives = args[:creatives] if args.key?(:creatives)
|
||
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
end
|
||
end
|
||
|
||
#
|
||
class ListCustomBiddingAlgorithmsResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of custom bidding algorithms. This list will be absent if empty.
|
||
# Corresponds to the JSON property `customBiddingAlgorithms`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::CustomBiddingAlgorithm>]
|
||
attr_accessor :custom_bidding_algorithms
|
||
|
||
# A token to retrieve the next page of results. Pass this value in the
|
||
# page_token field in the subsequent call to `ListCustomBiddingAlgorithmsRequest`
|
||
# method to retrieve the next page of results. If this field is null, it means
|
||
# this is the last page.
|
||
# Corresponds to the JSON property `nextPageToken`
|
||
# @return [String]
|
||
attr_accessor :next_page_token
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@custom_bidding_algorithms = args[:custom_bidding_algorithms] if args.key?(:custom_bidding_algorithms)
|
||
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
end
|
||
end
|
||
|
||
#
|
||
class ListCustomListsResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of custom lists. This list will be absent if empty.
|
||
# Corresponds to the JSON property `customLists`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::CustomList>]
|
||
attr_accessor :custom_lists
|
||
|
||
# A token to retrieve the next page of results. Pass this value in the
|
||
# page_token field in the subsequent call to `ListCustomLists` method to
|
||
# retrieve the next page of results.
|
||
# Corresponds to the JSON property `nextPageToken`
|
||
# @return [String]
|
||
attr_accessor :next_page_token
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@custom_lists = args[:custom_lists] if args.key?(:custom_lists)
|
||
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
end
|
||
end
|
||
|
||
#
|
||
class ListFirstAndThirdPartyAudiencesResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of first and third party audiences. Audience size properties will not
|
||
# be included. This list will be absent if empty.
|
||
# Corresponds to the JSON property `firstAndThirdPartyAudiences`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::FirstAndThirdPartyAudience>]
|
||
attr_accessor :first_and_third_party_audiences
|
||
|
||
# A token to retrieve the next page of results. Pass this value in the
|
||
# page_token field in the subsequent call to `ListFirstAndThirdPartyAudiences`
|
||
# method to retrieve the next page of results.
|
||
# Corresponds to the JSON property `nextPageToken`
|
||
# @return [String]
|
||
attr_accessor :next_page_token
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@first_and_third_party_audiences = args[:first_and_third_party_audiences] if args.key?(:first_and_third_party_audiences)
|
||
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
end
|
||
end
|
||
|
||
#
|
||
class ListGoogleAudiencesResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of Google audiences. This list will be absent if empty.
|
||
# Corresponds to the JSON property `googleAudiences`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::GoogleAudience>]
|
||
attr_accessor :google_audiences
|
||
|
||
# A token to retrieve the next page of results. Pass this value in the
|
||
# page_token field in the subsequent call to `ListGoogleAudiences` method to
|
||
# retrieve the next page of results.
|
||
# Corresponds to the JSON property `nextPageToken`
|
||
# @return [String]
|
||
attr_accessor :next_page_token
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@google_audiences = args[:google_audiences] if args.key?(:google_audiences)
|
||
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
end
|
||
end
|
||
|
||
#
|
||
class ListInsertionOrdersResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of insertion orders. This list will be absent if empty.
|
||
# Corresponds to the JSON property `insertionOrders`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::InsertionOrder>]
|
||
attr_accessor :insertion_orders
|
||
|
||
# A token to retrieve the next page of results. Pass this value in the
|
||
# page_token field in the subsequent call to `ListInsertionOrders` method to
|
||
# retrieve the next page of results.
|
||
# Corresponds to the JSON property `nextPageToken`
|
||
# @return [String]
|
||
attr_accessor :next_page_token
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@insertion_orders = args[:insertion_orders] if args.key?(:insertion_orders)
|
||
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
end
|
||
end
|
||
|
||
# Response message for InventorySourceGroupService.ListInventorySourceGroups.
|
||
class ListInventorySourceGroupsResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of inventory source groups. This list will be absent if empty.
|
||
# Corresponds to the JSON property `inventorySourceGroups`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::InventorySourceGroup>]
|
||
attr_accessor :inventory_source_groups
|
||
|
||
# A token to retrieve the next page of results. Pass this value in the
|
||
# page_token field in the subsequent call to `ListInventorySourceGroups` method
|
||
# to retrieve the next page of results.
|
||
# Corresponds to the JSON property `nextPageToken`
|
||
# @return [String]
|
||
attr_accessor :next_page_token
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@inventory_source_groups = args[:inventory_source_groups] if args.key?(:inventory_source_groups)
|
||
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
end
|
||
end
|
||
|
||
#
|
||
class ListInventorySourcesResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of inventory sources. This list will be absent if empty.
|
||
# Corresponds to the JSON property `inventorySources`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::InventorySource>]
|
||
attr_accessor :inventory_sources
|
||
|
||
# A token to retrieve the next page of results. Pass this value in the
|
||
# page_token field in the subsequent call to `ListInventorySources` method to
|
||
# retrieve the next page of results.
|
||
# Corresponds to the JSON property `nextPageToken`
|
||
# @return [String]
|
||
attr_accessor :next_page_token
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@inventory_sources = args[:inventory_sources] if args.key?(:inventory_sources)
|
||
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
end
|
||
end
|
||
|
||
# Response message for ListLineItemAssignedTargetingOptions.
|
||
class ListLineItemAssignedTargetingOptionsResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of assigned targeting options. This list will be absent if empty.
|
||
# Corresponds to the JSON property `assignedTargetingOptions`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::AssignedTargetingOption>]
|
||
attr_accessor :assigned_targeting_options
|
||
|
||
# A token identifying the next page of results. This value should be specified
|
||
# as the pageToken in a subsequent ListLineItemAssignedTargetingOptionsRequest
|
||
# to fetch the next page of results. This token will be absent if there are no
|
||
# more assigned_targeting_options to return.
|
||
# Corresponds to the JSON property `nextPageToken`
|
||
# @return [String]
|
||
attr_accessor :next_page_token
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@assigned_targeting_options = args[:assigned_targeting_options] if args.key?(:assigned_targeting_options)
|
||
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
end
|
||
end
|
||
|
||
#
|
||
class ListLineItemsResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of line items. This list will be absent if empty.
|
||
# Corresponds to the JSON property `lineItems`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::LineItem>]
|
||
attr_accessor :line_items
|
||
|
||
# A token to retrieve the next page of results. Pass this value in the
|
||
# page_token field in the subsequent call to `ListLineItems` method to retrieve
|
||
# the next page of results.
|
||
# Corresponds to the JSON property `nextPageToken`
|
||
# @return [String]
|
||
attr_accessor :next_page_token
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@line_items = args[:line_items] if args.key?(:line_items)
|
||
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
end
|
||
end
|
||
|
||
#
|
||
class ListLocationListsResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of location lists. This list will be absent if empty.
|
||
# Corresponds to the JSON property `locationLists`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::LocationList>]
|
||
attr_accessor :location_lists
|
||
|
||
# A token to retrieve the next page of results. Pass this value in the
|
||
# page_token field in the subsequent call to `ListLocationLists` method to
|
||
# retrieve the next page of results.
|
||
# Corresponds to the JSON property `nextPageToken`
|
||
# @return [String]
|
||
attr_accessor :next_page_token
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@location_lists = args[:location_lists] if args.key?(:location_lists)
|
||
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
end
|
||
end
|
||
|
||
# Response message for NegativeKeywordListService.ListNegativeKeywordLists.
|
||
class ListNegativeKeywordListsResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of negative keyword lists. This list will be absent if empty.
|
||
# Corresponds to the JSON property `negativeKeywordLists`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::NegativeKeywordList>]
|
||
attr_accessor :negative_keyword_lists
|
||
|
||
# A token to retrieve the next page of results. Pass this value in the
|
||
# page_token field in the subsequent call to `ListNegativeKeywordLists` method
|
||
# to retrieve the next page of results.
|
||
# Corresponds to the JSON property `nextPageToken`
|
||
# @return [String]
|
||
attr_accessor :next_page_token
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@negative_keyword_lists = args[:negative_keyword_lists] if args.key?(:negative_keyword_lists)
|
||
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
end
|
||
end
|
||
|
||
# Response message for NegativeKeywordService.ListNegativeKeywords.
|
||
class ListNegativeKeywordsResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of negative keywords. This list will be absent if empty.
|
||
# Corresponds to the JSON property `negativeKeywords`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::NegativeKeyword>]
|
||
attr_accessor :negative_keywords
|
||
|
||
# A token to retrieve the next page of results. Pass this value in the
|
||
# page_token field in the subsequent call to `ListNegativeKeywords` method to
|
||
# retrieve the next page of results.
|
||
# Corresponds to the JSON property `nextPageToken`
|
||
# @return [String]
|
||
attr_accessor :next_page_token
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@negative_keywords = args[:negative_keywords] if args.key?(:negative_keywords)
|
||
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
end
|
||
end
|
||
|
||
#
|
||
class ListPartnerAssignedTargetingOptionsResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The list of assigned targeting options. This list will be absent if empty.
|
||
# Corresponds to the JSON property `assignedTargetingOptions`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::AssignedTargetingOption>]
|
||
attr_accessor :assigned_targeting_options
|
||
|
||
# A token identifying the next page of results. This value should be specified
|
||
# as the pageToken in a subsequent ListPartnerAssignedTargetingOptionsRequest to
|
||
# fetch the next page of results. This token will be absent if there are no more
|
||
# assigned_targeting_options to return.
|
||
# Corresponds to the JSON property `nextPageToken`
|
||
# @return [String]
|
||
attr_accessor :next_page_token
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@assigned_targeting_options = args[:assigned_targeting_options] if args.key?(:assigned_targeting_options)
|
||
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
end
|
||
end
|
||
|
||
#
|
||
class ListPartnersResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# A token to retrieve the next page of results. Pass this value in the
|
||
# page_token field in the subsequent call to `ListPartners` method to retrieve
|
||
# the next page of results.
|
||
# Corresponds to the JSON property `nextPageToken`
|
||
# @return [String]
|
||
attr_accessor :next_page_token
|
||
|
||
# The list of partners. This list will be absent if empty.
|
||
# Corresponds to the JSON property `partners`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::Partner>]
|
||
attr_accessor :partners
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
@partners = args[:partners] if args.key?(:partners)
|
||
end
|
||
end
|
||
|
||
# Response message for SiteService.ListSites.
|
||
class ListSitesResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# A token to retrieve the next page of results. Pass this value in the
|
||
# page_token field in the subsequent call to `ListSites` method to retrieve the
|
||
# next page of results.
|
||
# Corresponds to the JSON property `nextPageToken`
|
||
# @return [String]
|
||
attr_accessor :next_page_token
|
||
|
||
# The list of sites. This list will be absent if empty.
|
||
# Corresponds to the JSON property `sites`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::Site>]
|
||
attr_accessor :sites
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
@sites = args[:sites] if args.key?(:sites)
|
||
end
|
||
end
|
||
|
||
# Response message for ListTargetingOptions.
|
||
class ListTargetingOptionsResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# A token to retrieve the next page of results. Pass this value in the
|
||
# page_token field in the subsequent call to `ListTargetingOptions` method to
|
||
# retrieve the next page of results.
|
||
# Corresponds to the JSON property `nextPageToken`
|
||
# @return [String]
|
||
attr_accessor :next_page_token
|
||
|
||
# The list of targeting options. This list will be absent if empty.
|
||
# Corresponds to the JSON property `targetingOptions`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::TargetingOption>]
|
||
attr_accessor :targeting_options
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
@targeting_options = args[:targeting_options] if args.key?(:targeting_options)
|
||
end
|
||
end
|
||
|
||
#
|
||
class ListUsersResponse
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# A token to retrieve the next page of results. Pass this value in the
|
||
# page_token field in the subsequent call to `ListUsers` method to retrieve the
|
||
# next page of results. This token will be absent if there are no more results
|
||
# to return.
|
||
# Corresponds to the JSON property `nextPageToken`
|
||
# @return [String]
|
||
attr_accessor :next_page_token
|
||
|
||
# The list of users. This list will be absent if empty.
|
||
# Corresponds to the JSON property `users`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::User>]
|
||
attr_accessor :users
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
@users = args[:users] if args.key?(:users)
|
||
end
|
||
end
|
||
|
||
# A list of locations used for targeting.
|
||
class LocationList
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. Immutable. The unique ID of the advertiser the location list belongs
|
||
# to.
|
||
# Corresponds to the JSON property `advertiserId`
|
||
# @return [Fixnum]
|
||
attr_accessor :advertiser_id
|
||
|
||
# Required. The display name of the location list. Must be UTF-8 encoded with a
|
||
# maximum size of 240 bytes.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# Output only. The unique ID of the location list. Assigned by the system.
|
||
# Corresponds to the JSON property `locationListId`
|
||
# @return [Fixnum]
|
||
attr_accessor :location_list_id
|
||
|
||
# Required. Immutable. The type of location. All locations in the list will
|
||
# share this type.
|
||
# Corresponds to the JSON property `locationType`
|
||
# @return [String]
|
||
attr_accessor :location_type
|
||
|
||
# Output only. The resource name of the location list.
|
||
# Corresponds to the JSON property `name`
|
||
# @return [String]
|
||
attr_accessor :name
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@location_list_id = args[:location_list_id] if args.key?(:location_list_id)
|
||
@location_type = args[:location_type] if args.key?(:location_type)
|
||
@name = args[:name] if args.key?(:name)
|
||
end
|
||
end
|
||
|
||
# Specifies how many days into the past to look when determining whether to
|
||
# record a conversion.
|
||
class LookbackWindow
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Lookback window, in days, from the last time a given user clicked on one of
|
||
# your ads.
|
||
# Corresponds to the JSON property `clickDays`
|
||
# @return [Fixnum]
|
||
attr_accessor :click_days
|
||
|
||
# Lookback window, in days, from the last time a given user viewed one of your
|
||
# ads.
|
||
# Corresponds to the JSON property `impressionDays`
|
||
# @return [Fixnum]
|
||
attr_accessor :impression_days
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@click_days = args[:click_days] if args.key?(:click_days)
|
||
@impression_days = args[:impression_days] if args.key?(:impression_days)
|
||
end
|
||
end
|
||
|
||
# A strategy that automatically adjusts the bid to optimize a specified
|
||
# performance goal while spending the full budget.
|
||
class MaximizeSpendBidStrategy
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The ID of the Custom Bidding Algorithm used by this strategy. Only applicable
|
||
# when performance_goal_type is set to `
|
||
# BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.
|
||
# Corresponds to the JSON property `customBiddingAlgorithmId`
|
||
# @return [Fixnum]
|
||
attr_accessor :custom_bidding_algorithm_id
|
||
|
||
# The maximum average CPM that may be bid, in micros of the advertiser's
|
||
# currency. Must be greater than or equal to a billable unit of the given
|
||
# currency. For example, 1500000 represents 1.5 standard units of the currency.
|
||
# Corresponds to the JSON property `maxAverageCpmBidAmountMicros`
|
||
# @return [Fixnum]
|
||
attr_accessor :max_average_cpm_bid_amount_micros
|
||
|
||
# Required. The type of the performance goal that the bidding strategy tries to
|
||
# minimize while spending the full budget. `
|
||
# BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` is not supported for this
|
||
# strategy.
|
||
# Corresponds to the JSON property `performanceGoalType`
|
||
# @return [String]
|
||
attr_accessor :performance_goal_type
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@custom_bidding_algorithm_id = args[:custom_bidding_algorithm_id] if args.key?(:custom_bidding_algorithm_id)
|
||
@max_average_cpm_bid_amount_micros = args[:max_average_cpm_bid_amount_micros] if args.key?(:max_average_cpm_bid_amount_micros)
|
||
@performance_goal_type = args[:performance_goal_type] if args.key?(:performance_goal_type)
|
||
end
|
||
end
|
||
|
||
# Measurement settings of a partner.
|
||
class MeasurementConfig
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Whether or not to report DV360 cost to CM.
|
||
# Corresponds to the JSON property `dv360ToCmCostReportingEnabled`
|
||
# @return [Boolean]
|
||
attr_accessor :dv360_to_cm_cost_reporting_enabled
|
||
alias_method :dv360_to_cm_cost_reporting_enabled?, :dv360_to_cm_cost_reporting_enabled
|
||
|
||
# Whether or not to include DV360 data in CM data transfer reports.
|
||
# Corresponds to the JSON property `dv360ToCmDataSharingEnabled`
|
||
# @return [Boolean]
|
||
attr_accessor :dv360_to_cm_data_sharing_enabled
|
||
alias_method :dv360_to_cm_data_sharing_enabled?, :dv360_to_cm_data_sharing_enabled
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@dv360_to_cm_cost_reporting_enabled = args[:dv360_to_cm_cost_reporting_enabled] if args.key?(:dv360_to_cm_cost_reporting_enabled)
|
||
@dv360_to_cm_data_sharing_enabled = args[:dv360_to_cm_data_sharing_enabled] if args.key?(:dv360_to_cm_data_sharing_enabled)
|
||
end
|
||
end
|
||
|
||
# Represents an amount of money with its currency type.
|
||
class Money
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The 3-letter currency code defined in ISO 4217.
|
||
# Corresponds to the JSON property `currencyCode`
|
||
# @return [String]
|
||
attr_accessor :currency_code
|
||
|
||
# Number of nano (10^-9) units of the amount. The value must be between -999,999,
|
||
# 999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be
|
||
# positive or zero. If `units` is zero, `nanos` can be positive, zero, or
|
||
# negative. If `units` is negative, `nanos` must be negative or zero. For
|
||
# example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
|
||
# Corresponds to the JSON property `nanos`
|
||
# @return [Fixnum]
|
||
attr_accessor :nanos
|
||
|
||
# The whole units of the amount. For example if `currencyCode` is `"USD"`, then
|
||
# 1 unit is one US dollar.
|
||
# Corresponds to the JSON property `units`
|
||
# @return [Fixnum]
|
||
attr_accessor :units
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@currency_code = args[:currency_code] if args.key?(:currency_code)
|
||
@nanos = args[:nanos] if args.key?(:nanos)
|
||
@units = args[:units] if args.key?(:units)
|
||
end
|
||
end
|
||
|
||
# A negatively targeted keyword that belongs to a negative keyword list.
|
||
class NegativeKeyword
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. Immutable. The negatively targeted keyword, for example `car
|
||
# insurance`. Must be UTF-8 encoded with a maximum size of 255 bytes. Maximum
|
||
# number of characters is 80. Maximum number of words is 10. Valid characters
|
||
# are restricted to ASCII characters only. The only URL-escaping permitted is
|
||
# for representing whitespace between words. Leading or trailing whitespace is
|
||
# ignored.
|
||
# Corresponds to the JSON property `keywordValue`
|
||
# @return [String]
|
||
attr_accessor :keyword_value
|
||
|
||
# Output only. The resource name of the negative keyword.
|
||
# Corresponds to the JSON property `name`
|
||
# @return [String]
|
||
attr_accessor :name
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@keyword_value = args[:keyword_value] if args.key?(:keyword_value)
|
||
@name = args[:name] if args.key?(:name)
|
||
end
|
||
end
|
||
|
||
# A list of negative keywords used for targeting.
|
||
class NegativeKeywordList
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The unique ID of the advertiser the negative keyword list belongs
|
||
# to.
|
||
# Corresponds to the JSON property `advertiserId`
|
||
# @return [Fixnum]
|
||
attr_accessor :advertiser_id
|
||
|
||
# Required. The display name of the negative keyword list. Must be UTF-8 encoded
|
||
# with a maximum size of 255 bytes.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# Output only. The resource name of the negative keyword list.
|
||
# Corresponds to the JSON property `name`
|
||
# @return [String]
|
||
attr_accessor :name
|
||
|
||
# Output only. The unique ID of the negative keyword list. Assigned by the
|
||
# system.
|
||
# Corresponds to the JSON property `negativeKeywordListId`
|
||
# @return [Fixnum]
|
||
attr_accessor :negative_keyword_list_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@name = args[:name] if args.key?(:name)
|
||
@negative_keyword_list_id = args[:negative_keyword_list_id] if args.key?(:negative_keyword_list_id)
|
||
end
|
||
end
|
||
|
||
# Targeting details for negative keyword list. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`.
|
||
class NegativeKeywordListAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. ID of the negative keyword list. Should refer to the
|
||
# negative_keyword_list_id field of a NegativeKeywordList resource.
|
||
# Corresponds to the JSON property `negativeKeywordListId`
|
||
# @return [Fixnum]
|
||
attr_accessor :negative_keyword_list_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@negative_keyword_list_id = args[:negative_keyword_list_id] if args.key?(:negative_keyword_list_id)
|
||
end
|
||
end
|
||
|
||
# OBA Icon for a Creative
|
||
class ObaIcon
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. The click tracking URL of the OBA icon. Only URLs of the following
|
||
# domains are allowed: * https://info.evidon.com * https://l.betrad.com
|
||
# Corresponds to the JSON property `clickTrackingUrl`
|
||
# @return [String]
|
||
attr_accessor :click_tracking_url
|
||
|
||
# Dimensions.
|
||
# Corresponds to the JSON property `dimensions`
|
||
# @return [Google::Apis::DisplayvideoV1::Dimensions]
|
||
attr_accessor :dimensions
|
||
|
||
# Required. The landing page URL of the OBA icon. Only URLs of the following
|
||
# domains are allowed: * https://info.evidon.com * https://l.betrad.com
|
||
# Corresponds to the JSON property `landingPageUrl`
|
||
# @return [String]
|
||
attr_accessor :landing_page_url
|
||
|
||
# The position of the OBA icon on the creative.
|
||
# Corresponds to the JSON property `position`
|
||
# @return [String]
|
||
attr_accessor :position
|
||
|
||
# The program of the OBA icon. For example: “AdChoices”.
|
||
# Corresponds to the JSON property `program`
|
||
# @return [String]
|
||
attr_accessor :program
|
||
|
||
# The MIME type of the OBA icon resource.
|
||
# Corresponds to the JSON property `resourceMimeType`
|
||
# @return [String]
|
||
attr_accessor :resource_mime_type
|
||
|
||
# The URL of the OBA icon resource.
|
||
# Corresponds to the JSON property `resourceUrl`
|
||
# @return [String]
|
||
attr_accessor :resource_url
|
||
|
||
# Required. The view tracking URL of the OBA icon. Only URLs of the following
|
||
# domains are allowed: * https://info.evidon.com * https://l.betrad.com
|
||
# Corresponds to the JSON property `viewTrackingUrl`
|
||
# @return [String]
|
||
attr_accessor :view_tracking_url
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@click_tracking_url = args[:click_tracking_url] if args.key?(:click_tracking_url)
|
||
@dimensions = args[:dimensions] if args.key?(:dimensions)
|
||
@landing_page_url = args[:landing_page_url] if args.key?(:landing_page_url)
|
||
@position = args[:position] if args.key?(:position)
|
||
@program = args[:program] if args.key?(:program)
|
||
@resource_mime_type = args[:resource_mime_type] if args.key?(:resource_mime_type)
|
||
@resource_url = args[:resource_url] if args.key?(:resource_url)
|
||
@view_tracking_url = args[:view_tracking_url] if args.key?(:view_tracking_url)
|
||
end
|
||
end
|
||
|
||
# On screen position targeting option details. This will be populated in the
|
||
# on_screen_position_details field when targeting_type is `
|
||
# TARGETING_TYPE_ON_SCREEN_POSITION`.
|
||
class OnScreenPositionAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The on screen position.
|
||
# Corresponds to the JSON property `onScreenPosition`
|
||
# @return [String]
|
||
attr_accessor :on_screen_position
|
||
|
||
# Required. The targeting_option_id field when targeting_type is `
|
||
# TARGETING_TYPE_ON_SCREEN_POSITION`.
|
||
# Corresponds to the JSON property `targetingOptionId`
|
||
# @return [String]
|
||
attr_accessor :targeting_option_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@on_screen_position = args[:on_screen_position] if args.key?(:on_screen_position)
|
||
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
||
end
|
||
end
|
||
|
||
# Represents a targetable on screen position, which could be used by display and
|
||
# video ads. This will be populated in the on_screen_position_details field when
|
||
# targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`.
|
||
class OnScreenPositionTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The on screen position.
|
||
# Corresponds to the JSON property `onScreenPosition`
|
||
# @return [String]
|
||
attr_accessor :on_screen_position
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@on_screen_position = args[:on_screen_position] if args.key?(:on_screen_position)
|
||
end
|
||
end
|
||
|
||
# Assigned operating system targeting option details. This will be populated in
|
||
# the operating_system_details field when targeting_type is `
|
||
# TARGETING_TYPE_OPERATING_SYSTEM`.
|
||
class OperatingSystemAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The display name of the operating system.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# Indicates if this option is being negatively targeted.
|
||
# Corresponds to the JSON property `negative`
|
||
# @return [Boolean]
|
||
attr_accessor :negative
|
||
alias_method :negative?, :negative
|
||
|
||
# Required. The targeting option ID populated in targeting_option_id field when
|
||
# targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`.
|
||
# Corresponds to the JSON property `targetingOptionId`
|
||
# @return [String]
|
||
attr_accessor :targeting_option_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@negative = args[:negative] if args.key?(:negative)
|
||
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
||
end
|
||
end
|
||
|
||
# Represents a targetable operating system. This will be populated in the
|
||
# operating_system_details field of a TargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_OPERATING_SYSTEM`.
|
||
class OperatingSystemTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The display name of the operating system.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
end
|
||
end
|
||
|
||
# This resource represents a long-running operation that is the result of a
|
||
# network API call.
|
||
class Operation
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# If the value is `false`, it means the operation is still in progress. If `true`
|
||
# , the operation is completed, and either `error` or `response` is available.
|
||
# Corresponds to the JSON property `done`
|
||
# @return [Boolean]
|
||
attr_accessor :done
|
||
alias_method :done?, :done
|
||
|
||
# The `Status` type defines a logical error model that is suitable for different
|
||
# programming environments, including REST APIs and RPC APIs. It is used by [
|
||
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
||
# data: error code, error message, and error details. You can find out more
|
||
# about this error model and how to work with it in the [API Design Guide](https:
|
||
# //cloud.google.com/apis/design/errors).
|
||
# Corresponds to the JSON property `error`
|
||
# @return [Google::Apis::DisplayvideoV1::Status]
|
||
attr_accessor :error
|
||
|
||
# Service-specific metadata associated with the operation. It typically contains
|
||
# progress information and common metadata such as create time. Some services
|
||
# might not provide such metadata. Any method that returns a long-running
|
||
# operation should document the metadata type, if any.
|
||
# Corresponds to the JSON property `metadata`
|
||
# @return [Hash<String,Object>]
|
||
attr_accessor :metadata
|
||
|
||
# The server-assigned name, which is only unique within the same service that
|
||
# originally returns it. If you use the default HTTP mapping, the `name` should
|
||
# be a resource name ending with `operations/`unique_id``.
|
||
# Corresponds to the JSON property `name`
|
||
# @return [String]
|
||
attr_accessor :name
|
||
|
||
# The normal response of the operation in case of success. If the original
|
||
# method returns no data on success, such as `Delete`, the response is `google.
|
||
# protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`,
|
||
# the response should be the resource. For other methods, the response should
|
||
# have the type `XxxResponse`, where `Xxx` is the original method name. For
|
||
# example, if the original method name is `TakeSnapshot()`, the inferred
|
||
# response type is `TakeSnapshotResponse`.
|
||
# Corresponds to the JSON property `response`
|
||
# @return [Hash<String,Object>]
|
||
attr_accessor :response
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@done = args[:done] if args.key?(:done)
|
||
@error = args[:error] if args.key?(:error)
|
||
@metadata = args[:metadata] if args.key?(:metadata)
|
||
@name = args[:name] if args.key?(:name)
|
||
@response = args[:response] if args.key?(:response)
|
||
end
|
||
end
|
||
|
||
# Settings that control the rate at which a budget is spent.
|
||
class Pacing
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Maximum number of impressions to serve every day. Applicable when the budget
|
||
# is impression based. Must be greater than 0.
|
||
# Corresponds to the JSON property `dailyMaxImpressions`
|
||
# @return [Fixnum]
|
||
attr_accessor :daily_max_impressions
|
||
|
||
# Maximum currency amount to spend every day in micros of advertiser's currency.
|
||
# Applicable when the budget is currency based. Must be greater than 0. For
|
||
# example, for 1.5 standard unit of the currency, set this field to 1500000. The
|
||
# value assigned will be rounded to whole billable units for the relevant
|
||
# currency by the following rules: any positive value less than a single
|
||
# billable unit will be rounded up to one billable unit and any value larger
|
||
# than a single billable unit will be rounded down to the nearest billable value.
|
||
# For example, if the currency's billable unit is 0.01, and this field is set
|
||
# to 10257770, it will round down to 10250000, a value of 10.25. If set to 505,
|
||
# it will round up to 10000, a value of 0.01.
|
||
# Corresponds to the JSON property `dailyMaxMicros`
|
||
# @return [Fixnum]
|
||
attr_accessor :daily_max_micros
|
||
|
||
# Required. The time period in which the pacing budget will be spent. When
|
||
# automatic budget allocation is enabled at the insertion order via
|
||
# auto_budget_allocation, this field is output only and defaults to `
|
||
# PACING_PERIOD_FLIGHT`.
|
||
# Corresponds to the JSON property `pacingPeriod`
|
||
# @return [String]
|
||
attr_accessor :pacing_period
|
||
|
||
# Required. The type of pacing that defines how the budget amount will be spent
|
||
# across the pacing_period.
|
||
# Corresponds to the JSON property `pacingType`
|
||
# @return [String]
|
||
attr_accessor :pacing_type
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@daily_max_impressions = args[:daily_max_impressions] if args.key?(:daily_max_impressions)
|
||
@daily_max_micros = args[:daily_max_micros] if args.key?(:daily_max_micros)
|
||
@pacing_period = args[:pacing_period] if args.key?(:pacing_period)
|
||
@pacing_type = args[:pacing_type] if args.key?(:pacing_type)
|
||
end
|
||
end
|
||
|
||
# A filtering option that filters on selected file types belonging to a chosen
|
||
# set of filter entities.
|
||
class ParentEntityFilter
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. File types that will be returned.
|
||
# Corresponds to the JSON property `fileType`
|
||
# @return [Array<String>]
|
||
attr_accessor :file_type
|
||
|
||
# The IDs of the specified filter type. This is used to filter entities to fetch.
|
||
# If filter type is not `FILTER_TYPE_NONE`, at least one ID must be specified.
|
||
# Corresponds to the JSON property `filterIds`
|
||
# @return [Array<Fixnum>]
|
||
attr_accessor :filter_ids
|
||
|
||
# Required. Filter type used to filter fetched entities.
|
||
# Corresponds to the JSON property `filterType`
|
||
# @return [String]
|
||
attr_accessor :filter_type
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@file_type = args[:file_type] if args.key?(:file_type)
|
||
@filter_ids = args[:filter_ids] if args.key?(:filter_ids)
|
||
@filter_type = args[:filter_type] if args.key?(:filter_type)
|
||
end
|
||
end
|
||
|
||
# Details for assigned parental status targeting option. This will be populated
|
||
# in the details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARTGETING_TYPE_PARENTAL_STATUS`.
|
||
class ParentalStatusAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The parental status of the audience.
|
||
# Corresponds to the JSON property `parentalStatus`
|
||
# @return [String]
|
||
attr_accessor :parental_status
|
||
|
||
# Required. The targeting_option_id of a TargetingOption of type `
|
||
# TARGETING_TYPE_PARENTAL_STATUS`.
|
||
# Corresponds to the JSON property `targetingOptionId`
|
||
# @return [String]
|
||
attr_accessor :targeting_option_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@parental_status = args[:parental_status] if args.key?(:parental_status)
|
||
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
||
end
|
||
end
|
||
|
||
# Represents a targetable parental status. This will be populated in the
|
||
# parental_status_details field of a TargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_PARENTAL_STATUS`.
|
||
class ParentalStatusTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The parental status of an audience.
|
||
# Corresponds to the JSON property `parentalStatus`
|
||
# @return [String]
|
||
attr_accessor :parental_status
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@parental_status = args[:parental_status] if args.key?(:parental_status)
|
||
end
|
||
end
|
||
|
||
# A single partner in Display & Video 360 (DV360).
|
||
class Partner
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Ad server related settings of a partner.
|
||
# Corresponds to the JSON property `adServerConfig`
|
||
# @return [Google::Apis::DisplayvideoV1::PartnerAdServerConfig]
|
||
attr_accessor :ad_server_config
|
||
|
||
# Settings that control how partner related data may be accessed.
|
||
# Corresponds to the JSON property `dataAccessConfig`
|
||
# @return [Google::Apis::DisplayvideoV1::PartnerDataAccessConfig]
|
||
attr_accessor :data_access_config
|
||
|
||
# The display name of the partner. Must be UTF-8 encoded with a maximum size of
|
||
# 240 bytes.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# Output only. The status of the partner.
|
||
# Corresponds to the JSON property `entityStatus`
|
||
# @return [String]
|
||
attr_accessor :entity_status
|
||
|
||
# Settings that control which exchanges are enabled for a partner.
|
||
# Corresponds to the JSON property `exchangeConfig`
|
||
# @return [Google::Apis::DisplayvideoV1::ExchangeConfig]
|
||
attr_accessor :exchange_config
|
||
|
||
# General settings of a partner.
|
||
# Corresponds to the JSON property `generalConfig`
|
||
# @return [Google::Apis::DisplayvideoV1::PartnerGeneralConfig]
|
||
attr_accessor :general_config
|
||
|
||
# Output only. The resource name of the partner.
|
||
# Corresponds to the JSON property `name`
|
||
# @return [String]
|
||
attr_accessor :name
|
||
|
||
# Output only. The unique ID of the partner. Assigned by the system.
|
||
# Corresponds to the JSON property `partnerId`
|
||
# @return [Fixnum]
|
||
attr_accessor :partner_id
|
||
|
||
# Output only. The timestamp when the partner was last updated. Assigned by the
|
||
# system.
|
||
# Corresponds to the JSON property `updateTime`
|
||
# @return [String]
|
||
attr_accessor :update_time
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@ad_server_config = args[:ad_server_config] if args.key?(:ad_server_config)
|
||
@data_access_config = args[:data_access_config] if args.key?(:data_access_config)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@entity_status = args[:entity_status] if args.key?(:entity_status)
|
||
@exchange_config = args[:exchange_config] if args.key?(:exchange_config)
|
||
@general_config = args[:general_config] if args.key?(:general_config)
|
||
@name = args[:name] if args.key?(:name)
|
||
@partner_id = args[:partner_id] if args.key?(:partner_id)
|
||
@update_time = args[:update_time] if args.key?(:update_time)
|
||
end
|
||
end
|
||
|
||
# Ad server related settings of a partner.
|
||
class PartnerAdServerConfig
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Measurement settings of a partner.
|
||
# Corresponds to the JSON property `measurementConfig`
|
||
# @return [Google::Apis::DisplayvideoV1::MeasurementConfig]
|
||
attr_accessor :measurement_config
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@measurement_config = args[:measurement_config] if args.key?(:measurement_config)
|
||
end
|
||
end
|
||
|
||
# Settings that control a partner cost. A partner cost is any type of expense
|
||
# involved in running a campaign, other than the costs of purchasing impressions
|
||
# (which is called the media cost) and using third-party audience segment data (
|
||
# data fee). Some examples of partner costs include the fees for using DV360, a
|
||
# third-party ad server, or a third-party ad serving verification service.
|
||
class PartnerCost
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. The type of the partner cost.
|
||
# Corresponds to the JSON property `costType`
|
||
# @return [String]
|
||
attr_accessor :cost_type
|
||
|
||
# The CPM fee amount in micros of advertiser's currency. Applicable when the
|
||
# fee_type is `PARTNER_FEE_TYPE_CPM_FEE`. Must be greater than or equal to 0.
|
||
# For example, for 1.5 standard unit of the advertiser's currency, set this
|
||
# field to 1500000.
|
||
# Corresponds to the JSON property `feeAmount`
|
||
# @return [Fixnum]
|
||
attr_accessor :fee_amount
|
||
|
||
# The media fee percentage in millis (1/1000 of a percent). Applicable when the
|
||
# fee_type is `PARTNER_FEE_TYPE_MEDIA_FEE`. Must be greater than or equal to 0.
|
||
# For example: 100 represents 0.1%.
|
||
# Corresponds to the JSON property `feePercentageMillis`
|
||
# @return [Fixnum]
|
||
attr_accessor :fee_percentage_millis
|
||
|
||
# Required. The fee type for this partner cost.
|
||
# Corresponds to the JSON property `feeType`
|
||
# @return [String]
|
||
attr_accessor :fee_type
|
||
|
||
# The invoice type for this partner cost. * Required when cost_type is one of: -
|
||
# `PARTNER_COST_TYPE_ADLOOX` - `PARTNER_COST_TYPE_DOUBLE_VERIFY` - `
|
||
# PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE`. * Output only for other types.
|
||
# Corresponds to the JSON property `invoiceType`
|
||
# @return [String]
|
||
attr_accessor :invoice_type
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@cost_type = args[:cost_type] if args.key?(:cost_type)
|
||
@fee_amount = args[:fee_amount] if args.key?(:fee_amount)
|
||
@fee_percentage_millis = args[:fee_percentage_millis] if args.key?(:fee_percentage_millis)
|
||
@fee_type = args[:fee_type] if args.key?(:fee_type)
|
||
@invoice_type = args[:invoice_type] if args.key?(:invoice_type)
|
||
end
|
||
end
|
||
|
||
# Settings that control how partner related data may be accessed.
|
||
class PartnerDataAccessConfig
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Structured Data File (SDF) related settings.
|
||
# Corresponds to the JSON property `sdfConfig`
|
||
# @return [Google::Apis::DisplayvideoV1::SdfConfig]
|
||
attr_accessor :sdf_config
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@sdf_config = args[:sdf_config] if args.key?(:sdf_config)
|
||
end
|
||
end
|
||
|
||
# General settings of a partner.
|
||
class PartnerGeneralConfig
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Immutable. Partner's currency in ISO 4217 format.
|
||
# Corresponds to the JSON property `currencyCode`
|
||
# @return [String]
|
||
attr_accessor :currency_code
|
||
|
||
# Immutable. The standard TZ database name of the partner's time zone. For
|
||
# example, `America/New_York`. See more at: https://en.wikipedia.org/wiki/
|
||
# List_of_tz_database_time_zones
|
||
# Corresponds to the JSON property `timeZone`
|
||
# @return [String]
|
||
attr_accessor :time_zone
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@currency_code = args[:currency_code] if args.key?(:currency_code)
|
||
@time_zone = args[:time_zone] if args.key?(:time_zone)
|
||
end
|
||
end
|
||
|
||
# Settings that control how partner revenue is calculated.
|
||
class PartnerRevenueModel
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. The markup amount of the partner revenue model. Must be greater than
|
||
# or equal to 0. * When the markup_type is set to be `
|
||
# PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM`, this field represents the CPM markup
|
||
# in micros of advertiser's currency. For example, 1500000 represents 1.5
|
||
# standard units of the currency. * When the markup_type is set to be `
|
||
# PARTNER_REVENUE_MODEL_MARKUP_TYPE_MEDIA_COST_MARKUP`, this field represents
|
||
# the media cost percent markup in millis. For example, 100 represents 0.1% (
|
||
# decimal 0.001). * When the markup_type is set to be `
|
||
# PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP`, this field
|
||
# represents the total media cost percent markup in millis. For example, 100
|
||
# represents 0.1% (decimal 0.001).
|
||
# Corresponds to the JSON property `markupAmount`
|
||
# @return [Fixnum]
|
||
attr_accessor :markup_amount
|
||
|
||
# Required. The markup type of the partner revenue model.
|
||
# Corresponds to the JSON property `markupType`
|
||
# @return [String]
|
||
attr_accessor :markup_type
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@markup_amount = args[:markup_amount] if args.key?(:markup_amount)
|
||
@markup_type = args[:markup_type] if args.key?(:markup_type)
|
||
end
|
||
end
|
||
|
||
# Settings that control the performance goal of a campaign or insertion order.
|
||
class PerformanceGoal
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The goal amount, in micros of the advertiser's currency. Applicable when
|
||
# performance_goal_type is one of: * `PERFORMANCE_GOAL_TYPE_CPM` * `
|
||
# PERFORMANCE_GOAL_TYPE_CPC` * `PERFORMANCE_GOAL_TYPE_CPA` * `
|
||
# PERFORMANCE_GOAL_TYPE_CPIAVC` For example 1500000 represents 1.5 standard
|
||
# units of the currency.
|
||
# Corresponds to the JSON property `performanceGoalAmountMicros`
|
||
# @return [Fixnum]
|
||
attr_accessor :performance_goal_amount_micros
|
||
|
||
# The decimal representation of the goal percentage in micros. Applicable when
|
||
# performance_goal_type is one of: * `PERFORMANCE_GOAL_TYPE_CTR` * `
|
||
# PERFORMANCE_GOAL_TYPE_VIEWABILITY` For example, 70000 represents 7% (decimal 0.
|
||
# 07).
|
||
# Corresponds to the JSON property `performanceGoalPercentageMicros`
|
||
# @return [Fixnum]
|
||
attr_accessor :performance_goal_percentage_micros
|
||
|
||
# A key performance indicator (KPI) string, which can be empty. Must be UTF-8
|
||
# encoded with a length of no more than 100 characters. Applicable when
|
||
# performance_goal_type is set to `PERFORMANCE_GOAL_TYPE_OTHER`.
|
||
# Corresponds to the JSON property `performanceGoalString`
|
||
# @return [String]
|
||
attr_accessor :performance_goal_string
|
||
|
||
# Required. The type of the performance goal.
|
||
# Corresponds to the JSON property `performanceGoalType`
|
||
# @return [String]
|
||
attr_accessor :performance_goal_type
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@performance_goal_amount_micros = args[:performance_goal_amount_micros] if args.key?(:performance_goal_amount_micros)
|
||
@performance_goal_percentage_micros = args[:performance_goal_percentage_micros] if args.key?(:performance_goal_percentage_micros)
|
||
@performance_goal_string = args[:performance_goal_string] if args.key?(:performance_goal_string)
|
||
@performance_goal_type = args[:performance_goal_type] if args.key?(:performance_goal_type)
|
||
end
|
||
end
|
||
|
||
# A strategy that automatically adjusts the bid to meet or beat a specified
|
||
# performance goal.
|
||
class PerformanceGoalBidStrategy
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The ID of the Custom Bidding Algorithm used by this strategy. Only applicable
|
||
# when performance_goal_type is set to `
|
||
# BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.
|
||
# Corresponds to the JSON property `customBiddingAlgorithmId`
|
||
# @return [Fixnum]
|
||
attr_accessor :custom_bidding_algorithm_id
|
||
|
||
# The maximum average CPM that may be bid, in micros of the advertiser's
|
||
# currency. Must be greater than or equal to a billable unit of the given
|
||
# currency. Not applicable when performance_goal_type is set to `
|
||
# BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`. For example, 1500000
|
||
# represents 1.5 standard units of the currency.
|
||
# Corresponds to the JSON property `maxAverageCpmBidAmountMicros`
|
||
# @return [Fixnum]
|
||
attr_accessor :max_average_cpm_bid_amount_micros
|
||
|
||
# Required. The performance goal the bidding strategy will attempt to meet or
|
||
# beat, in micros of the advertiser's currency or in micro of the ROAS (Return
|
||
# On Advertising Spend) value which is also based on advertiser's currency. Must
|
||
# be greater than or equal to a billable unit of the given currency and smaller
|
||
# or equal to upper bounds. Each performance_goal_type has its upper bound: *
|
||
# when performance_goal_type is `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA`,
|
||
# upper bound is 10000.00 USD. * when performance_goal_type is `
|
||
# BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC`, upper bound is 1000.00 USD. *
|
||
# when performance_goal_type is `
|
||
# BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`, upper bound is 1000.00
|
||
# USD. * when performance_goal_type is `
|
||
# BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`, upper bound is 1000.00
|
||
# and lower bound is 0.01. Example: If set to `
|
||
# BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`, the bid price will be
|
||
# based on the probability that each available impression will be viewable. For
|
||
# example, if viewable CPM target is $2 and an impression is 40% likely to be
|
||
# viewable, the bid price will be $0.80 CPM (40% of $2). For example, 1500000
|
||
# represents 1.5 standard units of the currency or ROAS value.
|
||
# Corresponds to the JSON property `performanceGoalAmountMicros`
|
||
# @return [Fixnum]
|
||
attr_accessor :performance_goal_amount_micros
|
||
|
||
# Required. The type of the performance goal that the bidding strategy will try
|
||
# to meet or beat. For line item level usage, the value must be one of: * `
|
||
# BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA` * `
|
||
# BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC` * `
|
||
# BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` * `
|
||
# BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.
|
||
# Corresponds to the JSON property `performanceGoalType`
|
||
# @return [String]
|
||
attr_accessor :performance_goal_type
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@custom_bidding_algorithm_id = args[:custom_bidding_algorithm_id] if args.key?(:custom_bidding_algorithm_id)
|
||
@max_average_cpm_bid_amount_micros = args[:max_average_cpm_bid_amount_micros] if args.key?(:max_average_cpm_bid_amount_micros)
|
||
@performance_goal_amount_micros = args[:performance_goal_amount_micros] if args.key?(:performance_goal_amount_micros)
|
||
@performance_goal_type = args[:performance_goal_type] if args.key?(:performance_goal_type)
|
||
end
|
||
end
|
||
|
||
# Targeting details for proximity location list. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
|
||
class ProximityLocationListAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. ID of the proximity location list. Should refer to the
|
||
# location_list_id field of a LocationList resource whose type is `
|
||
# TARGETING_LOCATION_TYPE_PROXIMITY`.
|
||
# Corresponds to the JSON property `proximityLocationListId`
|
||
# @return [Fixnum]
|
||
attr_accessor :proximity_location_list_id
|
||
|
||
# Required. Radius range for proximity location list. This represents the size
|
||
# of the area around a chosen location that will be targeted. `All` proximity
|
||
# location targeting under a single line item must have the same radius range
|
||
# value. Set this value to match any existing targeting. If updated, this field
|
||
# will change the radius range for all proximity targeting under the line item.
|
||
# Corresponds to the JSON property `proximityRadiusRange`
|
||
# @return [String]
|
||
attr_accessor :proximity_radius_range
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@proximity_location_list_id = args[:proximity_location_list_id] if args.key?(:proximity_location_list_id)
|
||
@proximity_radius_range = args[:proximity_radius_range] if args.key?(:proximity_radius_range)
|
||
end
|
||
end
|
||
|
||
# Publisher review status for the creative.
|
||
class PublisherReviewStatus
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The publisher reviewing the creative.
|
||
# Corresponds to the JSON property `publisherName`
|
||
# @return [String]
|
||
attr_accessor :publisher_name
|
||
|
||
# Status of the publisher review.
|
||
# Corresponds to the JSON property `status`
|
||
# @return [String]
|
||
attr_accessor :status
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@publisher_name = args[:publisher_name] if args.key?(:publisher_name)
|
||
@status = args[:status] if args.key?(:status)
|
||
end
|
||
end
|
||
|
||
# The rate related settings of the inventory source.
|
||
class RateDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The rate type. Acceptable values are `INVENTORY_SOURCE_RATE_TYPE_CPM_FIXED`, `
|
||
# INVENTORY_SOURCE_RATE_TYPE_CPM_FLOOR`, and `INVENTORY_SOURCE_RATE_TYPE_CPD`.
|
||
# Corresponds to the JSON property `inventorySourceRateType`
|
||
# @return [String]
|
||
attr_accessor :inventory_source_rate_type
|
||
|
||
# Represents an amount of money with its currency type.
|
||
# Corresponds to the JSON property `minimumSpend`
|
||
# @return [Google::Apis::DisplayvideoV1::Money]
|
||
attr_accessor :minimum_spend
|
||
|
||
# Represents an amount of money with its currency type.
|
||
# Corresponds to the JSON property `rate`
|
||
# @return [Google::Apis::DisplayvideoV1::Money]
|
||
attr_accessor :rate
|
||
|
||
# Required for guaranteed inventory sources. The number of impressions
|
||
# guaranteed by the seller.
|
||
# Corresponds to the JSON property `unitsPurchased`
|
||
# @return [Fixnum]
|
||
attr_accessor :units_purchased
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@inventory_source_rate_type = args[:inventory_source_rate_type] if args.key?(:inventory_source_rate_type)
|
||
@minimum_spend = args[:minimum_spend] if args.key?(:minimum_spend)
|
||
@rate = args[:rate] if args.key?(:rate)
|
||
@units_purchased = args[:units_purchased] if args.key?(:units_purchased)
|
||
end
|
||
end
|
||
|
||
# Targeting details for regional location list. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_REGIONAL_LOCATION_LIST`.
|
||
class RegionalLocationListAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Indicates if this option is being negatively targeted.
|
||
# Corresponds to the JSON property `negative`
|
||
# @return [Boolean]
|
||
attr_accessor :negative
|
||
alias_method :negative?, :negative
|
||
|
||
# Required. ID of the regional location list. Should refer to the
|
||
# location_list_id field of a LocationList resource whose type is `
|
||
# TARGETING_LOCATION_TYPE_REGIONAL`.
|
||
# Corresponds to the JSON property `regionalLocationListId`
|
||
# @return [Fixnum]
|
||
attr_accessor :regional_location_list_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@negative = args[:negative] if args.key?(:negative)
|
||
@regional_location_list_id = args[:regional_location_list_id] if args.key?(:regional_location_list_id)
|
||
end
|
||
end
|
||
|
||
# Review statuses for the creative.
|
||
class ReviewStatusInfo
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Represents the basic approval needed for a creative to begin serving. Summary
|
||
# of creative_and_landing_page_review_status and
|
||
# content_and_policy_review_status.
|
||
# Corresponds to the JSON property `approvalStatus`
|
||
# @return [String]
|
||
attr_accessor :approval_status
|
||
|
||
# Content and policy review status for the creative.
|
||
# Corresponds to the JSON property `contentAndPolicyReviewStatus`
|
||
# @return [String]
|
||
attr_accessor :content_and_policy_review_status
|
||
|
||
# Creative and landing page review status for the creative.
|
||
# Corresponds to the JSON property `creativeAndLandingPageReviewStatus`
|
||
# @return [String]
|
||
attr_accessor :creative_and_landing_page_review_status
|
||
|
||
# Exchange review statuses for the creative.
|
||
# Corresponds to the JSON property `exchangeReviewStatuses`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::ExchangeReviewStatus>]
|
||
attr_accessor :exchange_review_statuses
|
||
|
||
# Publisher review statuses for the creative.
|
||
# Corresponds to the JSON property `publisherReviewStatuses`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::PublisherReviewStatus>]
|
||
attr_accessor :publisher_review_statuses
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@approval_status = args[:approval_status] if args.key?(:approval_status)
|
||
@content_and_policy_review_status = args[:content_and_policy_review_status] if args.key?(:content_and_policy_review_status)
|
||
@creative_and_landing_page_review_status = args[:creative_and_landing_page_review_status] if args.key?(:creative_and_landing_page_review_status)
|
||
@exchange_review_statuses = args[:exchange_review_statuses] if args.key?(:exchange_review_statuses)
|
||
@publisher_review_statuses = args[:publisher_review_statuses] if args.key?(:publisher_review_statuses)
|
||
end
|
||
end
|
||
|
||
# Structured Data File (SDF) related settings.
|
||
class SdfConfig
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# An administrator email address to which the SDF processing status reports will
|
||
# be sent.
|
||
# Corresponds to the JSON property `adminEmail`
|
||
# @return [String]
|
||
attr_accessor :admin_email
|
||
|
||
# Required. The version of SDF being used.
|
||
# Corresponds to the JSON property `version`
|
||
# @return [String]
|
||
attr_accessor :version
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@admin_email = args[:admin_email] if args.key?(:admin_email)
|
||
@version = args[:version] if args.key?(:version)
|
||
end
|
||
end
|
||
|
||
# Type for the response returned by [SdfDownloadTaskService.
|
||
# CreateSdfDownloadTask].
|
||
class SdfDownloadTask
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# A resource name to be used in media.download to Download the prepared files.
|
||
# Resource names have the format `download/sdfdownloadtasks/media/`media_id``. `
|
||
# media_id` will be made available by the long running operation service once
|
||
# the task status is done.
|
||
# Corresponds to the JSON property `resourceName`
|
||
# @return [String]
|
||
attr_accessor :resource_name
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@resource_name = args[:resource_name] if args.key?(:resource_name)
|
||
end
|
||
end
|
||
|
||
# Type for the metadata returned by [SdfDownloadTaskService.
|
||
# CreateSdfDownloadTask].
|
||
class SdfDownloadTaskMetadata
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The time when the operation was created.
|
||
# Corresponds to the JSON property `createTime`
|
||
# @return [String]
|
||
attr_accessor :create_time
|
||
|
||
# The time when execution was completed.
|
||
# Corresponds to the JSON property `endTime`
|
||
# @return [String]
|
||
attr_accessor :end_time
|
||
|
||
# The SDF version used to execute this download task.
|
||
# Corresponds to the JSON property `version`
|
||
# @return [String]
|
||
attr_accessor :version
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@create_time = args[:create_time] if args.key?(:create_time)
|
||
@end_time = args[:end_time] if args.key?(:end_time)
|
||
@version = args[:version] if args.key?(:version)
|
||
end
|
||
end
|
||
|
||
# Targeting details for sensitive category. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.
|
||
class SensitiveCategoryAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. ID of the sensitive category to be EXCLUDED.
|
||
# Corresponds to the JSON property `excludedTargetingOptionId`
|
||
# @return [String]
|
||
attr_accessor :excluded_targeting_option_id
|
||
|
||
# Output only. An enum for the DV360 Sensitive category content classifier.
|
||
# Corresponds to the JSON property `sensitiveCategory`
|
||
# @return [String]
|
||
attr_accessor :sensitive_category
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@excluded_targeting_option_id = args[:excluded_targeting_option_id] if args.key?(:excluded_targeting_option_id)
|
||
@sensitive_category = args[:sensitive_category] if args.key?(:sensitive_category)
|
||
end
|
||
end
|
||
|
||
# Represents a targetable sensitive category. This will be populated in the
|
||
# sensitive_category_details field of the TargetingOption when targeting_type is
|
||
# `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.
|
||
class SensitiveCategoryTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. An enum for the DV360 Sensitive category content classifier.
|
||
# Corresponds to the JSON property `sensitiveCategory`
|
||
# @return [String]
|
||
attr_accessor :sensitive_category
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@sensitive_category = args[:sensitive_category] if args.key?(:sensitive_category)
|
||
end
|
||
end
|
||
|
||
# A single site. Sites are apps or websites belonging to a channel.
|
||
class Site
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The resource name of the site.
|
||
# Corresponds to the JSON property `name`
|
||
# @return [String]
|
||
attr_accessor :name
|
||
|
||
# Required. The URL or app ID of the site. Must be UTF-8 encoded with a maximum
|
||
# length of 240 bytes.
|
||
# Corresponds to the JSON property `urlOrAppId`
|
||
# @return [String]
|
||
attr_accessor :url_or_app_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@name = args[:name] if args.key?(:name)
|
||
@url_or_app_id = args[:url_or_app_id] if args.key?(:url_or_app_id)
|
||
end
|
||
end
|
||
|
||
# The `Status` type defines a logical error model that is suitable for different
|
||
# programming environments, including REST APIs and RPC APIs. It is used by [
|
||
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
||
# data: error code, error message, and error details. You can find out more
|
||
# about this error model and how to work with it in the [API Design Guide](https:
|
||
# //cloud.google.com/apis/design/errors).
|
||
class Status
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The status code, which should be an enum value of google.rpc.Code.
|
||
# Corresponds to the JSON property `code`
|
||
# @return [Fixnum]
|
||
attr_accessor :code
|
||
|
||
# A list of messages that carry the error details. There is a common set of
|
||
# message types for APIs to use.
|
||
# Corresponds to the JSON property `details`
|
||
# @return [Array<Hash<String,Object>>]
|
||
attr_accessor :details
|
||
|
||
# A developer-facing error message, which should be in English. Any user-facing
|
||
# error message should be localized and sent in the google.rpc.Status.details
|
||
# field, or localized by the client.
|
||
# Corresponds to the JSON property `message`
|
||
# @return [String]
|
||
attr_accessor :message
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@code = args[:code] if args.key?(:code)
|
||
@details = args[:details] if args.key?(:details)
|
||
@message = args[:message] if args.key?(:message)
|
||
end
|
||
end
|
||
|
||
# Details for assigned sub-exchange targeting option. This will be populated in
|
||
# the details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_SUB_EXCHANGE`.
|
||
class SubExchangeAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. The targeting_option_id of a TargetingOption of type `
|
||
# TARGETING_TYPE_SUB_EXCHANGE`.
|
||
# Corresponds to the JSON property `targetingOptionId`
|
||
# @return [String]
|
||
attr_accessor :targeting_option_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
||
end
|
||
end
|
||
|
||
# Represents a targetable sub-exchange. This will be populated in the
|
||
# sub_exchange_details field of a TargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_SUB_EXCHANGE`.
|
||
class SubExchangeTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The display name of the sub-exchange.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
end
|
||
end
|
||
|
||
# Represents a single targeting option, which is a targetable concept in DV360.
|
||
class TargetingOption
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Represents a targetable age range. This will be populated in the
|
||
# age_range_details field when targeting_type is `TARGETING_TYPE_AGE_RANGE`.
|
||
# Corresponds to the JSON property `ageRangeDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::AgeRangeTargetingOptionDetails]
|
||
attr_accessor :age_range_details
|
||
|
||
# Represents a targetable collection of apps. A collection lets you target
|
||
# dynamic groups of related apps that are maintained by the platform, for
|
||
# example `All Apps/Google Play/Games`. This will be populated in the
|
||
# app_category_details field when targeting_type is `TARGETING_TYPE_APP_CATEGORY`
|
||
# .
|
||
# Corresponds to the JSON property `appCategoryDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::AppCategoryTargetingOptionDetails]
|
||
attr_accessor :app_category_details
|
||
|
||
# Represents a targetable authorized seller status. This will be populated in
|
||
# the authorized_seller_status_details field when targeting_type is `
|
||
# TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.
|
||
# Corresponds to the JSON property `authorizedSellerStatusDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::AuthorizedSellerStatusTargetingOptionDetails]
|
||
attr_accessor :authorized_seller_status_details
|
||
|
||
# Represents a targetable browser. This will be populated in the browser_details
|
||
# field when targeting_type is `TARGETING_TYPE_BROWSER`.
|
||
# Corresponds to the JSON property `browserDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::BrowserTargetingOptionDetails]
|
||
attr_accessor :browser_details
|
||
|
||
# Represents a targetable carrier or ISP. This will be populated in the
|
||
# carrier_and_isp_details field of a TargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_CARRIER_AND_ISP`.
|
||
# Corresponds to the JSON property `carrierAndIspDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::CarrierAndIspTargetingOptionDetails]
|
||
attr_accessor :carrier_and_isp_details
|
||
|
||
# Represents a targetable category. This will be populated in the
|
||
# category_details field of a TargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_CATEGORY`.
|
||
# Corresponds to the JSON property `categoryDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::CategoryTargetingOptionDetails]
|
||
attr_accessor :category_details
|
||
|
||
# Represents a targetable content instream position, which could be used by
|
||
# video and audio ads. This will be populated in the
|
||
# content_instream_position_details field when targeting_type is `
|
||
# TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.
|
||
# Corresponds to the JSON property `contentInstreamPositionDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::ContentInstreamPositionTargetingOptionDetails]
|
||
attr_accessor :content_instream_position_details
|
||
|
||
# Represents a targetable content outstream position, which could be used by
|
||
# display and video ads. This will be populated in the
|
||
# content_outstream_position_details field when targeting_type is `
|
||
# TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.
|
||
# Corresponds to the JSON property `contentOutstreamPositionDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::ContentOutstreamPositionTargetingOptionDetails]
|
||
attr_accessor :content_outstream_position_details
|
||
|
||
# Represents a targetable device make and model. This will be populated in the
|
||
# device_make_model_details field of a TargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_DEVICE_MAKE_MODEL`.
|
||
# Corresponds to the JSON property `deviceMakeModelDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::DeviceMakeModelTargetingOptionDetails]
|
||
attr_accessor :device_make_model_details
|
||
|
||
# Represents a targetable device type. This will be populated in the
|
||
# device_type_details field of a TargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_DEVICE_TYPE`.
|
||
# Corresponds to the JSON property `deviceTypeDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::DeviceTypeTargetingOptionDetails]
|
||
attr_accessor :device_type_details
|
||
|
||
# Represents a targetable digital content label rating tier. This will be
|
||
# populated in the digital_content_label_details field of the TargetingOption
|
||
# when targeting_type is `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`.
|
||
# Corresponds to the JSON property `digitalContentLabelDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::DigitalContentLabelTargetingOptionDetails]
|
||
attr_accessor :digital_content_label_details
|
||
|
||
# Represents a targetable environment. This will be populated in the
|
||
# environment_details field of a TargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_ENVIRONMENT`.
|
||
# Corresponds to the JSON property `environmentDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::EnvironmentTargetingOptionDetails]
|
||
attr_accessor :environment_details
|
||
|
||
# Represents a targetable exchange. This will be populated in the
|
||
# exchange_details field of a TargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_EXCHANGE`.
|
||
# Corresponds to the JSON property `exchangeDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::ExchangeTargetingOptionDetails]
|
||
attr_accessor :exchange_details
|
||
|
||
# Represents a targetable gender. This will be populated in the gender_details
|
||
# field of a TargetingOption when targeting_type is `TARGETING_TYPE_GENDER`.
|
||
# Corresponds to the JSON property `genderDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::GenderTargetingOptionDetails]
|
||
attr_accessor :gender_details
|
||
|
||
# Represents a targetable geographic region. This will be populated in the
|
||
# geo_region_details field when targeting_type is `TARGETING_TYPE_GEO_REGION`.
|
||
# Corresponds to the JSON property `geoRegionDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::GeoRegionTargetingOptionDetails]
|
||
attr_accessor :geo_region_details
|
||
|
||
# Represents a targetable household income. This will be populated in the
|
||
# household_income_details field of a TargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_HOUSEHOLD_INCOME`.
|
||
# Corresponds to the JSON property `householdIncomeDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::HouseholdIncomeTargetingOptionDetails]
|
||
attr_accessor :household_income_details
|
||
|
||
# Represents a targetable language. This will be populated in the
|
||
# language_details field when targeting_type is `TARGETING_TYPE_LANGUAGE`.
|
||
# Corresponds to the JSON property `languageDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::LanguageTargetingOptionDetails]
|
||
attr_accessor :language_details
|
||
|
||
# Output only. The resource name for this targeting option.
|
||
# Corresponds to the JSON property `name`
|
||
# @return [String]
|
||
attr_accessor :name
|
||
|
||
# Represents a targetable on screen position, which could be used by display and
|
||
# video ads. This will be populated in the on_screen_position_details field when
|
||
# targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`.
|
||
# Corresponds to the JSON property `onScreenPositionDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::OnScreenPositionTargetingOptionDetails]
|
||
attr_accessor :on_screen_position_details
|
||
|
||
# Represents a targetable operating system. This will be populated in the
|
||
# operating_system_details field of a TargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_OPERATING_SYSTEM`.
|
||
# Corresponds to the JSON property `operatingSystemDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::OperatingSystemTargetingOptionDetails]
|
||
attr_accessor :operating_system_details
|
||
|
||
# Represents a targetable parental status. This will be populated in the
|
||
# parental_status_details field of a TargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_PARENTAL_STATUS`.
|
||
# Corresponds to the JSON property `parentalStatusDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::ParentalStatusTargetingOptionDetails]
|
||
attr_accessor :parental_status_details
|
||
|
||
# Represents a targetable sensitive category. This will be populated in the
|
||
# sensitive_category_details field of the TargetingOption when targeting_type is
|
||
# `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.
|
||
# Corresponds to the JSON property `sensitiveCategoryDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::SensitiveCategoryTargetingOptionDetails]
|
||
attr_accessor :sensitive_category_details
|
||
|
||
# Represents a targetable sub-exchange. This will be populated in the
|
||
# sub_exchange_details field of a TargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_SUB_EXCHANGE`.
|
||
# Corresponds to the JSON property `subExchangeDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::SubExchangeTargetingOptionDetails]
|
||
attr_accessor :sub_exchange_details
|
||
|
||
# Output only. A unique identifier for this targeting option. The tuple ``
|
||
# targeting_type`, `targeting_option_id`` will be unique.
|
||
# Corresponds to the JSON property `targetingOptionId`
|
||
# @return [String]
|
||
attr_accessor :targeting_option_id
|
||
|
||
# Output only. The type of this targeting option.
|
||
# Corresponds to the JSON property `targetingType`
|
||
# @return [String]
|
||
attr_accessor :targeting_type
|
||
|
||
# Represents a targetable user rewarded content status for video ads only. This
|
||
# will be populated in the user_rewarded_content_details field when
|
||
# targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`.
|
||
# Corresponds to the JSON property `userRewardedContentDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::UserRewardedContentTargetingOptionDetails]
|
||
attr_accessor :user_rewarded_content_details
|
||
|
||
# Represents a targetable video player size. This will be populated in the
|
||
# video_player_size_details field when targeting_type is `
|
||
# TARGETING_TYPE_VIDEO_PLAYER_SIZE`.
|
||
# Corresponds to the JSON property `videoPlayerSizeDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::VideoPlayerSizeTargetingOptionDetails]
|
||
attr_accessor :video_player_size_details
|
||
|
||
# Represents a targetable viewability. This will be populated in the
|
||
# viewability_details field of a TargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_VIEWABILITY`.
|
||
# Corresponds to the JSON property `viewabilityDetails`
|
||
# @return [Google::Apis::DisplayvideoV1::ViewabilityTargetingOptionDetails]
|
||
attr_accessor :viewability_details
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@age_range_details = args[:age_range_details] if args.key?(:age_range_details)
|
||
@app_category_details = args[:app_category_details] if args.key?(:app_category_details)
|
||
@authorized_seller_status_details = args[:authorized_seller_status_details] if args.key?(:authorized_seller_status_details)
|
||
@browser_details = args[:browser_details] if args.key?(:browser_details)
|
||
@carrier_and_isp_details = args[:carrier_and_isp_details] if args.key?(:carrier_and_isp_details)
|
||
@category_details = args[:category_details] if args.key?(:category_details)
|
||
@content_instream_position_details = args[:content_instream_position_details] if args.key?(:content_instream_position_details)
|
||
@content_outstream_position_details = args[:content_outstream_position_details] if args.key?(:content_outstream_position_details)
|
||
@device_make_model_details = args[:device_make_model_details] if args.key?(:device_make_model_details)
|
||
@device_type_details = args[:device_type_details] if args.key?(:device_type_details)
|
||
@digital_content_label_details = args[:digital_content_label_details] if args.key?(:digital_content_label_details)
|
||
@environment_details = args[:environment_details] if args.key?(:environment_details)
|
||
@exchange_details = args[:exchange_details] if args.key?(:exchange_details)
|
||
@gender_details = args[:gender_details] if args.key?(:gender_details)
|
||
@geo_region_details = args[:geo_region_details] if args.key?(:geo_region_details)
|
||
@household_income_details = args[:household_income_details] if args.key?(:household_income_details)
|
||
@language_details = args[:language_details] if args.key?(:language_details)
|
||
@name = args[:name] if args.key?(:name)
|
||
@on_screen_position_details = args[:on_screen_position_details] if args.key?(:on_screen_position_details)
|
||
@operating_system_details = args[:operating_system_details] if args.key?(:operating_system_details)
|
||
@parental_status_details = args[:parental_status_details] if args.key?(:parental_status_details)
|
||
@sensitive_category_details = args[:sensitive_category_details] if args.key?(:sensitive_category_details)
|
||
@sub_exchange_details = args[:sub_exchange_details] if args.key?(:sub_exchange_details)
|
||
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
||
@targeting_type = args[:targeting_type] if args.key?(:targeting_type)
|
||
@user_rewarded_content_details = args[:user_rewarded_content_details] if args.key?(:user_rewarded_content_details)
|
||
@video_player_size_details = args[:video_player_size_details] if args.key?(:video_player_size_details)
|
||
@viewability_details = args[:viewability_details] if args.key?(:viewability_details)
|
||
end
|
||
end
|
||
|
||
# Settings for advertisers that use third-party ad servers only.
|
||
class ThirdPartyOnlyConfig
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Whether or not order ID reporting for pixels is enabled. This value cannot be
|
||
# changed once set to `true`.
|
||
# Corresponds to the JSON property `pixelOrderIdReportingEnabled`
|
||
# @return [Boolean]
|
||
attr_accessor :pixel_order_id_reporting_enabled
|
||
alias_method :pixel_order_id_reporting_enabled?, :pixel_order_id_reporting_enabled
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@pixel_order_id_reporting_enabled = args[:pixel_order_id_reporting_enabled] if args.key?(:pixel_order_id_reporting_enabled)
|
||
end
|
||
end
|
||
|
||
# Tracking URLs from third parties to track interactions with an audio or a
|
||
# video creative.
|
||
class ThirdPartyUrl
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The type of interaction needs to be tracked by the tracking URL
|
||
# Corresponds to the JSON property `type`
|
||
# @return [String]
|
||
attr_accessor :type
|
||
|
||
# Tracking URL used to track the interaction. Provide a URL with optional path
|
||
# or query string, beginning with `https:`. For example, https://www.example.com/
|
||
# path
|
||
# Corresponds to the JSON property `url`
|
||
# @return [String]
|
||
attr_accessor :url
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@type = args[:type] if args.key?(:type)
|
||
@url = args[:url] if args.key?(:url)
|
||
end
|
||
end
|
||
|
||
# Assigned third party verifier targeting option details. This will be populated
|
||
# in the details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_THIRD_PARTY_VERIFIER`.
|
||
class ThirdPartyVerifierAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Details of Adloox settings.
|
||
# Corresponds to the JSON property `adloox`
|
||
# @return [Google::Apis::DisplayvideoV1::Adloox]
|
||
attr_accessor :adloox
|
||
|
||
# Details of DoubleVerify settings.
|
||
# Corresponds to the JSON property `doubleVerify`
|
||
# @return [Google::Apis::DisplayvideoV1::DoubleVerify]
|
||
attr_accessor :double_verify
|
||
|
||
# Details of Integral Ad Science settings.
|
||
# Corresponds to the JSON property `integralAdScience`
|
||
# @return [Google::Apis::DisplayvideoV1::IntegralAdScience]
|
||
attr_accessor :integral_ad_science
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@adloox = args[:adloox] if args.key?(:adloox)
|
||
@double_verify = args[:double_verify] if args.key?(:double_verify)
|
||
@integral_ad_science = args[:integral_ad_science] if args.key?(:integral_ad_science)
|
||
end
|
||
end
|
||
|
||
# A time range.
|
||
class TimeRange
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. The upper bound of a time range, inclusive.
|
||
# Corresponds to the JSON property `endTime`
|
||
# @return [String]
|
||
attr_accessor :end_time
|
||
|
||
# Required. The lower bound of a time range, inclusive.
|
||
# Corresponds to the JSON property `startTime`
|
||
# @return [String]
|
||
attr_accessor :start_time
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@end_time = args[:end_time] if args.key?(:end_time)
|
||
@start_time = args[:start_time] if args.key?(:start_time)
|
||
end
|
||
end
|
||
|
||
# Timer event of the creative.
|
||
class TimerEvent
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. The name of the timer event.
|
||
# Corresponds to the JSON property `name`
|
||
# @return [String]
|
||
attr_accessor :name
|
||
|
||
# Required. The name used to identify this timer event in reports.
|
||
# Corresponds to the JSON property `reportingName`
|
||
# @return [String]
|
||
attr_accessor :reporting_name
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@name = args[:name] if args.key?(:name)
|
||
@reporting_name = args[:reporting_name] if args.key?(:reporting_name)
|
||
end
|
||
end
|
||
|
||
# Settings that control the behavior of a single Floodlight activity config.
|
||
class TrackingFloodlightActivityConfig
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. The ID of the Floodlight activity.
|
||
# Corresponds to the JSON property `floodlightActivityId`
|
||
# @return [Fixnum]
|
||
attr_accessor :floodlight_activity_id
|
||
|
||
# Required. The number of days after an ad has been clicked in which a
|
||
# conversion may be counted. Must be between 0 and 90 inclusive.
|
||
# Corresponds to the JSON property `postClickLookbackWindowDays`
|
||
# @return [Fixnum]
|
||
attr_accessor :post_click_lookback_window_days
|
||
|
||
# Required. The number of days after an ad has been viewed in which a conversion
|
||
# may be counted. Must be between 0 and 90 inclusive.
|
||
# Corresponds to the JSON property `postViewLookbackWindowDays`
|
||
# @return [Fixnum]
|
||
attr_accessor :post_view_lookback_window_days
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@floodlight_activity_id = args[:floodlight_activity_id] if args.key?(:floodlight_activity_id)
|
||
@post_click_lookback_window_days = args[:post_click_lookback_window_days] if args.key?(:post_click_lookback_window_days)
|
||
@post_view_lookback_window_days = args[:post_view_lookback_window_days] if args.key?(:post_view_lookback_window_days)
|
||
end
|
||
end
|
||
|
||
# Represents information about the transcoded audio or video file.
|
||
class Transcode
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The bit rate for the audio stream of the transcoded video, or the bit rate for
|
||
# the transcoded audio, in kilobits per second.
|
||
# Corresponds to the JSON property `audioBitRateKbps`
|
||
# @return [Fixnum]
|
||
attr_accessor :audio_bit_rate_kbps
|
||
|
||
# The sample rate for the audio stream of the transcoded video, or the sample
|
||
# rate for the transcoded audio, in hertz.
|
||
# Corresponds to the JSON property `audioSampleRateHz`
|
||
# @return [Fixnum]
|
||
attr_accessor :audio_sample_rate_hz
|
||
|
||
# The transcoding bit rate of the transcoded video, in kilobits per second.
|
||
# Corresponds to the JSON property `bitRateKbps`
|
||
# @return [Fixnum]
|
||
attr_accessor :bit_rate_kbps
|
||
|
||
# Dimensions.
|
||
# Corresponds to the JSON property `dimensions`
|
||
# @return [Google::Apis::DisplayvideoV1::Dimensions]
|
||
attr_accessor :dimensions
|
||
|
||
# The size of the transcoded file, in bytes.
|
||
# Corresponds to the JSON property `fileSizeBytes`
|
||
# @return [Fixnum]
|
||
attr_accessor :file_size_bytes
|
||
|
||
# The frame rate of the transcoded video, in frames per second.
|
||
# Corresponds to the JSON property `frameRate`
|
||
# @return [Float]
|
||
attr_accessor :frame_rate
|
||
|
||
# The MIME type of the transcoded file.
|
||
# Corresponds to the JSON property `mimeType`
|
||
# @return [String]
|
||
attr_accessor :mime_type
|
||
|
||
# The name of the transcoded file.
|
||
# Corresponds to the JSON property `name`
|
||
# @return [String]
|
||
attr_accessor :name
|
||
|
||
# Indicates if the transcoding was successful.
|
||
# Corresponds to the JSON property `transcoded`
|
||
# @return [Boolean]
|
||
attr_accessor :transcoded
|
||
alias_method :transcoded?, :transcoded
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@audio_bit_rate_kbps = args[:audio_bit_rate_kbps] if args.key?(:audio_bit_rate_kbps)
|
||
@audio_sample_rate_hz = args[:audio_sample_rate_hz] if args.key?(:audio_sample_rate_hz)
|
||
@bit_rate_kbps = args[:bit_rate_kbps] if args.key?(:bit_rate_kbps)
|
||
@dimensions = args[:dimensions] if args.key?(:dimensions)
|
||
@file_size_bytes = args[:file_size_bytes] if args.key?(:file_size_bytes)
|
||
@frame_rate = args[:frame_rate] if args.key?(:frame_rate)
|
||
@mime_type = args[:mime_type] if args.key?(:mime_type)
|
||
@name = args[:name] if args.key?(:name)
|
||
@transcoded = args[:transcoded] if args.key?(:transcoded)
|
||
end
|
||
end
|
||
|
||
# A creative identifier provided by a registry that is unique across all
|
||
# platforms. This is part of the VAST 4.0 standard.
|
||
class UniversalAdId
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The unique creative identifier.
|
||
# Corresponds to the JSON property `id`
|
||
# @return [String]
|
||
attr_accessor :id
|
||
|
||
# The registry provides unique creative identifiers.
|
||
# Corresponds to the JSON property `registry`
|
||
# @return [String]
|
||
attr_accessor :registry
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@id = args[:id] if args.key?(:id)
|
||
@registry = args[:registry] if args.key?(:registry)
|
||
end
|
||
end
|
||
|
||
# Details for assigned URL targeting option. This will be populated in the
|
||
# details field of an AssignedTargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_URL`.
|
||
class UrlAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Indicates if this option is being negatively targeted.
|
||
# Corresponds to the JSON property `negative`
|
||
# @return [Boolean]
|
||
attr_accessor :negative
|
||
alias_method :negative?, :negative
|
||
|
||
# Required. The URL, for example `example.com`. DV360 supports two levels of
|
||
# subdirectory targeting, for example `www.example.com/one-subdirectory-level/
|
||
# second-level`, and five levels of subdomain targeting, for example `five.four.
|
||
# three.two.one.example.com`.
|
||
# Corresponds to the JSON property `url`
|
||
# @return [String]
|
||
attr_accessor :url
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@negative = args[:negative] if args.key?(:negative)
|
||
@url = args[:url] if args.key?(:url)
|
||
end
|
||
end
|
||
|
||
# A single user in Display & Video 360.
|
||
class User
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# The assigned user roles. Required in CreateUser. Output only in UpdateUser.
|
||
# Can only be updated through BulkEditAssignedUserRoles.
|
||
# Corresponds to the JSON property `assignedUserRoles`
|
||
# @return [Array<Google::Apis::DisplayvideoV1::AssignedUserRole>]
|
||
attr_accessor :assigned_user_roles
|
||
|
||
# Required. The display name of the user. Must be UTF-8 encoded with a maximum
|
||
# size of 240 bytes.
|
||
# Corresponds to the JSON property `displayName`
|
||
# @return [String]
|
||
attr_accessor :display_name
|
||
|
||
# Required. Immutable. The email address used to identify the user.
|
||
# Corresponds to the JSON property `email`
|
||
# @return [String]
|
||
attr_accessor :email
|
||
|
||
# Output only. The resource name of the user.
|
||
# Corresponds to the JSON property `name`
|
||
# @return [String]
|
||
attr_accessor :name
|
||
|
||
# Output only. The unique ID of the user. Assigned by the system.
|
||
# Corresponds to the JSON property `userId`
|
||
# @return [Fixnum]
|
||
attr_accessor :user_id
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@assigned_user_roles = args[:assigned_user_roles] if args.key?(:assigned_user_roles)
|
||
@display_name = args[:display_name] if args.key?(:display_name)
|
||
@email = args[:email] if args.key?(:email)
|
||
@name = args[:name] if args.key?(:name)
|
||
@user_id = args[:user_id] if args.key?(:user_id)
|
||
end
|
||
end
|
||
|
||
# User rewarded content targeting option details. This will be populated in the
|
||
# user_rewarded_content_details field when targeting_type is `
|
||
# TARGETING_TYPE_USER_REWARDED_CONTENT`.
|
||
class UserRewardedContentAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. The targeting_option_id field when targeting_type is `
|
||
# TARGETING_TYPE_USER_REWARDED_CONTENT`.
|
||
# Corresponds to the JSON property `targetingOptionId`
|
||
# @return [String]
|
||
attr_accessor :targeting_option_id
|
||
|
||
# Output only. User rewarded content status for video ads.
|
||
# Corresponds to the JSON property `userRewardedContent`
|
||
# @return [String]
|
||
attr_accessor :user_rewarded_content
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
||
@user_rewarded_content = args[:user_rewarded_content] if args.key?(:user_rewarded_content)
|
||
end
|
||
end
|
||
|
||
# Represents a targetable user rewarded content status for video ads only. This
|
||
# will be populated in the user_rewarded_content_details field when
|
||
# targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`.
|
||
class UserRewardedContentTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. User rewarded content status for video ads.
|
||
# Corresponds to the JSON property `userRewardedContent`
|
||
# @return [String]
|
||
attr_accessor :user_rewarded_content
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@user_rewarded_content = args[:user_rewarded_content] if args.key?(:user_rewarded_content)
|
||
end
|
||
end
|
||
|
||
# Video player size targeting option details. This will be populated in the
|
||
# video_player_size_details field when targeting_type is `
|
||
# TARGETING_TYPE_VIDEO_PLAYER_SIZE`. Explicitly targeting all options is not
|
||
# supported. Remove all video player size targeting options to achieve this
|
||
# effect.
|
||
class VideoPlayerSizeAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. The targeting_option_id field when targeting_type is `
|
||
# TARGETING_TYPE_VIDEO_PLAYER_SIZE`.
|
||
# Corresponds to the JSON property `targetingOptionId`
|
||
# @return [String]
|
||
attr_accessor :targeting_option_id
|
||
|
||
# Output only. The video player size.
|
||
# Corresponds to the JSON property `videoPlayerSize`
|
||
# @return [String]
|
||
attr_accessor :video_player_size
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
||
@video_player_size = args[:video_player_size] if args.key?(:video_player_size)
|
||
end
|
||
end
|
||
|
||
# Represents a targetable video player size. This will be populated in the
|
||
# video_player_size_details field when targeting_type is `
|
||
# TARGETING_TYPE_VIDEO_PLAYER_SIZE`.
|
||
class VideoPlayerSizeTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The video player size.
|
||
# Corresponds to the JSON property `videoPlayerSize`
|
||
# @return [String]
|
||
attr_accessor :video_player_size
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@video_player_size = args[:video_player_size] if args.key?(:video_player_size)
|
||
end
|
||
end
|
||
|
||
# Assigned viewability targeting option details. This will be populated in the
|
||
# viewability_details field of an AssignedTargetingOption when targeting_type is
|
||
# `TARGETING_TYPE_VIEWABILITY`.
|
||
class ViewabilityAssignedTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Required. The targeting_option_id of a TargetingOption of type `
|
||
# TARGETING_TYPE_VIEWABILITY` (e.g., "509010" for targeting the `
|
||
# VIEWABILITY_10_PERCENT_OR_MORE` option).
|
||
# Corresponds to the JSON property `targetingOptionId`
|
||
# @return [String]
|
||
attr_accessor :targeting_option_id
|
||
|
||
# Output only. The predicted viewability percentage.
|
||
# Corresponds to the JSON property `viewability`
|
||
# @return [String]
|
||
attr_accessor :viewability
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
||
@viewability = args[:viewability] if args.key?(:viewability)
|
||
end
|
||
end
|
||
|
||
# Represents a targetable viewability. This will be populated in the
|
||
# viewability_details field of a TargetingOption when targeting_type is `
|
||
# TARGETING_TYPE_VIEWABILITY`.
|
||
class ViewabilityTargetingOptionDetails
|
||
include Google::Apis::Core::Hashable
|
||
|
||
# Output only. The predicted viewability percentage.
|
||
# Corresponds to the JSON property `viewability`
|
||
# @return [String]
|
||
attr_accessor :viewability
|
||
|
||
def initialize(**args)
|
||
update!(**args)
|
||
end
|
||
|
||
# Update properties of this object
|
||
def update!(**args)
|
||
@viewability = args[:viewability] if args.key?(:viewability)
|
||
end
|
||
end
|
||
end
|
||
end
|
||
end
|