8091 lines
330 KiB
Ruby
8091 lines
330 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
|
||
|
||
# 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
|
||
|
||
# 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
|
||
# 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 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
|
||
|
||
# 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
|
||
|
||
# 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
|
||
|
||
# TrueView 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
|
||
|
||
# TrueView 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 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
|
||
|
||
# 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
|
||
|
||
# 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 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)
|
||
@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
|
||
|
||
# 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
|
||
|
||
# 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 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 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.
|
||
# 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.
|
||
# 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.
|
||
# 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`.
|
||
# 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)
|
||
@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
|
||
|
||
# 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
|