2021-01-01 03:01:13 +00:00
|
|
|
|
# Copyright 2020 Google LLC
|
|
|
|
|
#
|
|
|
|
|
# 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
|
|
|
|
|
|
|
|
|
|
# Request message for ManualTriggerService.ActivateManualTrigger.
|
|
|
|
|
class ActivateManualTriggerRequest
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# 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 360 (CM360) 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 CM360 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 CM360 hybrid advertisers, the time zone is
|
|
|
|
|
# the same as that of the associated CM360 account; for third-party only
|
|
|
|
|
# advertisers, the time zone is the same as that of the parent partner.
|
|
|
|
|
# Corresponds to the JSON property `timeZone`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :time_zone
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@currency_code = args[:currency_code] if args.key?(:currency_code)
|
|
|
|
|
@domain_url = args[:domain_url] if args.key?(:domain_url)
|
|
|
|
|
@time_zone = args[:time_zone] if args.key?(:time_zone)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Structured Data Files (SDF) settings of an advertiser.
|
|
|
|
|
class AdvertiserSdfConfig
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Whether or not this advertiser overrides the SDF configuration of its parent
|
|
|
|
|
# partner. By default, an advertiser inherits the SDF configuration from the
|
|
|
|
|
# parent partner. To override the partner configuration, set this field to `true`
|
|
|
|
|
# and provide the new configuration in sdfConfig.
|
|
|
|
|
# Corresponds to the JSON property `overridePartnerSdfConfig`
|
|
|
|
|
# @return [Boolean]
|
|
|
|
|
attr_accessor :override_partner_sdf_config
|
|
|
|
|
alias_method :override_partner_sdf_config?, :override_partner_sdf_config
|
|
|
|
|
|
|
|
|
|
# Structured Data File (SDF) related settings.
|
|
|
|
|
# Corresponds to the JSON property `sdfConfig`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::SdfConfig]
|
|
|
|
|
attr_accessor :sdf_config
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@override_partner_sdf_config = args[:override_partner_sdf_config] if args.key?(:override_partner_sdf_config)
|
|
|
|
|
@sdf_config = args[:sdf_config] if args.key?(:sdf_config)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Targeting settings related to ad serving of an advertiser.
|
|
|
|
|
class AdvertiserTargetingConfig
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Whether or not connected TV devices are exempt from viewability targeting for
|
|
|
|
|
# all video line items under the advertiser.
|
|
|
|
|
# Corresponds to the JSON property `exemptTvFromViewabilityTargeting`
|
|
|
|
|
# @return [Boolean]
|
|
|
|
|
attr_accessor :exempt_tv_from_viewability_targeting
|
|
|
|
|
alias_method :exempt_tv_from_viewability_targeting?, :exempt_tv_from_viewability_targeting
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@exempt_tv_from_viewability_targeting = args[:exempt_tv_from_viewability_targeting] if args.key?(:exempt_tv_from_viewability_targeting)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Represents a targetable age range. This will be populated in the details field
|
|
|
|
|
# of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_AGE_RANGE`
|
|
|
|
|
# .
|
|
|
|
|
class AgeRangeAssignedTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The age range of an audience. We only support targeting a
|
|
|
|
|
# continuous age range of an audience. Thus, the age range represented in this
|
|
|
|
|
# field can be 1) targeted solely, or, 2) part of a larger continuous age range.
|
|
|
|
|
# The reach of a continuous age range targeting can be expanded by also
|
|
|
|
|
# targeting an audience of an unknown age.
|
|
|
|
|
# Corresponds to the JSON property `ageRange`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :age_range
|
|
|
|
|
|
|
|
|
|
# Required. The targeting_option_id of a TargetingOption of type `
|
|
|
|
|
# TARGETING_TYPE_AGE_RANGE`.
|
|
|
|
|
# Corresponds to the JSON property `targetingOptionId`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :targeting_option_id
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@age_range = args[:age_range] if args.key?(:age_range)
|
|
|
|
|
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Represents a targetable age range. This will be populated in the
|
|
|
|
|
# age_range_details field when targeting_type is `TARGETING_TYPE_AGE_RANGE`.
|
|
|
|
|
class AgeRangeTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The age range of an audience.
|
|
|
|
|
# Corresponds to the JSON property `ageRange`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :age_range
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@age_range = args[:age_range] if args.key?(:age_range)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Details for assigned app targeting option. This will be populated in the
|
|
|
|
|
# details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_APP`.
|
|
|
|
|
class AppAssignedTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Required. The ID of the app. Android's Play store app uses bundle ID, for
|
|
|
|
|
# example `com.google.android.gm`. Apple's App store app ID uses 9 digit string,
|
|
|
|
|
# for example `422689480`.
|
|
|
|
|
# Corresponds to the JSON property `appId`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :app_id
|
|
|
|
|
|
|
|
|
|
# Output only. The display name of the app.
|
|
|
|
|
# Corresponds to the JSON property `displayName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :display_name
|
|
|
|
|
|
|
|
|
|
# Indicates if this option is being negatively targeted.
|
|
|
|
|
# Corresponds to the JSON property `negative`
|
|
|
|
|
# @return [Boolean]
|
|
|
|
|
attr_accessor :negative
|
|
|
|
|
alias_method :negative?, :negative
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@app_id = args[:app_id] if args.key?(:app_id)
|
|
|
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
|
|
|
@negative = args[:negative] if args.key?(:negative)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Details for assigned app category targeting option. This will be populated in
|
|
|
|
|
# the app_category_details field of an AssignedTargetingOption when
|
|
|
|
|
# targeting_type is `TARGETING_TYPE_APP_CATEGORY`.
|
|
|
|
|
class AppCategoryAssignedTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The display name of the app category.
|
|
|
|
|
# Corresponds to the JSON property `displayName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :display_name
|
|
|
|
|
|
|
|
|
|
# Indicates if this option is being negatively targeted.
|
|
|
|
|
# Corresponds to the JSON property `negative`
|
|
|
|
|
# @return [Boolean]
|
|
|
|
|
attr_accessor :negative
|
|
|
|
|
alias_method :negative?, :negative
|
|
|
|
|
|
|
|
|
|
# Required. The targeting_option_id field when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_APP_CATEGORY`.
|
|
|
|
|
# Corresponds to the JSON property `targetingOptionId`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :targeting_option_id
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
|
|
|
@negative = args[:negative] if args.key?(:negative)
|
|
|
|
|
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Represents a targetable collection of apps. A collection lets you target
|
|
|
|
|
# dynamic groups of related apps that are maintained by the platform, for
|
|
|
|
|
# example `All Apps/Google Play/Games`. This will be populated in the
|
|
|
|
|
# app_category_details field when targeting_type is `TARGETING_TYPE_APP_CATEGORY`
|
|
|
|
|
# .
|
|
|
|
|
class AppCategoryTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The name of the app collection.
|
|
|
|
|
# Corresponds to the JSON property `displayName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :display_name
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# A single asset.
|
|
|
|
|
class Asset
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The asset content. For uploaded assets, the content is the serving path.
|
|
|
|
|
# Corresponds to the JSON property `content`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :content
|
|
|
|
|
|
|
|
|
|
# Media ID of the uploaded asset. This is a unique identifier for the asset.
|
|
|
|
|
# This ID can be passed to other API calls, e.g. CreateCreative to associate the
|
|
|
|
|
# asset with a creative.
|
|
|
|
|
# Corresponds to the JSON property `mediaId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :media_id
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@content = args[:content] if args.key?(:content)
|
|
|
|
|
@media_id = args[:media_id] if args.key?(:media_id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Asset association for the creative.
|
|
|
|
|
class AssetAssociation
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# A single asset.
|
|
|
|
|
# Corresponds to the JSON property `asset`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::Asset]
|
|
|
|
|
attr_accessor :asset
|
|
|
|
|
|
|
|
|
|
# The role of this asset for the creative.
|
|
|
|
|
# Corresponds to the JSON property `role`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :role
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@asset = args[:asset] if args.key?(:asset)
|
|
|
|
|
@role = args[:role] if args.key?(:role)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# An assignment between a targetable inventory source and an inventory source
|
|
|
|
|
# group.
|
|
|
|
|
class AssignedInventorySource
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The unique ID of the assigned inventory source. The ID is only
|
|
|
|
|
# unique within a given inventory source group. It may be reused in other
|
|
|
|
|
# contexts.
|
|
|
|
|
# Corresponds to the JSON property `assignedInventorySourceId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :assigned_inventory_source_id
|
|
|
|
|
|
|
|
|
|
# Required. The ID of the inventory source entity being targeted.
|
|
|
|
|
# Corresponds to the JSON property `inventorySourceId`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :inventory_source_id
|
|
|
|
|
|
|
|
|
|
# Output only. The resource name of the assigned inventory source.
|
|
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :name
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@assigned_inventory_source_id = args[:assigned_inventory_source_id] if args.key?(:assigned_inventory_source_id)
|
|
|
|
|
@inventory_source_id = args[:inventory_source_id] if args.key?(:inventory_source_id)
|
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# An assignment between a location list and a relevant targeting option.
|
|
|
|
|
# Currently, geo region targeting options are the only supported option for
|
|
|
|
|
# assignment.
|
|
|
|
|
class AssignedLocation
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The unique ID of the assigned location. The ID is only unique
|
|
|
|
|
# within a location list. It may be reused in other contexts.
|
|
|
|
|
# Corresponds to the JSON property `assignedLocationId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :assigned_location_id
|
|
|
|
|
|
|
|
|
|
# Output only. The resource name of the assigned location.
|
|
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :name
|
|
|
|
|
|
|
|
|
|
# Required. The ID of the targeting option assigned to the location list. Must
|
|
|
|
|
# be of type TARGETING_TYPE_GEO_REGION.
|
|
|
|
|
# Corresponds to the JSON property `targetingOptionId`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :targeting_option_id
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@assigned_location_id = args[:assigned_location_id] if args.key?(:assigned_location_id)
|
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
|
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# A single assigned targeting option, which defines the state of a targeting
|
|
|
|
|
# option for an entity with targeting settings.
|
|
|
|
|
class AssignedTargetingOption
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Represents a targetable age range. This will be populated in the details field
|
|
|
|
|
# of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_AGE_RANGE`
|
|
|
|
|
# .
|
|
|
|
|
# Corresponds to the JSON property `ageRangeDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::AgeRangeAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :age_range_details
|
|
|
|
|
|
|
|
|
|
# Details for assigned app category targeting option. This will be populated in
|
|
|
|
|
# the app_category_details field of an AssignedTargetingOption when
|
|
|
|
|
# targeting_type is `TARGETING_TYPE_APP_CATEGORY`.
|
|
|
|
|
# Corresponds to the JSON property `appCategoryDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::AppCategoryAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :app_category_details
|
|
|
|
|
|
|
|
|
|
# Details for assigned app targeting option. This will be populated in the
|
|
|
|
|
# details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_APP`.
|
|
|
|
|
# Corresponds to the JSON property `appDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::AppAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :app_details
|
|
|
|
|
|
|
|
|
|
# Output only. The unique ID of the assigned targeting option. The ID is only
|
|
|
|
|
# unique within a given line item and targeting type. It may be reused in other
|
|
|
|
|
# contexts.
|
|
|
|
|
# Corresponds to the JSON property `assignedTargetingOptionId`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :assigned_targeting_option_id
|
|
|
|
|
|
|
|
|
|
# Assigned audience group targeting option details. This will be populated in
|
|
|
|
|
# the details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_AUDIENCE_GROUP`. The relation between each group is UNION,
|
|
|
|
|
# except for excluded_first_and_third_party_audience_group and
|
|
|
|
|
# excluded_google_audience_group, of which COMPLEMENT is UNION'ed with other
|
|
|
|
|
# groups.
|
|
|
|
|
# Corresponds to the JSON property `audienceGroupDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::AudienceGroupAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :audience_group_details
|
|
|
|
|
|
|
|
|
|
# Represents an assigned authorized seller status. This will be populated in the
|
|
|
|
|
# details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.
|
|
|
|
|
# Corresponds to the JSON property `authorizedSellerStatusDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::AuthorizedSellerStatusAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :authorized_seller_status_details
|
|
|
|
|
|
|
|
|
|
# Details for assigned browser targeting option. This will be populated in the
|
|
|
|
|
# details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_BROWSER`.
|
|
|
|
|
# Corresponds to the JSON property `browserDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::BrowserAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :browser_details
|
|
|
|
|
|
|
|
|
|
# Details for assigned carrier and ISP targeting option. This will be populated
|
|
|
|
|
# in the details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_CARRIER_AND_ISP`.
|
|
|
|
|
# Corresponds to the JSON property `carrierAndIspDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::CarrierAndIspAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :carrier_and_isp_details
|
|
|
|
|
|
|
|
|
|
# Assigned category targeting option details. This will be populated in the
|
|
|
|
|
# category_details field when targeting_type is `TARGETING_TYPE_CATEGORY`.
|
|
|
|
|
# Corresponds to the JSON property `categoryDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::CategoryAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :category_details
|
|
|
|
|
|
|
|
|
|
# Details for assigned channel targeting option. This will be populated in the
|
|
|
|
|
# details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_CHANNEL`.
|
|
|
|
|
# Corresponds to the JSON property `channelDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::ChannelAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :channel_details
|
|
|
|
|
|
|
|
|
|
# Assigned content instream position targeting option details. This will be
|
|
|
|
|
# populated in the content_instream_position_details field when targeting_type
|
|
|
|
|
# is `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.
|
|
|
|
|
# Corresponds to the JSON property `contentInstreamPositionDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::ContentInstreamPositionAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :content_instream_position_details
|
|
|
|
|
|
|
|
|
|
# Assigned content outstream position targeting option details. This will be
|
|
|
|
|
# populated in the content_outstream_position_details field when targeting_type
|
|
|
|
|
# is `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.
|
|
|
|
|
# Corresponds to the JSON property `contentOutstreamPositionDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::ContentOutstreamPositionAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :content_outstream_position_details
|
|
|
|
|
|
|
|
|
|
# Representation of a segment of time defined on a specific day of the week and
|
|
|
|
|
# with a start and end time. The time represented by `start_hour` must be before
|
|
|
|
|
# the time represented by `end_hour`.
|
|
|
|
|
# Corresponds to the JSON property `dayAndTimeDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::DayAndTimeAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :day_and_time_details
|
|
|
|
|
|
|
|
|
|
# Assigned device make and model targeting option details. This will be
|
|
|
|
|
# populated in the device_make_model_details field when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_DEVICE_MAKE_MODEL`.
|
|
|
|
|
# Corresponds to the JSON property `deviceMakeModelDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::DeviceMakeModelAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :device_make_model_details
|
|
|
|
|
|
|
|
|
|
# Targeting details for device type. This will be populated in the details field
|
|
|
|
|
# of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_DEVICE_TYPE`.
|
|
|
|
|
# Corresponds to the JSON property `deviceTypeDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::DeviceTypeAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :device_type_details
|
|
|
|
|
|
|
|
|
|
# Targeting details for digital content label. This will be populated in the
|
|
|
|
|
# details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`.
|
|
|
|
|
# Corresponds to the JSON property `digitalContentLabelExclusionDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::DigitalContentLabelAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :digital_content_label_exclusion_details
|
|
|
|
|
|
|
|
|
|
# Assigned environment targeting option details. This will be populated in the
|
|
|
|
|
# details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_ENVIRONMENT`.
|
|
|
|
|
# Corresponds to the JSON property `environmentDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::EnvironmentAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :environment_details
|
|
|
|
|
|
|
|
|
|
# Details for assigned exchange targeting option. This will be populated in the
|
|
|
|
|
# details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_EXCHANGE`.
|
|
|
|
|
# Corresponds to the JSON property `exchangeDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::ExchangeAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :exchange_details
|
|
|
|
|
|
|
|
|
|
# Details for assigned gender targeting option. This will be populated in the
|
|
|
|
|
# details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARTGETING_TYPE_GENDER`.
|
|
|
|
|
# Corresponds to the JSON property `genderDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::GenderAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :gender_details
|
|
|
|
|
|
|
|
|
|
# Details for assigned geographic region targeting option. This will be
|
|
|
|
|
# populated in the details field of an AssignedTargetingOption when
|
|
|
|
|
# targeting_type is `TARGETING_TYPE_GEO_REGION`.
|
|
|
|
|
# Corresponds to the JSON property `geoRegionDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::GeoRegionAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :geo_region_details
|
|
|
|
|
|
|
|
|
|
# Details for assigned household income targeting option. This will be populated
|
|
|
|
|
# in the details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_HOUSEHOLD_INCOME`.
|
|
|
|
|
# Corresponds to the JSON property `householdIncomeDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::HouseholdIncomeAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :household_income_details
|
|
|
|
|
|
|
|
|
|
# Output only. The inheritance status of the assigned targeting option.
|
|
|
|
|
# Corresponds to the JSON property `inheritance`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :inheritance
|
|
|
|
|
|
|
|
|
|
# Targeting details for inventory source. This will be populated in the details
|
|
|
|
|
# field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_INVENTORY_SOURCE`.
|
|
|
|
|
# Corresponds to the JSON property `inventorySourceDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::InventorySourceAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :inventory_source_details
|
|
|
|
|
|
|
|
|
|
# Targeting details for inventory source group. This will be populated in the
|
|
|
|
|
# details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_INVENTORY_SOURCE_GROUP`.
|
|
|
|
|
# Corresponds to the JSON property `inventorySourceGroupDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::InventorySourceGroupAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :inventory_source_group_details
|
|
|
|
|
|
|
|
|
|
# Details for assigned keyword targeting option. This will be populated in the
|
|
|
|
|
# details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_KEYWORD`.
|
|
|
|
|
# Corresponds to the JSON property `keywordDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::KeywordAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :keyword_details
|
|
|
|
|
|
|
|
|
|
# Details for assigned language targeting option. This will be populated in the
|
|
|
|
|
# details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_LANGUAGE`.
|
|
|
|
|
# Corresponds to the JSON property `languageDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::LanguageAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :language_details
|
|
|
|
|
|
|
|
|
|
# Output only. The resource name for this assigned targeting option.
|
|
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :name
|
|
|
|
|
|
|
|
|
|
# Targeting details for negative keyword list. This will be populated in the
|
|
|
|
|
# details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`.
|
|
|
|
|
# Corresponds to the JSON property `negativeKeywordListDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::NegativeKeywordListAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :negative_keyword_list_details
|
|
|
|
|
|
|
|
|
|
# On screen position targeting option details. This will be populated in the
|
|
|
|
|
# on_screen_position_details field when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_ON_SCREEN_POSITION`.
|
|
|
|
|
# Corresponds to the JSON property `onScreenPositionDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::OnScreenPositionAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :on_screen_position_details
|
|
|
|
|
|
|
|
|
|
# Assigned operating system targeting option details. This will be populated in
|
|
|
|
|
# the operating_system_details field when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_OPERATING_SYSTEM`.
|
|
|
|
|
# Corresponds to the JSON property `operatingSystemDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::OperatingSystemAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :operating_system_details
|
|
|
|
|
|
|
|
|
|
# Details for assigned parental status targeting option. This will be populated
|
|
|
|
|
# in the details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARTGETING_TYPE_PARENTAL_STATUS`.
|
|
|
|
|
# Corresponds to the JSON property `parentalStatusDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::ParentalStatusAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :parental_status_details
|
|
|
|
|
|
|
|
|
|
# Targeting details for proximity location list. This will be populated in the
|
|
|
|
|
# details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
|
|
|
|
|
# Corresponds to the JSON property `proximityLocationListDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::ProximityLocationListAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :proximity_location_list_details
|
|
|
|
|
|
|
|
|
|
# Targeting details for regional location list. This will be populated in the
|
|
|
|
|
# details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_REGIONAL_LOCATION_LIST`.
|
|
|
|
|
# Corresponds to the JSON property `regionalLocationListDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::RegionalLocationListAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :regional_location_list_details
|
|
|
|
|
|
|
|
|
|
# Targeting details for sensitive category. This will be populated in the
|
|
|
|
|
# details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.
|
|
|
|
|
# Corresponds to the JSON property `sensitiveCategoryExclusionDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::SensitiveCategoryAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :sensitive_category_exclusion_details
|
|
|
|
|
|
|
|
|
|
# Details for assigned sub-exchange targeting option. This will be populated in
|
|
|
|
|
# the details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_SUB_EXCHANGE`.
|
|
|
|
|
# Corresponds to the JSON property `subExchangeDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::SubExchangeAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :sub_exchange_details
|
|
|
|
|
|
|
|
|
|
# Output only. Identifies the type of this assigned targeting option.
|
|
|
|
|
# Corresponds to the JSON property `targetingType`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :targeting_type
|
|
|
|
|
|
|
|
|
|
# Assigned third party verifier targeting option details. This will be populated
|
|
|
|
|
# in the details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_THIRD_PARTY_VERIFIER`.
|
|
|
|
|
# Corresponds to the JSON property `thirdPartyVerifierDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::ThirdPartyVerifierAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :third_party_verifier_details
|
|
|
|
|
|
|
|
|
|
# Details for assigned URL targeting option. This will be populated in the
|
|
|
|
|
# details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_URL`.
|
|
|
|
|
# Corresponds to the JSON property `urlDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::UrlAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :url_details
|
|
|
|
|
|
|
|
|
|
# User rewarded content targeting option details. This will be populated in the
|
|
|
|
|
# user_rewarded_content_details field when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_USER_REWARDED_CONTENT`.
|
|
|
|
|
# Corresponds to the JSON property `userRewardedContentDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::UserRewardedContentAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :user_rewarded_content_details
|
|
|
|
|
|
|
|
|
|
# Video player size targeting option details. This will be populated in the
|
|
|
|
|
# video_player_size_details field when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_VIDEO_PLAYER_SIZE`. Explicitly targeting all options is not
|
|
|
|
|
# supported. Remove all video player size targeting options to achieve this
|
|
|
|
|
# effect.
|
|
|
|
|
# Corresponds to the JSON property `videoPlayerSizeDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::VideoPlayerSizeAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :video_player_size_details
|
|
|
|
|
|
|
|
|
|
# Assigned viewability targeting option details. This will be populated in the
|
|
|
|
|
# viewability_details field of an AssignedTargetingOption when targeting_type is
|
|
|
|
|
# `TARGETING_TYPE_VIEWABILITY`.
|
|
|
|
|
# Corresponds to the JSON property `viewabilityDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::ViewabilityAssignedTargetingOptionDetails]
|
|
|
|
|
attr_accessor :viewability_details
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@age_range_details = args[:age_range_details] if args.key?(:age_range_details)
|
|
|
|
|
@app_category_details = args[:app_category_details] if args.key?(:app_category_details)
|
|
|
|
|
@app_details = args[:app_details] if args.key?(:app_details)
|
|
|
|
|
@assigned_targeting_option_id = args[:assigned_targeting_option_id] if args.key?(:assigned_targeting_option_id)
|
|
|
|
|
@audience_group_details = args[:audience_group_details] if args.key?(:audience_group_details)
|
|
|
|
|
@authorized_seller_status_details = args[:authorized_seller_status_details] if args.key?(:authorized_seller_status_details)
|
|
|
|
|
@browser_details = args[:browser_details] if args.key?(:browser_details)
|
|
|
|
|
@carrier_and_isp_details = args[:carrier_and_isp_details] if args.key?(:carrier_and_isp_details)
|
|
|
|
|
@category_details = args[:category_details] if args.key?(:category_details)
|
|
|
|
|
@channel_details = args[:channel_details] if args.key?(:channel_details)
|
|
|
|
|
@content_instream_position_details = args[:content_instream_position_details] if args.key?(:content_instream_position_details)
|
|
|
|
|
@content_outstream_position_details = args[:content_outstream_position_details] if args.key?(:content_outstream_position_details)
|
|
|
|
|
@day_and_time_details = args[:day_and_time_details] if args.key?(:day_and_time_details)
|
|
|
|
|
@device_make_model_details = args[:device_make_model_details] if args.key?(:device_make_model_details)
|
|
|
|
|
@device_type_details = args[:device_type_details] if args.key?(:device_type_details)
|
|
|
|
|
@digital_content_label_exclusion_details = args[:digital_content_label_exclusion_details] if args.key?(:digital_content_label_exclusion_details)
|
|
|
|
|
@environment_details = args[:environment_details] if args.key?(:environment_details)
|
|
|
|
|
@exchange_details = args[:exchange_details] if args.key?(:exchange_details)
|
|
|
|
|
@gender_details = args[:gender_details] if args.key?(:gender_details)
|
|
|
|
|
@geo_region_details = args[:geo_region_details] if args.key?(:geo_region_details)
|
|
|
|
|
@household_income_details = args[:household_income_details] if args.key?(:household_income_details)
|
|
|
|
|
@inheritance = args[:inheritance] if args.key?(:inheritance)
|
|
|
|
|
@inventory_source_details = args[:inventory_source_details] if args.key?(:inventory_source_details)
|
|
|
|
|
@inventory_source_group_details = args[:inventory_source_group_details] if args.key?(:inventory_source_group_details)
|
|
|
|
|
@keyword_details = args[:keyword_details] if args.key?(:keyword_details)
|
|
|
|
|
@language_details = args[:language_details] if args.key?(:language_details)
|
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
|
@negative_keyword_list_details = args[:negative_keyword_list_details] if args.key?(:negative_keyword_list_details)
|
|
|
|
|
@on_screen_position_details = args[:on_screen_position_details] if args.key?(:on_screen_position_details)
|
|
|
|
|
@operating_system_details = args[:operating_system_details] if args.key?(:operating_system_details)
|
|
|
|
|
@parental_status_details = args[:parental_status_details] if args.key?(:parental_status_details)
|
|
|
|
|
@proximity_location_list_details = args[:proximity_location_list_details] if args.key?(:proximity_location_list_details)
|
|
|
|
|
@regional_location_list_details = args[:regional_location_list_details] if args.key?(:regional_location_list_details)
|
|
|
|
|
@sensitive_category_exclusion_details = args[:sensitive_category_exclusion_details] if args.key?(:sensitive_category_exclusion_details)
|
|
|
|
|
@sub_exchange_details = args[:sub_exchange_details] if args.key?(:sub_exchange_details)
|
|
|
|
|
@targeting_type = args[:targeting_type] if args.key?(:targeting_type)
|
|
|
|
|
@third_party_verifier_details = args[:third_party_verifier_details] if args.key?(:third_party_verifier_details)
|
|
|
|
|
@url_details = args[:url_details] if args.key?(:url_details)
|
|
|
|
|
@user_rewarded_content_details = args[:user_rewarded_content_details] if args.key?(:user_rewarded_content_details)
|
|
|
|
|
@video_player_size_details = args[:video_player_size_details] if args.key?(:video_player_size_details)
|
|
|
|
|
@viewability_details = args[:viewability_details] if args.key?(:viewability_details)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# A single assigned user role, which defines a user's authorized interaction
|
|
|
|
|
# with a specified partner or advertiser.
|
|
|
|
|
class AssignedUserRole
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The ID of the advertiser that the assigend user role applies to.
|
|
|
|
|
# Corresponds to the JSON property `advertiserId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :advertiser_id
|
|
|
|
|
|
|
|
|
|
# Output only. The ID of the assigned user role.
|
|
|
|
|
# Corresponds to the JSON property `assignedUserRoleId`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :assigned_user_role_id
|
|
|
|
|
|
|
|
|
|
# The ID of the partner that the assigned user role applies to.
|
|
|
|
|
# Corresponds to the JSON property `partnerId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :partner_id
|
|
|
|
|
|
|
|
|
|
# Required. The user role to assign to a user for the entity.
|
|
|
|
|
# Corresponds to the JSON property `userRole`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :user_role
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
|
|
|
|
|
@assigned_user_role_id = args[:assigned_user_role_id] if args.key?(:assigned_user_role_id)
|
|
|
|
|
@partner_id = args[:partner_id] if args.key?(:partner_id)
|
|
|
|
|
@user_role = args[:user_role] if args.key?(:user_role)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Assigned audience group targeting option details. This will be populated in
|
|
|
|
|
# the details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_AUDIENCE_GROUP`. The relation between each group is UNION,
|
|
|
|
|
# except for excluded_first_and_third_party_audience_group and
|
|
|
|
|
# excluded_google_audience_group, of which COMPLEMENT is UNION'ed with other
|
|
|
|
|
# groups.
|
|
|
|
|
class AudienceGroupAssignedTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Details of first and third party audience group. All first and third party
|
|
|
|
|
# audience targeting settings are logically ‘OR’ of each other.
|
|
|
|
|
# Corresponds to the JSON property `excludedFirstAndThirdPartyAudienceGroup`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::FirstAndThirdPartyAudienceGroup]
|
|
|
|
|
attr_accessor :excluded_first_and_third_party_audience_group
|
|
|
|
|
|
|
|
|
|
# Details of Google audience group. All Google audience targeting settings are
|
|
|
|
|
# logically ‘OR’ of each other.
|
|
|
|
|
# Corresponds to the JSON property `excludedGoogleAudienceGroup`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::GoogleAudienceGroup]
|
|
|
|
|
attr_accessor :excluded_google_audience_group
|
|
|
|
|
|
|
|
|
|
# Details of combined audience group. All combined audience targeting settings
|
|
|
|
|
# are logically ‘OR’ of each other.
|
|
|
|
|
# Corresponds to the JSON property `includedCombinedAudienceGroup`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::CombinedAudienceGroup]
|
|
|
|
|
attr_accessor :included_combined_audience_group
|
|
|
|
|
|
|
|
|
|
# Details of custom list group. All custom list targeting settings are logically
|
|
|
|
|
# ‘OR’ of each other.
|
|
|
|
|
# Corresponds to the JSON property `includedCustomListGroup`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::CustomListGroup]
|
|
|
|
|
attr_accessor :included_custom_list_group
|
|
|
|
|
|
|
|
|
|
# The first and third party audience ids and recencies of included first and
|
|
|
|
|
# third party audience groups. Each first and third party audience group
|
|
|
|
|
# contains first and third party audience ids only. The relation between each
|
|
|
|
|
# first and third party audience group is INTERSECTION, and the result is UNION'
|
|
|
|
|
# ed with other audience groups. Repeated groups with same settings will be
|
|
|
|
|
# ignored.
|
|
|
|
|
# Corresponds to the JSON property `includedFirstAndThirdPartyAudienceGroups`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::FirstAndThirdPartyAudienceGroup>]
|
|
|
|
|
attr_accessor :included_first_and_third_party_audience_groups
|
|
|
|
|
|
|
|
|
|
# Details of Google audience group. All Google audience targeting settings are
|
|
|
|
|
# logically ‘OR’ of each other.
|
|
|
|
|
# Corresponds to the JSON property `includedGoogleAudienceGroup`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::GoogleAudienceGroup]
|
|
|
|
|
attr_accessor :included_google_audience_group
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@excluded_first_and_third_party_audience_group = args[:excluded_first_and_third_party_audience_group] if args.key?(:excluded_first_and_third_party_audience_group)
|
|
|
|
|
@excluded_google_audience_group = args[:excluded_google_audience_group] if args.key?(:excluded_google_audience_group)
|
|
|
|
|
@included_combined_audience_group = args[:included_combined_audience_group] if args.key?(:included_combined_audience_group)
|
|
|
|
|
@included_custom_list_group = args[:included_custom_list_group] if args.key?(:included_custom_list_group)
|
|
|
|
|
@included_first_and_third_party_audience_groups = args[:included_first_and_third_party_audience_groups] if args.key?(:included_first_and_third_party_audience_groups)
|
|
|
|
|
@included_google_audience_group = args[:included_google_audience_group] if args.key?(:included_google_audience_group)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# The length an audio or a video has been played.
|
|
|
|
|
class AudioVideoOffset
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The offset in percentage of the audio or video duration.
|
|
|
|
|
# Corresponds to the JSON property `percentage`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :percentage
|
|
|
|
|
|
|
|
|
|
# The offset in seconds from the start of the audio or video.
|
|
|
|
|
# Corresponds to the JSON property `seconds`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :seconds
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@percentage = args[:percentage] if args.key?(:percentage)
|
|
|
|
|
@seconds = args[:seconds] if args.key?(:seconds)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Response message for AdvertiserService.AuditAdvertiser.
|
|
|
|
|
class AuditAdvertiserResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The number of individual targeting options from the following targeting types
|
|
|
|
|
# that are assigned to a line item under this advertiser. These individual
|
|
|
|
|
# targeting options count towards the limit of 4500000 ad group targeting
|
|
|
|
|
# options per advertiser. Qualifying Targeting types: * Channels, URLs, apps,
|
|
|
|
|
# and collections * Demographic * Google Audiences, including Affinity, Custom
|
|
|
|
|
# Affinity, and In-market audiences * Inventory source * Keyword * Mobile app
|
|
|
|
|
# category * User lists * Video targeting * Viewability
|
|
|
|
|
# Corresponds to the JSON property `adGroupCriteriaCount`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :ad_group_criteria_count
|
|
|
|
|
|
|
|
|
|
# The number of individual targeting options from the following targeting types
|
|
|
|
|
# that are assigned to a line item under this advertiser. These individual
|
|
|
|
|
# targeting options count towards the limit of 900000 campaign targeting options
|
|
|
|
|
# per advertiser. Qualifying Targeting types: * Position * Browser * Connection
|
|
|
|
|
# speed * Day and time * Device and operating system * Digital content label *
|
|
|
|
|
# Sensitive categories * Environment * Geography, including business chains and
|
|
|
|
|
# proximity * ISP * Language * Third-party verification
|
|
|
|
|
# Corresponds to the JSON property `campaignCriteriaCount`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :campaign_criteria_count
|
|
|
|
|
|
|
|
|
|
# The number of channels created under this advertiser. These channels count
|
|
|
|
|
# towards the limit of 1000 channels per advertiser.
|
|
|
|
|
# Corresponds to the JSON property `channelsCount`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :channels_count
|
|
|
|
|
|
|
|
|
|
# The number of negative keyword lists created under this advertiser. These
|
|
|
|
|
# negative keyword lists count towards the limit of 20 negative keyword lists
|
|
|
|
|
# per advertiser.
|
|
|
|
|
# Corresponds to the JSON property `negativeKeywordListsCount`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :negative_keyword_lists_count
|
|
|
|
|
|
|
|
|
|
# The number of negatively targeted channels created under this advertiser.
|
|
|
|
|
# These negatively targeted channels count towards the limit of 5 negatively
|
|
|
|
|
# targeted channels per advertiser.
|
|
|
|
|
# Corresponds to the JSON property `negativelyTargetedChannelsCount`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :negatively_targeted_channels_count
|
|
|
|
|
|
|
|
|
|
# The number of ACTIVE and PAUSED campaigns under this advertiser. These
|
|
|
|
|
# campaigns count towards the limit of 9999 campaigns per advertiser.
|
|
|
|
|
# Corresponds to the JSON property `usedCampaignsCount`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :used_campaigns_count
|
|
|
|
|
|
|
|
|
|
# The number of ACTIVE, PAUSED and DRAFT insertion orders under this advertiser.
|
|
|
|
|
# These insertion orders count towards the limit of 9999 insertion orders per
|
|
|
|
|
# advertiser.
|
|
|
|
|
# Corresponds to the JSON property `usedInsertionOrdersCount`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :used_insertion_orders_count
|
|
|
|
|
|
|
|
|
|
# The number of ACTIVE, PAUSED, and DRAFT line items under this advertiser.
|
|
|
|
|
# These line items count towards the limit of 9999 line items per advertiser.
|
|
|
|
|
# Corresponds to the JSON property `usedLineItemsCount`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :used_line_items_count
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@ad_group_criteria_count = args[:ad_group_criteria_count] if args.key?(:ad_group_criteria_count)
|
|
|
|
|
@campaign_criteria_count = args[:campaign_criteria_count] if args.key?(:campaign_criteria_count)
|
|
|
|
|
@channels_count = args[:channels_count] if args.key?(:channels_count)
|
|
|
|
|
@negative_keyword_lists_count = args[:negative_keyword_lists_count] if args.key?(:negative_keyword_lists_count)
|
|
|
|
|
@negatively_targeted_channels_count = args[:negatively_targeted_channels_count] if args.key?(:negatively_targeted_channels_count)
|
|
|
|
|
@used_campaigns_count = args[:used_campaigns_count] if args.key?(:used_campaigns_count)
|
|
|
|
|
@used_insertion_orders_count = args[:used_insertion_orders_count] if args.key?(:used_insertion_orders_count)
|
|
|
|
|
@used_line_items_count = args[:used_line_items_count] if args.key?(:used_line_items_count)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Represents an assigned authorized seller status. This will be populated in the
|
|
|
|
|
# details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.
|
|
|
|
|
class AuthorizedSellerStatusAssignedTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The authorized seller status to target.
|
|
|
|
|
# Corresponds to the JSON property `authorizedSellerStatus`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :authorized_seller_status
|
|
|
|
|
|
|
|
|
|
# Required. The targeting_option_id of a TargetingOption of type `
|
|
|
|
|
# TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.
|
|
|
|
|
# Corresponds to the JSON property `targetingOptionId`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :targeting_option_id
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@authorized_seller_status = args[:authorized_seller_status] if args.key?(:authorized_seller_status)
|
|
|
|
|
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Represents a targetable authorized seller status. This will be populated in
|
|
|
|
|
# the authorized_seller_status_details field when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.
|
|
|
|
|
class AuthorizedSellerStatusTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The authorized seller status.
|
|
|
|
|
# Corresponds to the JSON property `authorizedSellerStatus`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :authorized_seller_status
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@authorized_seller_status = args[:authorized_seller_status] if args.key?(:authorized_seller_status)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Settings that control the bid strategy. Bid strategy determines the bid price.
|
|
|
|
|
class BiddingStrategy
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# A strategy that uses a fixed bidding price.
|
|
|
|
|
# Corresponds to the JSON property `fixedBid`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::FixedBidStrategy]
|
|
|
|
|
attr_accessor :fixed_bid
|
|
|
|
|
|
|
|
|
|
# A strategy that automatically adjusts the bid to optimize a specified
|
|
|
|
|
# performance goal while spending the full budget.
|
|
|
|
|
# Corresponds to the JSON property `maximizeSpendAutoBid`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::MaximizeSpendBidStrategy]
|
|
|
|
|
attr_accessor :maximize_spend_auto_bid
|
|
|
|
|
|
|
|
|
|
# A strategy that automatically adjusts the bid to meet or beat a specified
|
|
|
|
|
# performance goal.
|
|
|
|
|
# Corresponds to the JSON property `performanceGoalAutoBid`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::PerformanceGoalBidStrategy]
|
|
|
|
|
attr_accessor :performance_goal_auto_bid
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@fixed_bid = args[:fixed_bid] if args.key?(:fixed_bid)
|
|
|
|
|
@maximize_spend_auto_bid = args[:maximize_spend_auto_bid] if args.key?(:maximize_spend_auto_bid)
|
|
|
|
|
@performance_goal_auto_bid = args[:performance_goal_auto_bid] if args.key?(:performance_goal_auto_bid)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Details for assigned browser targeting option. This will be populated in the
|
|
|
|
|
# details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_BROWSER`.
|
|
|
|
|
class BrowserAssignedTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The display name of the browser.
|
|
|
|
|
# Corresponds to the JSON property `displayName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :display_name
|
|
|
|
|
|
|
|
|
|
# Indicates if this option is being negatively targeted. All assigned browser
|
|
|
|
|
# targeting options on the same line item must have the same value for this
|
|
|
|
|
# field.
|
|
|
|
|
# Corresponds to the JSON property `negative`
|
|
|
|
|
# @return [Boolean]
|
|
|
|
|
attr_accessor :negative
|
|
|
|
|
alias_method :negative?, :negative
|
|
|
|
|
|
|
|
|
|
# Required. The targeting_option_id of a TargetingOption of type `
|
|
|
|
|
# TARGETING_TYPE_BROWSER`.
|
|
|
|
|
# Corresponds to the JSON property `targetingOptionId`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :targeting_option_id
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
|
|
|
@negative = args[:negative] if args.key?(:negative)
|
|
|
|
|
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Represents a targetable browser. This will be populated in the browser_details
|
|
|
|
|
# field when targeting_type is `TARGETING_TYPE_BROWSER`.
|
|
|
|
|
class BrowserTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The display name of the browser.
|
|
|
|
|
# Corresponds to the JSON property `displayName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :display_name
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Request message for BulkEditAdvertiserAssignedTargetingOptions.
|
|
|
|
|
class BulkEditAdvertiserAssignedTargetingOptionsRequest
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The assigned targeting options to create in batch, specified as a list of `
|
|
|
|
|
# CreateAssignedTargetingOptionsRequest`. Supported targeting types: * `
|
|
|
|
|
# TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `
|
|
|
|
|
# TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`
|
|
|
|
|
# Corresponds to the JSON property `createRequests`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::CreateAssignedTargetingOptionsRequest>]
|
|
|
|
|
attr_accessor :create_requests
|
|
|
|
|
|
|
|
|
|
# The assigned targeting options to delete in batch, specified as a list of `
|
|
|
|
|
# DeleteAssignedTargetingOptionsRequest`. Supported targeting types: * `
|
|
|
|
|
# TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `
|
|
|
|
|
# TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`
|
|
|
|
|
# Corresponds to the JSON property `deleteRequests`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::DeleteAssignedTargetingOptionsRequest>]
|
|
|
|
|
attr_accessor :delete_requests
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@create_requests = args[:create_requests] if args.key?(:create_requests)
|
|
|
|
|
@delete_requests = args[:delete_requests] if args.key?(:delete_requests)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
class BulkEditAdvertiserAssignedTargetingOptionsResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of assigned targeting options that have been successfully created.
|
|
|
|
|
# This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `createdAssignedTargetingOptions`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::AssignedTargetingOption>]
|
|
|
|
|
attr_accessor :created_assigned_targeting_options
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@created_assigned_targeting_options = args[:created_assigned_targeting_options] if args.key?(:created_assigned_targeting_options)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Request message for AssignedInventorySourceService.BulkEdit.
|
|
|
|
|
class BulkEditAssignedInventorySourcesRequest
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The ID of the advertiser that owns the parent inventory source group. The
|
|
|
|
|
# parent partner does not have access to these assigned inventory sources.
|
|
|
|
|
# Corresponds to the JSON property `advertiserId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :advertiser_id
|
|
|
|
|
|
|
|
|
|
# The assigned inventory sources to create in bulk, specified as a list of
|
|
|
|
|
# AssignedInventorySources.
|
|
|
|
|
# Corresponds to the JSON property `createdAssignedInventorySources`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::AssignedInventorySource>]
|
|
|
|
|
attr_accessor :created_assigned_inventory_sources
|
|
|
|
|
|
|
|
|
|
# The IDs of the assigned inventory sources to delete in bulk, specified as a
|
|
|
|
|
# list of assigned_inventory_source_ids.
|
|
|
|
|
# Corresponds to the JSON property `deletedAssignedInventorySources`
|
|
|
|
|
# @return [Array<Fixnum>]
|
|
|
|
|
attr_accessor :deleted_assigned_inventory_sources
|
|
|
|
|
|
|
|
|
|
# The ID of the partner that owns the inventory source group. Only this partner
|
|
|
|
|
# has write access to these assigned inventory sources.
|
|
|
|
|
# Corresponds to the JSON property `partnerId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :partner_id
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
|
|
|
|
|
@created_assigned_inventory_sources = args[:created_assigned_inventory_sources] if args.key?(:created_assigned_inventory_sources)
|
|
|
|
|
@deleted_assigned_inventory_sources = args[:deleted_assigned_inventory_sources] if args.key?(:deleted_assigned_inventory_sources)
|
|
|
|
|
@partner_id = args[:partner_id] if args.key?(:partner_id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Response message for AssignedInventorySourceService.BulkEdit.
|
|
|
|
|
class BulkEditAssignedInventorySourcesResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of assigned inventory sources that have been successfully created.
|
|
|
|
|
# This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `assignedInventorySources`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::AssignedInventorySource>]
|
|
|
|
|
attr_accessor :assigned_inventory_sources
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@assigned_inventory_sources = args[:assigned_inventory_sources] if args.key?(:assigned_inventory_sources)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Request message for AssignedLocationService.BulkEditAssignedLocations.
|
|
|
|
|
class BulkEditAssignedLocationsRequest
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The assigned locations to create in bulk, specified as a list of
|
|
|
|
|
# AssignedLocations.
|
|
|
|
|
# Corresponds to the JSON property `createdAssignedLocations`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::AssignedLocation>]
|
|
|
|
|
attr_accessor :created_assigned_locations
|
|
|
|
|
|
|
|
|
|
# The IDs of the assigned locations to delete in bulk, specified as a list of
|
|
|
|
|
# assigned_location_ids.
|
|
|
|
|
# Corresponds to the JSON property `deletedAssignedLocations`
|
|
|
|
|
# @return [Array<Fixnum>]
|
|
|
|
|
attr_accessor :deleted_assigned_locations
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@created_assigned_locations = args[:created_assigned_locations] if args.key?(:created_assigned_locations)
|
|
|
|
|
@deleted_assigned_locations = args[:deleted_assigned_locations] if args.key?(:deleted_assigned_locations)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Response message for AssignedLocationService.BulkEditAssignedLocations.
|
|
|
|
|
class BulkEditAssignedLocationsResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of assigned locations that have been successfully created. This list
|
|
|
|
|
# will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `assignedLocations`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::AssignedLocation>]
|
|
|
|
|
attr_accessor :assigned_locations
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@assigned_locations = args[:assigned_locations] if args.key?(:assigned_locations)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Request message for BulkEditAssignedUserRoles.
|
|
|
|
|
class BulkEditAssignedUserRolesRequest
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The assigned user roles to create in batch, specified as a list of
|
|
|
|
|
# AssignedUserRoles.
|
|
|
|
|
# Corresponds to the JSON property `createdAssignedUserRoles`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::AssignedUserRole>]
|
|
|
|
|
attr_accessor :created_assigned_user_roles
|
|
|
|
|
|
|
|
|
|
# The assigned user roles to delete in batch, specified as a list of
|
|
|
|
|
# assigned_user_role_ids. The format of assigned_user_role_id is `entityType-
|
|
|
|
|
# entityid`, for example `partner-123`.
|
|
|
|
|
# Corresponds to the JSON property `deletedAssignedUserRoles`
|
|
|
|
|
# @return [Array<String>]
|
|
|
|
|
attr_accessor :deleted_assigned_user_roles
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@created_assigned_user_roles = args[:created_assigned_user_roles] if args.key?(:created_assigned_user_roles)
|
|
|
|
|
@deleted_assigned_user_roles = args[:deleted_assigned_user_roles] if args.key?(:deleted_assigned_user_roles)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
class BulkEditAssignedUserRolesResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of assigned user roles that have been successfully created. This list
|
|
|
|
|
# will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `createdAssignedUserRoles`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::AssignedUserRole>]
|
|
|
|
|
attr_accessor :created_assigned_user_roles
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@created_assigned_user_roles = args[:created_assigned_user_roles] if args.key?(:created_assigned_user_roles)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Request message for BulkEditLineItemAssignedTargetingOptions.
|
|
|
|
|
class BulkEditLineItemAssignedTargetingOptionsRequest
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The assigned targeting options to create in batch, specified as a list of `
|
|
|
|
|
# CreateAssignedTargetingOptionsRequest`.
|
|
|
|
|
# Corresponds to the JSON property `createRequests`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::CreateAssignedTargetingOptionsRequest>]
|
|
|
|
|
attr_accessor :create_requests
|
|
|
|
|
|
|
|
|
|
# The assigned targeting options to delete in batch, specified as a list of `
|
|
|
|
|
# DeleteAssignedTargetingOptionsRequest`.
|
|
|
|
|
# Corresponds to the JSON property `deleteRequests`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::DeleteAssignedTargetingOptionsRequest>]
|
|
|
|
|
attr_accessor :delete_requests
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@create_requests = args[:create_requests] if args.key?(:create_requests)
|
|
|
|
|
@delete_requests = args[:delete_requests] if args.key?(:delete_requests)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
class BulkEditLineItemAssignedTargetingOptionsResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of assigned targeting options that have been successfully created.
|
|
|
|
|
# This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `createdAssignedTargetingOptions`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::AssignedTargetingOption>]
|
|
|
|
|
attr_accessor :created_assigned_targeting_options
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@created_assigned_targeting_options = args[:created_assigned_targeting_options] if args.key?(:created_assigned_targeting_options)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Request message for NegativeKeywordService.BulkEditNegativeKeywords.
|
|
|
|
|
class BulkEditNegativeKeywordsRequest
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The negative keywords to create in batch, specified as a list of
|
|
|
|
|
# NegativeKeywords.
|
|
|
|
|
# Corresponds to the JSON property `createdNegativeKeywords`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::NegativeKeyword>]
|
|
|
|
|
attr_accessor :created_negative_keywords
|
|
|
|
|
|
|
|
|
|
# The negative keywords to delete in batch, specified as a list of
|
|
|
|
|
# keyword_values.
|
|
|
|
|
# Corresponds to the JSON property `deletedNegativeKeywords`
|
|
|
|
|
# @return [Array<String>]
|
|
|
|
|
attr_accessor :deleted_negative_keywords
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@created_negative_keywords = args[:created_negative_keywords] if args.key?(:created_negative_keywords)
|
|
|
|
|
@deleted_negative_keywords = args[:deleted_negative_keywords] if args.key?(:deleted_negative_keywords)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Response message for NegativeKeywordService.BulkEditNegativeKeywords.
|
|
|
|
|
class BulkEditNegativeKeywordsResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of negative keywords that have been successfully created. This list
|
|
|
|
|
# will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `negativeKeywords`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::NegativeKeyword>]
|
|
|
|
|
attr_accessor :negative_keywords
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@negative_keywords = args[:negative_keywords] if args.key?(:negative_keywords)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Request message for BulkEditPartnerAssignedTargetingOptions.
|
|
|
|
|
class BulkEditPartnerAssignedTargetingOptionsRequest
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The assigned targeting options to create in batch, specified as a list of `
|
|
|
|
|
# CreateAssignedTargetingOptionsRequest`. Supported targeting types: * `
|
|
|
|
|
# TARGETING_TYPE_CHANNEL`
|
|
|
|
|
# Corresponds to the JSON property `createRequests`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::CreateAssignedTargetingOptionsRequest>]
|
|
|
|
|
attr_accessor :create_requests
|
|
|
|
|
|
|
|
|
|
# The assigned targeting options to delete in batch, specified as a list of `
|
|
|
|
|
# DeleteAssignedTargetingOptionsRequest`. Supported targeting types: * `
|
|
|
|
|
# TARGETING_TYPE_CHANNEL`
|
|
|
|
|
# Corresponds to the JSON property `deleteRequests`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::DeleteAssignedTargetingOptionsRequest>]
|
|
|
|
|
attr_accessor :delete_requests
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@create_requests = args[:create_requests] if args.key?(:create_requests)
|
|
|
|
|
@delete_requests = args[:delete_requests] if args.key?(:delete_requests)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
class BulkEditPartnerAssignedTargetingOptionsResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of assigned targeting options that have been successfully created.
|
|
|
|
|
# This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `createdAssignedTargetingOptions`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::AssignedTargetingOption>]
|
|
|
|
|
attr_accessor :created_assigned_targeting_options
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@created_assigned_targeting_options = args[:created_assigned_targeting_options] if args.key?(:created_assigned_targeting_options)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Request message for SiteService.BulkEditSites.
|
|
|
|
|
class BulkEditSitesRequest
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The ID of the advertiser that owns the parent channel.
|
|
|
|
|
# Corresponds to the JSON property `advertiserId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :advertiser_id
|
|
|
|
|
|
|
|
|
|
# The sites to create in batch, specified as a list of Sites.
|
|
|
|
|
# Corresponds to the JSON property `createdSites`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::Site>]
|
|
|
|
|
attr_accessor :created_sites
|
|
|
|
|
|
|
|
|
|
# The sites to delete in batch, specified as a list of site url_or_app_ids.
|
|
|
|
|
# Corresponds to the JSON property `deletedSites`
|
|
|
|
|
# @return [Array<String>]
|
|
|
|
|
attr_accessor :deleted_sites
|
|
|
|
|
|
|
|
|
|
# The ID of the partner that owns the parent channel.
|
|
|
|
|
# Corresponds to the JSON property `partnerId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :partner_id
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
|
|
|
|
|
@created_sites = args[:created_sites] if args.key?(:created_sites)
|
|
|
|
|
@deleted_sites = args[:deleted_sites] if args.key?(:deleted_sites)
|
|
|
|
|
@partner_id = args[:partner_id] if args.key?(:partner_id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Response message for SiteService.BulkEditSites.
|
|
|
|
|
class BulkEditSitesResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of sites that have been successfully created. This list will be
|
|
|
|
|
# absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `sites`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::Site>]
|
|
|
|
|
attr_accessor :sites
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@sites = args[:sites] if args.key?(:sites)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
class BulkListAdvertiserAssignedTargetingOptionsResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of assigned targeting options. This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `assignedTargetingOptions`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::AssignedTargetingOption>]
|
|
|
|
|
attr_accessor :assigned_targeting_options
|
|
|
|
|
|
|
|
|
|
# A token identifying the next page of results. This value should be specified
|
|
|
|
|
# as the pageToken in a subsequent
|
|
|
|
|
# BulkListAdvertiserAssignedTargetingOptionsRequest to fetch the next page of
|
|
|
|
|
# results. This token will be absent if there are no more
|
|
|
|
|
# assigned_targeting_options to return.
|
|
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :next_page_token
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@assigned_targeting_options = args[:assigned_targeting_options] if args.key?(:assigned_targeting_options)
|
|
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
class BulkListLineItemAssignedTargetingOptionsResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of assigned targeting options. This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `assignedTargetingOptions`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::AssignedTargetingOption>]
|
|
|
|
|
attr_accessor :assigned_targeting_options
|
|
|
|
|
|
|
|
|
|
# A token identifying the next page of results. This value should be specified
|
|
|
|
|
# as the pageToken in a subsequent
|
|
|
|
|
# BulkListLineItemAssignedTargetingOptionsRequest to fetch the next page of
|
|
|
|
|
# results. This token will be absent if there are no more
|
|
|
|
|
# assigned_targeting_options to return.
|
|
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :next_page_token
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@assigned_targeting_options = args[:assigned_targeting_options] if args.key?(:assigned_targeting_options)
|
|
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# A single campaign.
|
|
|
|
|
class Campaign
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The unique ID of the advertiser the campaign belongs to.
|
|
|
|
|
# Corresponds to the JSON property `advertiserId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :advertiser_id
|
|
|
|
|
|
|
|
|
|
# Settings that track the planned spend and duration of a campaign.
|
|
|
|
|
# Corresponds to the JSON property `campaignFlight`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::CampaignFlight]
|
|
|
|
|
attr_accessor :campaign_flight
|
|
|
|
|
|
|
|
|
|
# Settings that control the goal of a campaign.
|
|
|
|
|
# Corresponds to the JSON property `campaignGoal`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::CampaignGoal]
|
|
|
|
|
attr_accessor :campaign_goal
|
|
|
|
|
|
|
|
|
|
# Output only. The unique ID of the campaign. Assigned by the system.
|
|
|
|
|
# Corresponds to the JSON property `campaignId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :campaign_id
|
|
|
|
|
|
|
|
|
|
# Required. The display name of the campaign. Must be UTF-8 encoded with a
|
|
|
|
|
# maximum size of 240 bytes.
|
|
|
|
|
# Corresponds to the JSON property `displayName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :display_name
|
|
|
|
|
|
|
|
|
|
# Required. Controls whether or not the insertion orders under this campaign can
|
|
|
|
|
# spend their budgets and bid on inventory. * Accepted values are `
|
|
|
|
|
# ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`, and `ENTITY_STATUS_PAUSED`. *
|
|
|
|
|
# For CreateCampaign method, `ENTITY_STATUS_ARCHIVED` is not allowed.
|
|
|
|
|
# Corresponds to the JSON property `entityStatus`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :entity_status
|
|
|
|
|
|
|
|
|
|
# Settings that control the number of times a user may be shown with the same ad
|
|
|
|
|
# during a given time period.
|
|
|
|
|
# Corresponds to the JSON property `frequencyCap`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::FrequencyCap]
|
|
|
|
|
attr_accessor :frequency_cap
|
|
|
|
|
|
|
|
|
|
# Output only. The resource name of the campaign.
|
|
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :name
|
|
|
|
|
|
|
|
|
|
# Output only. The timestamp when the campaign was last updated. Assigned by the
|
|
|
|
|
# system.
|
|
|
|
|
# Corresponds to the JSON property `updateTime`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :update_time
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
|
|
|
|
|
@campaign_flight = args[:campaign_flight] if args.key?(:campaign_flight)
|
|
|
|
|
@campaign_goal = args[:campaign_goal] if args.key?(:campaign_goal)
|
|
|
|
|
@campaign_id = args[:campaign_id] if args.key?(:campaign_id)
|
|
|
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
|
|
|
@entity_status = args[:entity_status] if args.key?(:entity_status)
|
|
|
|
|
@frequency_cap = args[:frequency_cap] if args.key?(:frequency_cap)
|
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
|
@update_time = args[:update_time] if args.key?(:update_time)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Settings that track the planned spend and duration of a campaign.
|
|
|
|
|
class CampaignFlight
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# A date range.
|
|
|
|
|
# Corresponds to the JSON property `plannedDates`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::DateRange]
|
|
|
|
|
attr_accessor :planned_dates
|
|
|
|
|
|
|
|
|
|
# The amount the campaign is expected to spend for its given planned_dates. This
|
|
|
|
|
# will not limit serving, but will be used for tracking spend in the DV360 UI.
|
|
|
|
|
# The amount is in micros. Must be greater than or equal to 0. For example,
|
|
|
|
|
# 500000000 represents 500 standard units of the currency.
|
|
|
|
|
# Corresponds to the JSON property `plannedSpendAmountMicros`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :planned_spend_amount_micros
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@planned_dates = args[:planned_dates] if args.key?(:planned_dates)
|
|
|
|
|
@planned_spend_amount_micros = args[:planned_spend_amount_micros] if args.key?(:planned_spend_amount_micros)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Settings that control the goal of a campaign.
|
|
|
|
|
class CampaignGoal
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Required. The type of the campaign goal.
|
|
|
|
|
# Corresponds to the JSON property `campaignGoalType`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :campaign_goal_type
|
|
|
|
|
|
|
|
|
|
# Settings that control the performance goal of a campaign or insertion order.
|
|
|
|
|
# Corresponds to the JSON property `performanceGoal`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::PerformanceGoal]
|
|
|
|
|
attr_accessor :performance_goal
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@campaign_goal_type = args[:campaign_goal_type] if args.key?(:campaign_goal_type)
|
|
|
|
|
@performance_goal = args[:performance_goal] if args.key?(:performance_goal)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Details for assigned carrier and ISP targeting option. This will be populated
|
|
|
|
|
# in the details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_CARRIER_AND_ISP`.
|
|
|
|
|
class CarrierAndIspAssignedTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The display name of the carrier or ISP.
|
|
|
|
|
# Corresponds to the JSON property `displayName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :display_name
|
|
|
|
|
|
|
|
|
|
# Indicates if this option is being negatively targeted. All assigned carrier
|
|
|
|
|
# and ISP targeting options on the same line item must have the same value for
|
|
|
|
|
# this field.
|
|
|
|
|
# Corresponds to the JSON property `negative`
|
|
|
|
|
# @return [Boolean]
|
|
|
|
|
attr_accessor :negative
|
|
|
|
|
alias_method :negative?, :negative
|
|
|
|
|
|
|
|
|
|
# Required. The targeting_option_id of a TargetingOption of type `
|
|
|
|
|
# TARGETING_TYPE_CARRIER_AND_ISP`.
|
|
|
|
|
# Corresponds to the JSON property `targetingOptionId`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :targeting_option_id
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
|
|
|
@negative = args[:negative] if args.key?(:negative)
|
|
|
|
|
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Represents a targetable carrier or ISP. This will be populated in the
|
|
|
|
|
# carrier_and_isp_details field of a TargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_CARRIER_AND_ISP`.
|
|
|
|
|
class CarrierAndIspTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The display name of the carrier or ISP.
|
|
|
|
|
# Corresponds to the JSON property `displayName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :display_name
|
|
|
|
|
|
|
|
|
|
# Output only. The type indicating if it's carrier or ISP.
|
|
|
|
|
# Corresponds to the JSON property `type`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :type
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
|
|
|
@type = args[:type] if args.key?(:type)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Assigned category targeting option details. This will be populated in the
|
|
|
|
|
# category_details field when targeting_type is `TARGETING_TYPE_CATEGORY`.
|
|
|
|
|
class CategoryAssignedTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The display name of the category.
|
|
|
|
|
# Corresponds to the JSON property `displayName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :display_name
|
|
|
|
|
|
|
|
|
|
# Indicates if this option is being negatively targeted.
|
|
|
|
|
# Corresponds to the JSON property `negative`
|
|
|
|
|
# @return [Boolean]
|
|
|
|
|
attr_accessor :negative
|
|
|
|
|
alias_method :negative?, :negative
|
|
|
|
|
|
|
|
|
|
# Required. The targeting_option_id field when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_CATEGORY`.
|
|
|
|
|
# Corresponds to the JSON property `targetingOptionId`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :targeting_option_id
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
|
|
|
@negative = args[:negative] if args.key?(:negative)
|
|
|
|
|
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Represents a targetable category. This will be populated in the
|
|
|
|
|
# category_details field of a TargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_CATEGORY`.
|
|
|
|
|
class CategoryTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The display name of the category.
|
|
|
|
|
# Corresponds to the JSON property `displayName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :display_name
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# A single channel. Channels are custom groups of related websites and apps.
|
|
|
|
|
class Channel
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The ID of the advertiser that owns the channel.
|
|
|
|
|
# Corresponds to the JSON property `advertiserId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :advertiser_id
|
|
|
|
|
|
|
|
|
|
# Output only. The unique ID of the channel. Assigned by the system.
|
|
|
|
|
# Corresponds to the JSON property `channelId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :channel_id
|
|
|
|
|
|
|
|
|
|
# Required. The display name of the channel. Must be UTF-8 encoded with a
|
|
|
|
|
# maximum length of 240 bytes.
|
|
|
|
|
# Corresponds to the JSON property `displayName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :display_name
|
|
|
|
|
|
|
|
|
|
# Output only. The resource name of the channel.
|
|
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :name
|
|
|
|
|
|
|
|
|
|
# The ID of the partner that owns the channel.
|
|
|
|
|
# Corresponds to the JSON property `partnerId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :partner_id
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
|
|
|
|
|
@channel_id = args[:channel_id] if args.key?(:channel_id)
|
|
|
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
|
@partner_id = args[:partner_id] if args.key?(:partner_id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Details for assigned channel targeting option. This will be populated in the
|
|
|
|
|
# details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_CHANNEL`.
|
|
|
|
|
class ChannelAssignedTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Required. ID of the channel. Should refer to the channel ID field on a [
|
|
|
|
|
# Partner-owned channel](partners.channels#Channel.FIELDS.channel_id) or [
|
|
|
|
|
# advertiser-owned channel](advertisers.channels#Channel.FIELDS.channel_id)
|
|
|
|
|
# resource.
|
|
|
|
|
# Corresponds to the JSON property `channelId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :channel_id
|
|
|
|
|
|
|
|
|
|
# Indicates if this option is being negatively targeted. For advertiser level
|
|
|
|
|
# assigned targeting option, this field must be true.
|
|
|
|
|
# Corresponds to the JSON property `negative`
|
|
|
|
|
# @return [Boolean]
|
|
|
|
|
attr_accessor :negative
|
|
|
|
|
alias_method :negative?, :negative
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@channel_id = args[:channel_id] if args.key?(:channel_id)
|
|
|
|
|
@negative = args[:negative] if args.key?(:negative)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Settings for advertisers that use both Campaign Manager 360 (CM360) and third-
|
|
|
|
|
# party ad servers.
|
|
|
|
|
class CmHybridConfig
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Required. Immutable. Account ID of the CM360 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 CM360 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 CM360 sites whose placements will be synced to DV360 as creatives.
|
|
|
|
|
# If absent or empty in CreateAdvertiser method, the system will automatically
|
|
|
|
|
# create a CM360 site. Removing sites from this list may cause DV360 creatives
|
|
|
|
|
# synced from CM360 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 CM360.
|
|
|
|
|
# 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 CM360 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 360 tracking ad.
|
|
|
|
|
class CmTrackingAd
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The ad ID of the campaign manager 360 tracking Ad.
|
|
|
|
|
# Corresponds to the JSON property `cmAdId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :cm_ad_id
|
|
|
|
|
|
|
|
|
|
# The creative ID of the campaign manager 360 tracking Ad.
|
|
|
|
|
# Corresponds to the JSON property `cmCreativeId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :cm_creative_id
|
|
|
|
|
|
|
|
|
|
# The placement ID of the campaign manager 360 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 360 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 360 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 360 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: * `
|
feat: Automated regeneration of displayvideo v1 client (#2377)
This PR was generated using Autosynth. :rainbow:
<details><summary>Log from Synthtool</summary>
```
2021-01-13 02:27:29,414 synthtool [DEBUG] > Executing /home/kbuilder/.cache/synthtool/google-api-ruby-client/synth.py.
On branch autosynth-displayvideo-v1
nothing to commit, working tree clean
2021-01-13 02:27:29,485 synthtool [DEBUG] > Running: docker run --rm -v/home/kbuilder/.cache/synthtool/google-api-ruby-client:/workspace -v/var/run/docker.sock:/var/run/docker.sock -w /workspace --entrypoint script/synth.rb gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/autosynth displayvideo v1
DEBUG:synthtool:Running: docker run --rm -v/home/kbuilder/.cache/synthtool/google-api-ruby-client:/workspace -v/var/run/docker.sock:/var/run/docker.sock -w /workspace --entrypoint script/synth.rb gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/autosynth displayvideo v1
git clean -df
bundle install
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and
installing your bundle as root will break this application for all non-root
users on this machine.
The dependency jruby-openssl (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for java. To add those platforms to the bundle, run `bundle lock --add-platform java`.
Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Fetching rake 11.3.0
Installing rake 11.3.0
Fetching concurrent-ruby 1.1.7
Installing concurrent-ruby 1.1.7
Fetching i18n 1.8.7
Installing i18n 1.8.7
Fetching minitest 5.14.3
Installing minitest 5.14.3
Fetching tzinfo 2.0.4
Installing tzinfo 2.0.4
Fetching zeitwerk 2.4.2
Installing zeitwerk 2.4.2
Fetching activesupport 6.1.1
Installing activesupport 6.1.1
Fetching public_suffix 4.0.6
Installing public_suffix 4.0.6
Fetching addressable 2.7.0
Installing addressable 2.7.0
Fetching ast 2.4.1
Installing ast 2.4.1
Using bundler 2.1.4
Fetching byebug 11.1.3
Installing byebug 11.1.3 with native extensions
Fetching coderay 1.1.3
Installing coderay 1.1.3
Fetching json 2.5.1
Installing json 2.5.1 with native extensions
Fetching docile 1.3.4
Installing docile 1.3.4
Fetching simplecov-html 0.10.2
Installing simplecov-html 0.10.2
Fetching simplecov 0.16.1
Installing simplecov 0.16.1
Using sync 0.5.0
Fetching tins 1.28.0
Installing tins 1.28.0
Fetching term-ansicolor 1.7.1
Installing term-ansicolor 1.7.1
Fetching thor 0.20.3
Installing thor 0.20.3
Fetching coveralls 0.8.23
Installing coveralls 0.8.23
Fetching rexml 3.2.4
Installing rexml 3.2.4
Fetching crack 0.4.5
Installing crack 0.4.5
Fetching declarative 0.0.20
Installing declarative 0.0.20
Fetching declarative-option 0.1.0
Installing declarative-option 0.1.0
Fetching diff-lcs 1.4.4
Installing diff-lcs 1.4.4
Fetching dotenv 2.7.6
Installing dotenv 2.7.6
Fetching fakefs 0.20.1
Installing fakefs 0.20.1
Fetching faraday-net_http 1.0.1
Installing faraday-net_http 1.0.1
Fetching multipart-post 2.1.1
Installing multipart-post 2.1.1
Fetching ruby2_keywords 0.0.2
Installing ruby2_keywords 0.0.2
Fetching faraday 1.3.0
Installing faraday 1.3.0
Fetching gems 1.2.0
Installing gems 1.2.0
Fetching github-markup 1.7.0
Installing github-markup 1.7.0
Fetching jwt 2.2.2
Installing jwt 2.2.2
Fetching memoist 0.16.2
Installing memoist 0.16.2
Fetching multi_json 1.15.0
Installing multi_json 1.15.0
Fetching os 0.9.6
Installing os 0.9.6
Fetching signet 0.14.0
Installing signet 0.14.0
Fetching googleauth 0.14.0
Installing googleauth 0.14.0
Fetching httpclient 2.8.3
Installing httpclient 2.8.3
Fetching mini_mime 1.0.2
Installing mini_mime 1.0.2
Fetching uber 0.1.0
Installing uber 0.1.0
Fetching representable 3.0.4
Installing representable 3.0.4
Fetching retriable 3.1.2
Installing retriable 3.1.2
Fetching google-apis-core 0.2.0
Installing google-apis-core 0.2.0
Fetching google-apis-discovery_v1 0.1.0
Installing google-apis-discovery_v1 0.1.0
Using google-apis-generator 0.1.1 from source at `.`
Fetching google-id-token 1.4.2
Installing google-id-token 1.4.2
Fetching hashdiff 1.0.1
Installing hashdiff 1.0.1
Fetching mime-types-data 3.2020.1104
Installing mime-types-data 3.2020.1104
Fetching mime-types 3.3.1
Installing mime-types 3.3.1
Fetching multi_xml 0.6.0
Installing multi_xml 0.6.0
Fetching httparty 0.18.1
Installing httparty 0.18.1
Fetching rspec-support 3.10.1
Installing rspec-support 3.10.1
Fetching rspec-core 3.10.1
Installing rspec-core 3.10.1
Fetching rspec-expectations 3.10.1
Installing rspec-expectations 3.10.1
Fetching rspec-mocks 3.10.1
Installing rspec-mocks 3.10.1
Fetching rspec 3.10.0
Installing rspec 3.10.0
Fetching json_spec 1.1.5
Installing json_spec 1.1.5
Fetching launchy 2.5.0
Installing launchy 2.5.0
Fetching little-plugger 1.1.4
Installing little-plugger 1.1.4
Fetching logging 2.3.0
Installing logging 2.3.0
Fetching method_source 1.0.0
Installing method_source 1.0.0
Fetching opencensus 0.5.0
Installing opencensus 0.5.0
Fetching parallel 1.20.1
Installing parallel 1.20.1
Fetching parser 2.7.2.0
Installing parser 2.7.2.0
Fetching powerpack 0.1.3
Installing powerpack 0.1.3
Fetching pry 0.13.1
Installing pry 0.13.1
Fetching pry-byebug 3.9.0
Installing pry-byebug 3.9.0
Fetching yard 0.9.26
Installing yard 0.9.26
Fetching pry-doc 0.13.5
Installing pry-doc 0.13.5
Fetching rainbow 2.2.2
Installing rainbow 2.2.2 with native extensions
Fetching redcarpet 3.5.1
Installing redcarpet 3.5.1 with native extensions
Fetching redis 3.3.5
Installing redis 3.3.5
Fetching rmail 1.1.4
Installing rmail 1.1.4
Fetching ruby-progressbar 1.11.0
Installing ruby-progressbar 1.11.0
Fetching unicode-display_width 1.7.0
Installing unicode-display_width 1.7.0
Fetching rubocop 0.49.1
Installing rubocop 0.49.1
Fetching webmock 2.3.2
Installing webmock 2.3.2
Bundle complete! 25 Gemfile dependencies, 81 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
Post-install message from i18n:
HEADS UP! i18n 1.1 changed fallbacks to exclude default locale.
But that may break your application.
If you are upgrading your Rails application from an older version of Rails:
Please check your Rails app for 'config.i18n.fallbacks = true'.
If you're using I18n (>= 1.1.0) and Rails (< 5.2.2), this should be
'config.i18n.fallbacks = [I18n.default_locale]'.
If not, fallbacks will be broken in your app by I18n 1.1.x.
If you are starting a NEW Rails application, you can ignore this notice.
For more info see:
https://github.com/svenfuchs/i18n/releases/tag/v1.1.0
Post-install message from httparty:
When you HTTParty, you must party hard!
echo a | bundle exec bin/generate-api gen /workspace/generated --api=displayvideo.v1 --names=/workspace/api_names.yaml --names-out=/workspace/api_names_out.yaml --spot-check
Loading displayvideo, version v1 from https://raw.githubusercontent.com/googleapis/discovery-artifact-manager/master/discoveries/displayvideo.v1.json
conflict google-apis-displayvideo_v1/lib/google/apis/displayvideo_v1/classes.rb
<ideo_v1/classes.rb? (enter "h" for help) [Ynaqdhm] a
force google-apis-displayvideo_v1/lib/google/apis/displayvideo_v1/classes.rb
conflict google-apis-displayvideo_v1/lib/google/apis/displayvideo_v1/gem_version.rb
force google-apis-displayvideo_v1/lib/google/apis/displayvideo_v1/gem_version.rb
conflict google-apis-displayvideo_v1/CHANGELOG.md
force google-apis-displayvideo_v1/CHANGELOG.md
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and
installing your bundle as root will break this application for all non-root
users on this machine.
The dependency jruby-openssl (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for java. To add those platforms to the bundle, run `bundle lock --add-platform java`.
Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Fetching rake 13.0.3
Installing rake 13.0.3
Using public_suffix 4.0.6
Using addressable 2.7.0
Using bundler 2.1.4
Using declarative 0.0.20
Using declarative-option 0.1.0
Using diff-lcs 1.4.4
Using faraday-net_http 1.0.1
Using multipart-post 2.1.1
Using ruby2_keywords 0.0.2
Using faraday 1.3.0
Using jwt 2.2.2
Using memoist 0.16.2
Using multi_json 1.15.0
Fetching os 1.1.1
Installing os 1.1.1
Using signet 0.14.0
Using googleauth 0.14.0
Using httpclient 2.8.3
Using mini_mime 1.0.2
Using uber 0.1.0
Using representable 3.0.4
Using retriable 3.1.2
Using rexml 3.2.4
Using google-apis-core 0.2.0
Using google-apis-displayvideo_v1 0.2.0 from source at `.`
Using opencensus 0.5.0
Using redcarpet 3.5.1
Using rspec-support 3.10.1
Using rspec-core 3.10.1
Using rspec-expectations 3.10.1
Using rspec-mocks 3.10.1
Using rspec 3.10.0
Using yard 0.9.26
Bundle complete! 8 Gemfile dependencies, 33 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
/root/.rbenv/versions/2.6.6/bin/ruby -I/root/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rspec-core-3.10.1/lib:/root/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rspec-support-3.10.1/lib /root/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rspec-core-3.10.1/exe/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb
Google::Apis::DisplayvideoV1
should load
Finished in 0.3812 seconds (files took 0.10633 seconds to load)
1 example, 0 failures
Files: 4
Modules: 3 ( 1 undocumented)
Classes: 229 ( 23 undocumented)
Constants: 8 ( 0 undocumented)
Attributes: 440 ( 0 undocumented)
Methods: 577 ( 0 undocumented)
98.09% documented
google-apis-displayvideo_v1 0.2.0 built to pkg/google-apis-displayvideo_v1-0.2.0.gem.
identical /workspace/api_names_out.yaml
2021-01-13 02:28:20,953 synthtool [DEBUG] > Wrote metadata to generated/google-apis-displayvideo_v1/synth.metadata.
DEBUG:synthtool:Wrote metadata to generated/google-apis-displayvideo_v1/synth.metadata.
```
</details>
Full log will be available here:
https://source.cloud.google.com/results/invocations/2c9a7f94-8490-460d-bb8a-c9c25cb6fec9/targets
- [ ] To automatically regenerate this PR, check this box.
2021-01-13 10:42:03 +00:00
|
|
|
|
# CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO`
|
2021-01-01 03:01:13 +00:00
|
|
|
|
# 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: * `
|
feat: Automated regeneration of displayvideo v1 client (#2377)
This PR was generated using Autosynth. :rainbow:
<details><summary>Log from Synthtool</summary>
```
2021-01-13 02:27:29,414 synthtool [DEBUG] > Executing /home/kbuilder/.cache/synthtool/google-api-ruby-client/synth.py.
On branch autosynth-displayvideo-v1
nothing to commit, working tree clean
2021-01-13 02:27:29,485 synthtool [DEBUG] > Running: docker run --rm -v/home/kbuilder/.cache/synthtool/google-api-ruby-client:/workspace -v/var/run/docker.sock:/var/run/docker.sock -w /workspace --entrypoint script/synth.rb gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/autosynth displayvideo v1
DEBUG:synthtool:Running: docker run --rm -v/home/kbuilder/.cache/synthtool/google-api-ruby-client:/workspace -v/var/run/docker.sock:/var/run/docker.sock -w /workspace --entrypoint script/synth.rb gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/autosynth displayvideo v1
git clean -df
bundle install
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and
installing your bundle as root will break this application for all non-root
users on this machine.
The dependency jruby-openssl (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for java. To add those platforms to the bundle, run `bundle lock --add-platform java`.
Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Fetching rake 11.3.0
Installing rake 11.3.0
Fetching concurrent-ruby 1.1.7
Installing concurrent-ruby 1.1.7
Fetching i18n 1.8.7
Installing i18n 1.8.7
Fetching minitest 5.14.3
Installing minitest 5.14.3
Fetching tzinfo 2.0.4
Installing tzinfo 2.0.4
Fetching zeitwerk 2.4.2
Installing zeitwerk 2.4.2
Fetching activesupport 6.1.1
Installing activesupport 6.1.1
Fetching public_suffix 4.0.6
Installing public_suffix 4.0.6
Fetching addressable 2.7.0
Installing addressable 2.7.0
Fetching ast 2.4.1
Installing ast 2.4.1
Using bundler 2.1.4
Fetching byebug 11.1.3
Installing byebug 11.1.3 with native extensions
Fetching coderay 1.1.3
Installing coderay 1.1.3
Fetching json 2.5.1
Installing json 2.5.1 with native extensions
Fetching docile 1.3.4
Installing docile 1.3.4
Fetching simplecov-html 0.10.2
Installing simplecov-html 0.10.2
Fetching simplecov 0.16.1
Installing simplecov 0.16.1
Using sync 0.5.0
Fetching tins 1.28.0
Installing tins 1.28.0
Fetching term-ansicolor 1.7.1
Installing term-ansicolor 1.7.1
Fetching thor 0.20.3
Installing thor 0.20.3
Fetching coveralls 0.8.23
Installing coveralls 0.8.23
Fetching rexml 3.2.4
Installing rexml 3.2.4
Fetching crack 0.4.5
Installing crack 0.4.5
Fetching declarative 0.0.20
Installing declarative 0.0.20
Fetching declarative-option 0.1.0
Installing declarative-option 0.1.0
Fetching diff-lcs 1.4.4
Installing diff-lcs 1.4.4
Fetching dotenv 2.7.6
Installing dotenv 2.7.6
Fetching fakefs 0.20.1
Installing fakefs 0.20.1
Fetching faraday-net_http 1.0.1
Installing faraday-net_http 1.0.1
Fetching multipart-post 2.1.1
Installing multipart-post 2.1.1
Fetching ruby2_keywords 0.0.2
Installing ruby2_keywords 0.0.2
Fetching faraday 1.3.0
Installing faraday 1.3.0
Fetching gems 1.2.0
Installing gems 1.2.0
Fetching github-markup 1.7.0
Installing github-markup 1.7.0
Fetching jwt 2.2.2
Installing jwt 2.2.2
Fetching memoist 0.16.2
Installing memoist 0.16.2
Fetching multi_json 1.15.0
Installing multi_json 1.15.0
Fetching os 0.9.6
Installing os 0.9.6
Fetching signet 0.14.0
Installing signet 0.14.0
Fetching googleauth 0.14.0
Installing googleauth 0.14.0
Fetching httpclient 2.8.3
Installing httpclient 2.8.3
Fetching mini_mime 1.0.2
Installing mini_mime 1.0.2
Fetching uber 0.1.0
Installing uber 0.1.0
Fetching representable 3.0.4
Installing representable 3.0.4
Fetching retriable 3.1.2
Installing retriable 3.1.2
Fetching google-apis-core 0.2.0
Installing google-apis-core 0.2.0
Fetching google-apis-discovery_v1 0.1.0
Installing google-apis-discovery_v1 0.1.0
Using google-apis-generator 0.1.1 from source at `.`
Fetching google-id-token 1.4.2
Installing google-id-token 1.4.2
Fetching hashdiff 1.0.1
Installing hashdiff 1.0.1
Fetching mime-types-data 3.2020.1104
Installing mime-types-data 3.2020.1104
Fetching mime-types 3.3.1
Installing mime-types 3.3.1
Fetching multi_xml 0.6.0
Installing multi_xml 0.6.0
Fetching httparty 0.18.1
Installing httparty 0.18.1
Fetching rspec-support 3.10.1
Installing rspec-support 3.10.1
Fetching rspec-core 3.10.1
Installing rspec-core 3.10.1
Fetching rspec-expectations 3.10.1
Installing rspec-expectations 3.10.1
Fetching rspec-mocks 3.10.1
Installing rspec-mocks 3.10.1
Fetching rspec 3.10.0
Installing rspec 3.10.0
Fetching json_spec 1.1.5
Installing json_spec 1.1.5
Fetching launchy 2.5.0
Installing launchy 2.5.0
Fetching little-plugger 1.1.4
Installing little-plugger 1.1.4
Fetching logging 2.3.0
Installing logging 2.3.0
Fetching method_source 1.0.0
Installing method_source 1.0.0
Fetching opencensus 0.5.0
Installing opencensus 0.5.0
Fetching parallel 1.20.1
Installing parallel 1.20.1
Fetching parser 2.7.2.0
Installing parser 2.7.2.0
Fetching powerpack 0.1.3
Installing powerpack 0.1.3
Fetching pry 0.13.1
Installing pry 0.13.1
Fetching pry-byebug 3.9.0
Installing pry-byebug 3.9.0
Fetching yard 0.9.26
Installing yard 0.9.26
Fetching pry-doc 0.13.5
Installing pry-doc 0.13.5
Fetching rainbow 2.2.2
Installing rainbow 2.2.2 with native extensions
Fetching redcarpet 3.5.1
Installing redcarpet 3.5.1 with native extensions
Fetching redis 3.3.5
Installing redis 3.3.5
Fetching rmail 1.1.4
Installing rmail 1.1.4
Fetching ruby-progressbar 1.11.0
Installing ruby-progressbar 1.11.0
Fetching unicode-display_width 1.7.0
Installing unicode-display_width 1.7.0
Fetching rubocop 0.49.1
Installing rubocop 0.49.1
Fetching webmock 2.3.2
Installing webmock 2.3.2
Bundle complete! 25 Gemfile dependencies, 81 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
Post-install message from i18n:
HEADS UP! i18n 1.1 changed fallbacks to exclude default locale.
But that may break your application.
If you are upgrading your Rails application from an older version of Rails:
Please check your Rails app for 'config.i18n.fallbacks = true'.
If you're using I18n (>= 1.1.0) and Rails (< 5.2.2), this should be
'config.i18n.fallbacks = [I18n.default_locale]'.
If not, fallbacks will be broken in your app by I18n 1.1.x.
If you are starting a NEW Rails application, you can ignore this notice.
For more info see:
https://github.com/svenfuchs/i18n/releases/tag/v1.1.0
Post-install message from httparty:
When you HTTParty, you must party hard!
echo a | bundle exec bin/generate-api gen /workspace/generated --api=displayvideo.v1 --names=/workspace/api_names.yaml --names-out=/workspace/api_names_out.yaml --spot-check
Loading displayvideo, version v1 from https://raw.githubusercontent.com/googleapis/discovery-artifact-manager/master/discoveries/displayvideo.v1.json
conflict google-apis-displayvideo_v1/lib/google/apis/displayvideo_v1/classes.rb
<ideo_v1/classes.rb? (enter "h" for help) [Ynaqdhm] a
force google-apis-displayvideo_v1/lib/google/apis/displayvideo_v1/classes.rb
conflict google-apis-displayvideo_v1/lib/google/apis/displayvideo_v1/gem_version.rb
force google-apis-displayvideo_v1/lib/google/apis/displayvideo_v1/gem_version.rb
conflict google-apis-displayvideo_v1/CHANGELOG.md
force google-apis-displayvideo_v1/CHANGELOG.md
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and
installing your bundle as root will break this application for all non-root
users on this machine.
The dependency jruby-openssl (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for java. To add those platforms to the bundle, run `bundle lock --add-platform java`.
Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Fetching rake 13.0.3
Installing rake 13.0.3
Using public_suffix 4.0.6
Using addressable 2.7.0
Using bundler 2.1.4
Using declarative 0.0.20
Using declarative-option 0.1.0
Using diff-lcs 1.4.4
Using faraday-net_http 1.0.1
Using multipart-post 2.1.1
Using ruby2_keywords 0.0.2
Using faraday 1.3.0
Using jwt 2.2.2
Using memoist 0.16.2
Using multi_json 1.15.0
Fetching os 1.1.1
Installing os 1.1.1
Using signet 0.14.0
Using googleauth 0.14.0
Using httpclient 2.8.3
Using mini_mime 1.0.2
Using uber 0.1.0
Using representable 3.0.4
Using retriable 3.1.2
Using rexml 3.2.4
Using google-apis-core 0.2.0
Using google-apis-displayvideo_v1 0.2.0 from source at `.`
Using opencensus 0.5.0
Using redcarpet 3.5.1
Using rspec-support 3.10.1
Using rspec-core 3.10.1
Using rspec-expectations 3.10.1
Using rspec-mocks 3.10.1
Using rspec 3.10.0
Using yard 0.9.26
Bundle complete! 8 Gemfile dependencies, 33 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
/root/.rbenv/versions/2.6.6/bin/ruby -I/root/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rspec-core-3.10.1/lib:/root/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rspec-support-3.10.1/lib /root/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rspec-core-3.10.1/exe/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb
Google::Apis::DisplayvideoV1
should load
Finished in 0.3812 seconds (files took 0.10633 seconds to load)
1 example, 0 failures
Files: 4
Modules: 3 ( 1 undocumented)
Classes: 229 ( 23 undocumented)
Constants: 8 ( 0 undocumented)
Attributes: 440 ( 0 undocumented)
Methods: 577 ( 0 undocumented)
98.09% documented
google-apis-displayvideo_v1 0.2.0 built to pkg/google-apis-displayvideo_v1-0.2.0.gem.
identical /workspace/api_names_out.yaml
2021-01-13 02:28:20,953 synthtool [DEBUG] > Wrote metadata to generated/google-apis-displayvideo_v1/synth.metadata.
DEBUG:synthtool:Wrote metadata to generated/google-apis-displayvideo_v1/synth.metadata.
```
</details>
Full log will be available here:
https://source.cloud.google.com/results/invocations/2c9a7f94-8490-460d-bb8a-c9c25cb6fec9/targets
- [ ] To automatically regenerate this PR, check this box.
2021-01-13 10:42:03 +00:00
|
|
|
|
# CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO`
|
2021-01-01 03:01:13 +00:00
|
|
|
|
# Corresponds to the JSON property `vastTagUrl`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :vast_tag_url
|
|
|
|
|
|
|
|
|
|
# Output only. Indicates the third-party VAST tag creative requires VPAID (
|
|
|
|
|
# Digital Video Player-Ad Interface). Output only and only valid for third-party
|
|
|
|
|
# VAST tag creatives. Third-party VAST tag creatives are creatives with
|
|
|
|
|
# following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with
|
|
|
|
|
# following creative_type: * `CREATIVE_TYPE_VIDEO`
|
|
|
|
|
# Corresponds to the JSON property `vpaid`
|
|
|
|
|
# @return [Boolean]
|
|
|
|
|
attr_accessor :vpaid
|
|
|
|
|
alias_method :vpaid?, :vpaid
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@additional_dimensions = args[:additional_dimensions] if args.key?(:additional_dimensions)
|
|
|
|
|
@advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
|
|
|
|
|
@appended_tag = args[:appended_tag] if args.key?(:appended_tag)
|
|
|
|
|
@assets = args[:assets] if args.key?(:assets)
|
|
|
|
|
@cm_placement_id = args[:cm_placement_id] if args.key?(:cm_placement_id)
|
|
|
|
|
@cm_tracking_ad = args[:cm_tracking_ad] if args.key?(:cm_tracking_ad)
|
|
|
|
|
@companion_creative_ids = args[:companion_creative_ids] if args.key?(:companion_creative_ids)
|
|
|
|
|
@counter_events = args[:counter_events] if args.key?(:counter_events)
|
|
|
|
|
@create_time = args[:create_time] if args.key?(:create_time)
|
|
|
|
|
@creative_attributes = args[:creative_attributes] if args.key?(:creative_attributes)
|
|
|
|
|
@creative_id = args[:creative_id] if args.key?(:creative_id)
|
|
|
|
|
@creative_type = args[:creative_type] if args.key?(:creative_type)
|
|
|
|
|
@dimensions = args[:dimensions] if args.key?(:dimensions)
|
|
|
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
|
|
|
@dynamic = args[:dynamic] if args.key?(:dynamic)
|
|
|
|
|
@entity_status = args[:entity_status] if args.key?(:entity_status)
|
|
|
|
|
@exit_events = args[:exit_events] if args.key?(:exit_events)
|
|
|
|
|
@expand_on_hover = args[:expand_on_hover] if args.key?(:expand_on_hover)
|
|
|
|
|
@expanding_direction = args[:expanding_direction] if args.key?(:expanding_direction)
|
|
|
|
|
@hosting_source = args[:hosting_source] if args.key?(:hosting_source)
|
|
|
|
|
@html5_video = args[:html5_video] if args.key?(:html5_video)
|
|
|
|
|
@ias_campaign_monitoring = args[:ias_campaign_monitoring] if args.key?(:ias_campaign_monitoring)
|
|
|
|
|
@integration_code = args[:integration_code] if args.key?(:integration_code)
|
|
|
|
|
@js_tracker_url = args[:js_tracker_url] if args.key?(:js_tracker_url)
|
|
|
|
|
@line_item_ids = args[:line_item_ids] if args.key?(:line_item_ids)
|
|
|
|
|
@media_duration = args[:media_duration] if args.key?(:media_duration)
|
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
|
@notes = args[:notes] if args.key?(:notes)
|
|
|
|
|
@oba_icon = args[:oba_icon] if args.key?(:oba_icon)
|
|
|
|
|
@progress_offset = args[:progress_offset] if args.key?(:progress_offset)
|
|
|
|
|
@require_html5 = args[:require_html5] if args.key?(:require_html5)
|
|
|
|
|
@require_mraid = args[:require_mraid] if args.key?(:require_mraid)
|
|
|
|
|
@require_ping_for_attribution = args[:require_ping_for_attribution] if args.key?(:require_ping_for_attribution)
|
|
|
|
|
@review_status = args[:review_status] if args.key?(:review_status)
|
|
|
|
|
@skip_offset = args[:skip_offset] if args.key?(:skip_offset)
|
|
|
|
|
@skippable = args[:skippable] if args.key?(:skippable)
|
|
|
|
|
@third_party_tag = args[:third_party_tag] if args.key?(:third_party_tag)
|
|
|
|
|
@third_party_urls = args[:third_party_urls] if args.key?(:third_party_urls)
|
|
|
|
|
@timer_events = args[:timer_events] if args.key?(:timer_events)
|
|
|
|
|
@tracker_urls = args[:tracker_urls] if args.key?(:tracker_urls)
|
|
|
|
|
@transcodes = args[:transcodes] if args.key?(:transcodes)
|
|
|
|
|
@universal_ad_id = args[:universal_ad_id] if args.key?(:universal_ad_id)
|
|
|
|
|
@update_time = args[:update_time] if args.key?(:update_time)
|
|
|
|
|
@vast_tag_url = args[:vast_tag_url] if args.key?(:vast_tag_url)
|
|
|
|
|
@vpaid = args[:vpaid] if args.key?(:vpaid)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Creative requirements configuration for the inventory source.
|
|
|
|
|
class CreativeConfig
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The type of creative that can be assigned to the inventory source.
|
|
|
|
|
# Corresponds to the JSON property `creativeType`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :creative_type
|
|
|
|
|
|
|
|
|
|
# The configuration for display creatives.
|
|
|
|
|
# Corresponds to the JSON property `displayCreativeConfig`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::InventorySourceDisplayCreativeConfig]
|
|
|
|
|
attr_accessor :display_creative_config
|
|
|
|
|
|
|
|
|
|
# The configuration for video creatives.
|
|
|
|
|
# Corresponds to the JSON property `videoCreativeConfig`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::InventorySourceVideoCreativeConfig]
|
|
|
|
|
attr_accessor :video_creative_config
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@creative_type = args[:creative_type] if args.key?(:creative_type)
|
|
|
|
|
@display_creative_config = args[:display_creative_config] if args.key?(:display_creative_config)
|
|
|
|
|
@video_creative_config = args[:video_creative_config] if args.key?(:video_creative_config)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# A single custom bidding algorithm.
|
|
|
|
|
class CustomBiddingAlgorithm
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Immutable. The unique ID of the advertiser that owns the custom bidding
|
|
|
|
|
# algorithm.
|
|
|
|
|
# Corresponds to the JSON property `advertiserId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :advertiser_id
|
|
|
|
|
|
|
|
|
|
# Output only. The unique ID of the custom bidding algorithm. Assigned by the
|
|
|
|
|
# system.
|
|
|
|
|
# Corresponds to the JSON property `customBiddingAlgorithmId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :custom_bidding_algorithm_id
|
|
|
|
|
|
|
|
|
|
# Required. Immutable. The type of custom bidding algorithm.
|
|
|
|
|
# Corresponds to the JSON property `customBiddingAlgorithmType`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :custom_bidding_algorithm_type
|
|
|
|
|
|
|
|
|
|
# Required. The display name of the custom bidding algorithm. Must be UTF-8
|
|
|
|
|
# encoded with a maximum size of 240 bytes.
|
|
|
|
|
# Corresponds to the JSON property `displayName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :display_name
|
|
|
|
|
|
|
|
|
|
# Controls whether or not the custom bidding algorithm can be used as a bidding
|
|
|
|
|
# strategy. Accepted values are: * `ENTITY_STATUS_ACTIVE` * `
|
|
|
|
|
# ENTITY_STATUS_ARCHIVED`
|
|
|
|
|
# Corresponds to the JSON property `entityStatus`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :entity_status
|
|
|
|
|
|
|
|
|
|
# Output only. The resource name of the custom bidding algorithm.
|
|
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :name
|
|
|
|
|
|
|
|
|
|
# Immutable. The unique ID of the partner that owns the custom bidding algorithm.
|
|
|
|
|
# Corresponds to the JSON property `partnerId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :partner_id
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
|
|
|
|
|
@custom_bidding_algorithm_id = args[:custom_bidding_algorithm_id] if args.key?(:custom_bidding_algorithm_id)
|
|
|
|
|
@custom_bidding_algorithm_type = args[:custom_bidding_algorithm_type] if args.key?(:custom_bidding_algorithm_type)
|
|
|
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
|
|
|
@entity_status = args[:entity_status] if args.key?(:entity_status)
|
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
|
@partner_id = args[:partner_id] if args.key?(:partner_id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Describes a custom list entity, such as a custom affinity or custom intent
|
|
|
|
|
# audience list.
|
|
|
|
|
class CustomList
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The unique ID of the custom list. Assigned by the system.
|
|
|
|
|
# Corresponds to the JSON property `customListId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :custom_list_id
|
|
|
|
|
|
|
|
|
|
# Output only. The display name of the custom list. .
|
|
|
|
|
# Corresponds to the JSON property `displayName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :display_name
|
|
|
|
|
|
|
|
|
|
# Output only. The resource name of the custom list.
|
|
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :name
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@custom_list_id = args[:custom_list_id] if args.key?(:custom_list_id)
|
|
|
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Details of custom list group. All custom list targeting settings are logically
|
|
|
|
|
# ‘OR’ of each other.
|
|
|
|
|
class CustomListGroup
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Required. All custom list targeting settings in custom list group. Repeated
|
|
|
|
|
# settings with same id will be ignored.
|
|
|
|
|
# Corresponds to the JSON property `settings`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::CustomListTargetingSetting>]
|
|
|
|
|
attr_accessor :settings
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@settings = args[:settings] if args.key?(:settings)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Details of custom list targeting setting.
|
|
|
|
|
class CustomListTargetingSetting
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Required. Custom id of custom list targeting setting. This id is
|
|
|
|
|
# custom_list_id.
|
|
|
|
|
# Corresponds to the JSON property `customListId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :custom_list_id
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@custom_list_id = args[:custom_list_id] if args.key?(:custom_list_id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Represents a whole or partial calendar date, such as a birthday. The time of
|
|
|
|
|
# day and time zone are either specified elsewhere or are insignificant. The
|
|
|
|
|
# date is relative to the Gregorian Calendar. This can represent one of the
|
|
|
|
|
# following: * A full date, with non-zero year, month, and day values * A month
|
|
|
|
|
# and day value, with a zero year, such as an anniversary * A year on its own,
|
|
|
|
|
# with zero month and day values * A year and month value, with a zero day, such
|
|
|
|
|
# as a credit card expiration date Related types are google.type.TimeOfDay and `
|
|
|
|
|
# google.protobuf.Timestamp`.
|
|
|
|
|
class Date
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to
|
|
|
|
|
# specify a year by itself or a year and month where the day isn't significant.
|
|
|
|
|
# Corresponds to the JSON property `day`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :day
|
|
|
|
|
|
|
|
|
|
# Month of a year. Must be from 1 to 12, or 0 to specify a year without a month
|
|
|
|
|
# and day.
|
|
|
|
|
# Corresponds to the JSON property `month`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :month
|
|
|
|
|
|
|
|
|
|
# Year of the date. Must be from 1 to 9999, or 0 to specify 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, such as a birthday. The time of
|
|
|
|
|
# day and time zone are either specified elsewhere or are insignificant. The
|
|
|
|
|
# date is relative to the Gregorian Calendar. This can represent one of the
|
|
|
|
|
# following: * A full date, with non-zero year, month, and day values * A month
|
|
|
|
|
# and day value, with a zero year, such as an anniversary * A year on its own,
|
|
|
|
|
# with zero month and day values * A year and month value, with a zero day, such
|
|
|
|
|
# as 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, such as a birthday. The time of
|
|
|
|
|
# day and time zone are either specified elsewhere or are insignificant. The
|
|
|
|
|
# date is relative to the Gregorian Calendar. This can represent one of the
|
|
|
|
|
# following: * A full date, with non-zero year, month, and day values * A month
|
|
|
|
|
# and day value, with a zero year, such as an anniversary * A year on its own,
|
|
|
|
|
# with zero month and day values * A year and month value, with a zero day, such
|
|
|
|
|
# as 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
|
|
|
|
|
|
|
|
|
|
# Request message for ManualTriggerService.DeactivateManualTrigger.
|
|
|
|
|
class DeactivateManualTriggerRequest
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
# The custom segment ID provided by DoubleVerify. The ID must start with "51"
|
|
|
|
|
# and consist of eight digits. Custom segment ID cannot be specified along with
|
|
|
|
|
# any of the following fields: * brand_safety_categories * avoided_age_ratings *
|
|
|
|
|
# app_star_rating * fraud_invalid_traffic
|
|
|
|
|
# Corresponds to the JSON property `customSegmentId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :custom_segment_id
|
|
|
|
|
|
|
|
|
|
# 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)
|
|
|
|
|
@custom_segment_id = args[:custom_segment_id] if args.key?(:custom_segment_id)
|
|
|
|
|
@display_viewability = args[:display_viewability] if args.key?(:display_viewability)
|
|
|
|
|
@fraud_invalid_traffic = args[:fraud_invalid_traffic] if args.key?(:fraud_invalid_traffic)
|
|
|
|
|
@video_viewability = args[:video_viewability] if args.key?(:video_viewability)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Details of DoubleVerify star ratings settings.
|
|
|
|
|
class DoubleVerifyAppStarRating
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Avoid bidding on apps with insufficient star ratings.
|
|
|
|
|
# Corresponds to the JSON property `avoidInsufficientStarRating`
|
|
|
|
|
# @return [Boolean]
|
|
|
|
|
attr_accessor :avoid_insufficient_star_rating
|
|
|
|
|
alias_method :avoid_insufficient_star_rating?, :avoid_insufficient_star_rating
|
|
|
|
|
|
|
|
|
|
# Avoid bidding on apps with the star ratings.
|
|
|
|
|
# Corresponds to the JSON property `avoidedStarRating`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :avoided_star_rating
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@avoid_insufficient_star_rating = args[:avoid_insufficient_star_rating] if args.key?(:avoid_insufficient_star_rating)
|
|
|
|
|
@avoided_star_rating = args[:avoided_star_rating] if args.key?(:avoided_star_rating)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Settings for brand safety controls.
|
|
|
|
|
class DoubleVerifyBrandSafetyCategories
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Unknown or unrateable.
|
|
|
|
|
# Corresponds to the JSON property `avoidUnknownBrandSafetyCategory`
|
|
|
|
|
# @return [Boolean]
|
|
|
|
|
attr_accessor :avoid_unknown_brand_safety_category
|
|
|
|
|
alias_method :avoid_unknown_brand_safety_category?, :avoid_unknown_brand_safety_category
|
|
|
|
|
|
|
|
|
|
# Brand safety high severity avoidance categories.
|
|
|
|
|
# Corresponds to the JSON property `avoidedHighSeverityCategories`
|
|
|
|
|
# @return [Array<String>]
|
|
|
|
|
attr_accessor :avoided_high_severity_categories
|
|
|
|
|
|
|
|
|
|
# Brand safety medium severity avoidance categories.
|
|
|
|
|
# Corresponds to the JSON property `avoidedMediumSeverityCategories`
|
|
|
|
|
# @return [Array<String>]
|
|
|
|
|
attr_accessor :avoided_medium_severity_categories
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@avoid_unknown_brand_safety_category = args[:avoid_unknown_brand_safety_category] if args.key?(:avoid_unknown_brand_safety_category)
|
|
|
|
|
@avoided_high_severity_categories = args[:avoided_high_severity_categories] if args.key?(:avoided_high_severity_categories)
|
|
|
|
|
@avoided_medium_severity_categories = args[:avoided_medium_severity_categories] if args.key?(:avoided_medium_severity_categories)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Details of DoubleVerify display viewability settings.
|
|
|
|
|
class DoubleVerifyDisplayViewability
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Target web and app inventory to maximize IAB viewable rate.
|
|
|
|
|
# Corresponds to the JSON property `iab`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :iab
|
|
|
|
|
|
|
|
|
|
# Target web and app inventory to maximize 100% viewable duration.
|
|
|
|
|
# Corresponds to the JSON property `viewableDuring`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :viewable_during
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@iab = args[:iab] if args.key?(:iab)
|
|
|
|
|
@viewable_during = args[:viewable_during] if args.key?(:viewable_during)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# DoubleVerify Fraud & Invalid Traffic settings.
|
|
|
|
|
class DoubleVerifyFraudInvalidTraffic
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Insufficient Historical Fraud & IVT Stats.
|
|
|
|
|
# Corresponds to the JSON property `avoidInsufficientOption`
|
|
|
|
|
# @return [Boolean]
|
|
|
|
|
attr_accessor :avoid_insufficient_option
|
|
|
|
|
alias_method :avoid_insufficient_option?, :avoid_insufficient_option
|
|
|
|
|
|
|
|
|
|
# Avoid Sites and Apps with historical Fraud & IVT.
|
|
|
|
|
# Corresponds to the JSON property `avoidedFraudOption`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :avoided_fraud_option
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@avoid_insufficient_option = args[:avoid_insufficient_option] if args.key?(:avoid_insufficient_option)
|
|
|
|
|
@avoided_fraud_option = args[:avoided_fraud_option] if args.key?(:avoided_fraud_option)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Details of DoubleVerify video viewability settings.
|
|
|
|
|
class DoubleVerifyVideoViewability
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Target inventory to maximize impressions with 400x300 or greater player size.
|
|
|
|
|
# Corresponds to the JSON property `playerImpressionRate`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :player_impression_rate
|
|
|
|
|
|
|
|
|
|
# Target web inventory to maximize IAB viewable rate.
|
|
|
|
|
# Corresponds to the JSON property `videoIab`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :video_iab
|
|
|
|
|
|
|
|
|
|
# Target web inventory to maximize fully viewable rate.
|
|
|
|
|
# Corresponds to the JSON property `videoViewableRate`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :video_viewable_rate
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@player_impression_rate = args[:player_impression_rate] if args.key?(:player_impression_rate)
|
|
|
|
|
@video_iab = args[:video_iab] if args.key?(:video_iab)
|
|
|
|
|
@video_viewable_rate = args[:video_viewable_rate] if args.key?(:video_viewable_rate)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# A generic empty message that you can re-use to avoid defining duplicated empty
|
|
|
|
|
# messages in your APIs. A typical example is to use it as the request or the
|
|
|
|
|
# response type of an API method. For instance: service Foo ` rpc Bar(google.
|
|
|
|
|
# protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
|
|
|
|
|
# `Empty` is empty JSON object ````.
|
|
|
|
|
class Empty
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Assigned environment targeting option details. This will be populated in the
|
|
|
|
|
# details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_ENVIRONMENT`.
|
|
|
|
|
class EnvironmentAssignedTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The serving environment.
|
|
|
|
|
# Corresponds to the JSON property `environment`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :environment
|
|
|
|
|
|
|
|
|
|
# Required. The targeting_option_id of a TargetingOption of type `
|
|
|
|
|
# TARGETING_TYPE_ENVIRONMENT` (e.g., "508010" for targeting the `
|
|
|
|
|
# ENVIRONMENT_WEB_OPTIMIZED` option).
|
|
|
|
|
# Corresponds to the JSON property `targetingOptionId`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :targeting_option_id
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@environment = args[:environment] if args.key?(:environment)
|
|
|
|
|
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Represents a targetable environment. This will be populated in the
|
|
|
|
|
# environment_details field of a TargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_ENVIRONMENT`.
|
|
|
|
|
class EnvironmentTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The serving environment.
|
|
|
|
|
# Corresponds to the JSON property `environment`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :environment
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@environment = args[:environment] if args.key?(:environment)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Details for assigned exchange targeting option. This will be populated in the
|
|
|
|
|
# details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_EXCHANGE`.
|
|
|
|
|
class ExchangeAssignedTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Required. The targeting_option_id of a TargetingOption of type `
|
|
|
|
|
# TARGETING_TYPE_EXCHANGE`.
|
|
|
|
|
# Corresponds to the JSON property `targetingOptionId`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :targeting_option_id
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Settings that control which exchanges are enabled for a partner.
|
|
|
|
|
class ExchangeConfig
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# All enabled exchanges in the partner. Duplicate enabled exchanges will be
|
|
|
|
|
# ignored.
|
|
|
|
|
# Corresponds to the JSON property `enabledExchanges`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::ExchangeConfigEnabledExchange>]
|
|
|
|
|
attr_accessor :enabled_exchanges
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@enabled_exchanges = args[:enabled_exchanges] if args.key?(:enabled_exchanges)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# An enabled exchange in the partner.
|
|
|
|
|
class ExchangeConfigEnabledExchange
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The enabled exchange.
|
|
|
|
|
# Corresponds to the JSON property `exchange`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :exchange
|
|
|
|
|
|
|
|
|
|
# Output only. Agency ID of Google Ad Manager. The field is only relevant when
|
|
|
|
|
# Google Ad Manager is the enabled exchange.
|
|
|
|
|
# Corresponds to the JSON property `googleAdManagerAgencyId`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :google_ad_manager_agency_id
|
|
|
|
|
|
|
|
|
|
# Output only. Network ID of Google Ad Manager. The field is only relevant when
|
|
|
|
|
# Google Ad Manager is the enabled exchange.
|
|
|
|
|
# Corresponds to the JSON property `googleAdManagerBuyerNetworkId`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :google_ad_manager_buyer_network_id
|
|
|
|
|
|
|
|
|
|
# Output only. Seat ID of the enabled exchange.
|
|
|
|
|
# Corresponds to the JSON property `seatId`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :seat_id
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@exchange = args[:exchange] if args.key?(:exchange)
|
|
|
|
|
@google_ad_manager_agency_id = args[:google_ad_manager_agency_id] if args.key?(:google_ad_manager_agency_id)
|
|
|
|
|
@google_ad_manager_buyer_network_id = args[:google_ad_manager_buyer_network_id] if args.key?(:google_ad_manager_buyer_network_id)
|
|
|
|
|
@seat_id = args[:seat_id] if args.key?(:seat_id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Exchange review status for the creative.
|
|
|
|
|
class ExchangeReviewStatus
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The exchange reviewing the creative.
|
|
|
|
|
# Corresponds to the JSON property `exchange`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :exchange
|
|
|
|
|
|
|
|
|
|
# Status of the exchange review.
|
|
|
|
|
# Corresponds to the JSON property `status`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :status
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@exchange = args[:exchange] if args.key?(:exchange)
|
|
|
|
|
@status = args[:status] if args.key?(:status)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Represents a targetable exchange. This will be populated in the
|
|
|
|
|
# exchange_details field of a TargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_EXCHANGE`.
|
|
|
|
|
class ExchangeTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The type of exchange.
|
|
|
|
|
# Corresponds to the JSON property `exchange`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :exchange
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@exchange = args[:exchange] if args.key?(:exchange)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Exit event of the creative.
|
|
|
|
|
class ExitEvent
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The name of the click tag of the exit event. The name must be unique within
|
|
|
|
|
# one creative. Leave it empty or unset for creatives containing image assets
|
|
|
|
|
# only.
|
|
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :name
|
|
|
|
|
|
|
|
|
|
# The name used to identify this event in reports. Leave it empty or unset for
|
|
|
|
|
# creatives containing image assets only.
|
|
|
|
|
# Corresponds to the JSON property `reportingName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :reporting_name
|
|
|
|
|
|
|
|
|
|
# Required. The type of the exit event.
|
|
|
|
|
# Corresponds to the JSON property `type`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :type
|
|
|
|
|
|
|
|
|
|
# Required. The click through URL of the exit event. This is required when type
|
|
|
|
|
# is: * `EXIT_EVENT_TYPE_DEFAULT` * `EXIT_EVENT_TYPE_BACKUP`
|
|
|
|
|
# Corresponds to the JSON property `url`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :url
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
|
@reporting_name = args[:reporting_name] if args.key?(:reporting_name)
|
|
|
|
|
@type = args[:type] if args.key?(:type)
|
|
|
|
|
@url = args[:url] if args.key?(:url)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Describes a first or third party audience list used for targeting. First party
|
|
|
|
|
# audiences are created via usage of client data. Third party audiences are
|
|
|
|
|
# provided by Third Party data providers and can only be licensed to customers.
|
|
|
|
|
class FirstAndThirdPartyAudience
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The estimated audience size for the Display network in the past
|
|
|
|
|
# month. If the size is less than 1000, the number will be hidden and 0 will be
|
|
|
|
|
# returned due to privacy reasons. Otherwise, the number will be rounded off to
|
|
|
|
|
# two significant digits. Only returned in GET request.
|
|
|
|
|
# Corresponds to the JSON property `activeDisplayAudienceSize`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :active_display_audience_size
|
|
|
|
|
|
|
|
|
|
# Output only. The source of the audience.
|
|
|
|
|
# Corresponds to the JSON property `audienceSource`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :audience_source
|
|
|
|
|
|
|
|
|
|
# Output only. The type of the audience.
|
|
|
|
|
# Corresponds to the JSON property `audienceType`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :audience_type
|
|
|
|
|
|
|
|
|
|
# The user-provided description of the audience. Only applicable to first party
|
|
|
|
|
# audiences.
|
|
|
|
|
# Corresponds to the JSON property `description`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :description
|
|
|
|
|
|
|
|
|
|
# Output only. The estimated audience size for the Display network. If the size
|
|
|
|
|
# is less than 1000, the number will be hidden and 0 will be returned due to
|
|
|
|
|
# privacy reasons. Otherwise, the number will be rounded off to two significant
|
|
|
|
|
# digits. Only returned in GET request.
|
|
|
|
|
# Corresponds to the JSON property `displayAudienceSize`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :display_audience_size
|
|
|
|
|
|
|
|
|
|
# Output only. The estimated desktop audience size in Display network. If the
|
|
|
|
|
# size is less than 1000, the number will be hidden and 0 will be returned due
|
|
|
|
|
# to privacy reasons. Otherwise, the number will be rounded off to two
|
|
|
|
|
# significant digits. Only applicable to first party audiences. Only returned in
|
|
|
|
|
# GET request.
|
|
|
|
|
# Corresponds to the JSON property `displayDesktopAudienceSize`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :display_desktop_audience_size
|
|
|
|
|
|
|
|
|
|
# Output only. The estimated mobile app audience size in Display network. If the
|
|
|
|
|
# size is less than 1000, the number will be hidden and 0 will be returned due
|
|
|
|
|
# to privacy reasons. Otherwise, the number will be rounded off to two
|
|
|
|
|
# significant digits. Only applicable to first party audiences. Only returned in
|
|
|
|
|
# GET request.
|
|
|
|
|
# Corresponds to the JSON property `displayMobileAppAudienceSize`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :display_mobile_app_audience_size
|
|
|
|
|
|
|
|
|
|
# Output only. The estimated mobile web audience size in Display network. If the
|
|
|
|
|
# size is less than 1000, the number will be hidden and 0 will be returned due
|
|
|
|
|
# to privacy reasons. Otherwise, the number will be rounded off to two
|
|
|
|
|
# significant digits. Only applicable to first party audiences. Only returned in
|
|
|
|
|
# GET request.
|
|
|
|
|
# Corresponds to the JSON property `displayMobileWebAudienceSize`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :display_mobile_web_audience_size
|
|
|
|
|
|
|
|
|
|
# The display name of the first and third party audience.
|
|
|
|
|
# Corresponds to the JSON property `displayName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :display_name
|
|
|
|
|
|
|
|
|
|
# Output only. The unique ID of the first and third party audience. Assigned by
|
|
|
|
|
# the system.
|
|
|
|
|
# Corresponds to the JSON property `firstAndThirdPartyAudienceId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :first_and_third_party_audience_id
|
|
|
|
|
|
|
|
|
|
# Output only. Whether the audience is a first or third party audience.
|
|
|
|
|
# Corresponds to the JSON property `firstAndThirdPartyAudienceType`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :first_and_third_party_audience_type
|
|
|
|
|
|
|
|
|
|
# Output only. The estimated audience size for Gmail network. If the size is
|
|
|
|
|
# less than 1000, the number will be hidden and 0 will be returned due to
|
|
|
|
|
# privacy reasons. Otherwise, the number will be rounded off to two significant
|
|
|
|
|
# digits. Only applicable to first party audiences. Only returned in GET request.
|
|
|
|
|
# Corresponds to the JSON property `gmailAudienceSize`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :gmail_audience_size
|
|
|
|
|
|
|
|
|
|
# The duration in days that an entry remains in the audience after the
|
|
|
|
|
# qualifying event. Only applicable to first party audiences.
|
|
|
|
|
# Corresponds to the JSON property `membershipDurationDays`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :membership_duration_days
|
|
|
|
|
|
|
|
|
|
# Output only. The resource name of the first and third party audience.
|
|
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :name
|
|
|
|
|
|
|
|
|
|
# Output only. The estimated audience size for YouTube network. If the size is
|
|
|
|
|
# less than 1000, the number will be hidden and 0 will be returned due to
|
|
|
|
|
# privacy reasons. Otherwise, the number will be rounded off to two significant
|
|
|
|
|
# digits. Only applicable to first party audiences. Only returned in GET request.
|
|
|
|
|
# Corresponds to the JSON property `youtubeAudienceSize`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :youtube_audience_size
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@active_display_audience_size = args[:active_display_audience_size] if args.key?(:active_display_audience_size)
|
|
|
|
|
@audience_source = args[:audience_source] if args.key?(:audience_source)
|
|
|
|
|
@audience_type = args[:audience_type] if args.key?(:audience_type)
|
|
|
|
|
@description = args[:description] if args.key?(:description)
|
|
|
|
|
@display_audience_size = args[:display_audience_size] if args.key?(:display_audience_size)
|
|
|
|
|
@display_desktop_audience_size = args[:display_desktop_audience_size] if args.key?(:display_desktop_audience_size)
|
|
|
|
|
@display_mobile_app_audience_size = args[:display_mobile_app_audience_size] if args.key?(:display_mobile_app_audience_size)
|
|
|
|
|
@display_mobile_web_audience_size = args[:display_mobile_web_audience_size] if args.key?(:display_mobile_web_audience_size)
|
|
|
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
|
|
|
@first_and_third_party_audience_id = args[:first_and_third_party_audience_id] if args.key?(:first_and_third_party_audience_id)
|
|
|
|
|
@first_and_third_party_audience_type = args[:first_and_third_party_audience_type] if args.key?(:first_and_third_party_audience_type)
|
|
|
|
|
@gmail_audience_size = args[:gmail_audience_size] if args.key?(:gmail_audience_size)
|
|
|
|
|
@membership_duration_days = args[:membership_duration_days] if args.key?(:membership_duration_days)
|
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
|
@youtube_audience_size = args[:youtube_audience_size] if args.key?(:youtube_audience_size)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Details of first and third party audience group. All first and third party
|
|
|
|
|
# audience targeting settings are logically ‘OR’ of each other.
|
|
|
|
|
class FirstAndThirdPartyAudienceGroup
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Required. All first and third party audience targeting settings in first and
|
|
|
|
|
# third party audience group. Repeated settings with same id are not allowed.
|
|
|
|
|
# Corresponds to the JSON property `settings`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::FirstAndThirdPartyAudienceTargetingSetting>]
|
|
|
|
|
attr_accessor :settings
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@settings = args[:settings] if args.key?(:settings)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Details of first and third party audience targeting setting.
|
|
|
|
|
class FirstAndThirdPartyAudienceTargetingSetting
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Required. First and third party audience id of the first and third party
|
|
|
|
|
# audience targeting setting. This id is first_and_third_party_audience_id.
|
|
|
|
|
# Corresponds to the JSON property `firstAndThirdPartyAudienceId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :first_and_third_party_audience_id
|
|
|
|
|
|
|
|
|
|
# The recency of the first and third party audience targeting setting. Only
|
|
|
|
|
# applicable to first party audiences, otherwise will be ignored. For more info,
|
|
|
|
|
# refer to https://support.google.com/displayvideo/answer/2949947#recency When
|
|
|
|
|
# unspecified, no recency limit will be used.
|
|
|
|
|
# Corresponds to the JSON property `recency`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :recency
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@first_and_third_party_audience_id = args[:first_and_third_party_audience_id] if args.key?(:first_and_third_party_audience_id)
|
|
|
|
|
@recency = args[:recency] if args.key?(:recency)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# A strategy that uses a fixed bidding price.
|
|
|
|
|
class FixedBidStrategy
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The fixed bid amount, in micros of the advertiser's currency. For insertion
|
|
|
|
|
# order entity, bid_amount_micros should be set as 0. For line item entity,
|
|
|
|
|
# bid_amount_micros must be greater than or equal to billable unit of the given
|
|
|
|
|
# currency and smaller than or equal to the upper limit 1000000000. For example,
|
|
|
|
|
# 1500000 represents 1.5 standard units of the currency.
|
|
|
|
|
# Corresponds to the JSON property `bidAmountMicros`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :bid_amount_micros
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@bid_amount_micros = args[:bid_amount_micros] if args.key?(:bid_amount_micros)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# A single Floodlight group.
|
|
|
|
|
class FloodlightGroup
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Configuration for custom Active View video viewability metrics.
|
|
|
|
|
# Corresponds to the JSON property `activeViewConfig`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::ActiveViewVideoViewabilityMetricConfig]
|
|
|
|
|
attr_accessor :active_view_config
|
|
|
|
|
|
|
|
|
|
# User-defined custom variables owned by the Floodlight group. Use custom
|
|
|
|
|
# Floodlight variables to create reporting data that is tailored to your unique
|
|
|
|
|
# business needs. Custom Floodlight variables use the keys `U1=`, `U2=`, and so
|
|
|
|
|
# on, and can take any values that you choose to pass to them. You can use them
|
|
|
|
|
# to track virtually any type of data that you collect about your customers,
|
|
|
|
|
# such as the genre of movie that a customer purchases, the country to which the
|
|
|
|
|
# item is shipped, and so on. Custom Floodlight variables may not be used to
|
|
|
|
|
# pass any data that could be used or recognized as personally identifiable
|
|
|
|
|
# information (PII). Example: `custom_variables ` fields ` "U1": value `
|
|
|
|
|
# number_value: 123.4 `, "U2": value ` string_value: "MyVariable2" `, "U3":
|
|
|
|
|
# value ` string_value: "MyVariable3" ` ` `` Acceptable values for keys are "U1"
|
|
|
|
|
# through "U100", inclusive. String values must be less than 64 characters long,
|
|
|
|
|
# and cannot contain the following characters: `"<>`.
|
|
|
|
|
# Corresponds to the JSON property `customVariables`
|
|
|
|
|
# @return [Hash<String,Object>]
|
|
|
|
|
attr_accessor :custom_variables
|
|
|
|
|
|
|
|
|
|
# Required. The display name of the Floodlight group.
|
|
|
|
|
# Corresponds to the JSON property `displayName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :display_name
|
|
|
|
|
|
|
|
|
|
# Output only. The unique ID of the Floodlight group. Assigned by the system.
|
|
|
|
|
# Corresponds to the JSON property `floodlightGroupId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :floodlight_group_id
|
|
|
|
|
|
|
|
|
|
# Specifies how many days into the past to look when determining whether to
|
|
|
|
|
# record a conversion.
|
|
|
|
|
# Corresponds to the JSON property `lookbackWindow`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::LookbackWindow]
|
|
|
|
|
attr_accessor :lookback_window
|
|
|
|
|
|
|
|
|
|
# Output only. The resource name of the Floodlight group.
|
|
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :name
|
|
|
|
|
|
|
|
|
|
# Required. The web tag type enabled for the Floodlight group.
|
|
|
|
|
# Corresponds to the JSON property `webTagType`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :web_tag_type
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@active_view_config = args[:active_view_config] if args.key?(:active_view_config)
|
|
|
|
|
@custom_variables = args[:custom_variables] if args.key?(:custom_variables)
|
|
|
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
|
|
|
@floodlight_group_id = args[:floodlight_group_id] if args.key?(:floodlight_group_id)
|
|
|
|
|
@lookback_window = args[:lookback_window] if args.key?(:lookback_window)
|
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
|
@web_tag_type = args[:web_tag_type] if args.key?(:web_tag_type)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Settings that control the number of times a user may be shown with the same ad
|
|
|
|
|
# during a given time period.
|
|
|
|
|
class FrequencyCap
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The maximum number of times a user may be shown with the same ad during this
|
|
|
|
|
# period. Must be greater than 0. Applicable when unlimited is `false`.
|
|
|
|
|
# Corresponds to the JSON property `maxImpressions`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :max_impressions
|
|
|
|
|
|
|
|
|
|
# The time unit in which the frequency cap will be applied. Applicable when
|
|
|
|
|
# unlimited is `false`.
|
|
|
|
|
# Corresponds to the JSON property `timeUnit`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :time_unit
|
|
|
|
|
|
|
|
|
|
# The number of time_unit the frequency cap will last. Applicable when unlimited
|
|
|
|
|
# is `false`. The following restrictions apply based on the value of time_unit: *
|
|
|
|
|
# `TIME_UNIT_LIFETIME` - this field is output only and will default to 1 * `
|
|
|
|
|
# TIME_UNIT_MONTHS` - must be between 1 and 2 * `TIME_UNIT_WEEKS` - must be
|
|
|
|
|
# between 1 and 4 * `TIME_UNIT_DAYS` - must be between 1 and 6 * `
|
|
|
|
|
# TIME_UNIT_HOURS` - must be between 1 and 23 * `TIME_UNIT_MINUTES` - must be
|
|
|
|
|
# between 1 and 59
|
|
|
|
|
# Corresponds to the JSON property `timeUnitCount`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :time_unit_count
|
|
|
|
|
|
|
|
|
|
# Whether unlimited frequency capping is applied. When this field is set to `
|
|
|
|
|
# true`, the remaining frequency cap fields are not applicable.
|
|
|
|
|
# Corresponds to the JSON property `unlimited`
|
|
|
|
|
# @return [Boolean]
|
|
|
|
|
attr_accessor :unlimited
|
|
|
|
|
alias_method :unlimited?, :unlimited
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@max_impressions = args[:max_impressions] if args.key?(:max_impressions)
|
|
|
|
|
@time_unit = args[:time_unit] if args.key?(:time_unit)
|
|
|
|
|
@time_unit_count = args[:time_unit_count] if args.key?(:time_unit_count)
|
|
|
|
|
@unlimited = args[:unlimited] if args.key?(:unlimited)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Details for assigned gender targeting option. This will be populated in the
|
|
|
|
|
# details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARTGETING_TYPE_GENDER`.
|
|
|
|
|
class GenderAssignedTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The gender of the audience.
|
|
|
|
|
# Corresponds to the JSON property `gender`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :gender
|
|
|
|
|
|
|
|
|
|
# Required. The targeting_option_id of a TargetingOption of type `
|
|
|
|
|
# TARGETING_TYPE_GENDER`.
|
|
|
|
|
# Corresponds to the JSON property `targetingOptionId`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :targeting_option_id
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@gender = args[:gender] if args.key?(:gender)
|
|
|
|
|
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Represents a targetable gender. This will be populated in the gender_details
|
|
|
|
|
# field of a TargetingOption when targeting_type is `TARGETING_TYPE_GENDER`.
|
|
|
|
|
class GenderTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The gender of an audience.
|
|
|
|
|
# Corresponds to the JSON property `gender`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :gender
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@gender = args[:gender] if args.key?(:gender)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Details for assigned geographic region targeting option. This will be
|
|
|
|
|
# populated in the details field of an AssignedTargetingOption when
|
|
|
|
|
# targeting_type is `TARGETING_TYPE_GEO_REGION`.
|
|
|
|
|
class GeoRegionAssignedTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The display name of the geographic region (e.g., "Ontario, Canada"
|
|
|
|
|
# ).
|
|
|
|
|
# Corresponds to the JSON property `displayName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :display_name
|
|
|
|
|
|
|
|
|
|
# Output only. The type of geographic region targeting.
|
|
|
|
|
# Corresponds to the JSON property `geoRegionType`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :geo_region_type
|
|
|
|
|
|
|
|
|
|
# Indicates if this option is being negatively targeted.
|
|
|
|
|
# Corresponds to the JSON property `negative`
|
|
|
|
|
# @return [Boolean]
|
|
|
|
|
attr_accessor :negative
|
|
|
|
|
alias_method :negative?, :negative
|
|
|
|
|
|
|
|
|
|
# Required. The targeting_option_id of a TargetingOption of type `
|
|
|
|
|
# TARGETING_TYPE_GEO_REGION`.
|
|
|
|
|
# Corresponds to the JSON property `targetingOptionId`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :targeting_option_id
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
|
|
|
@geo_region_type = args[:geo_region_type] if args.key?(:geo_region_type)
|
|
|
|
|
@negative = args[:negative] if args.key?(:negative)
|
|
|
|
|
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Search terms for geo region targeting options.
|
|
|
|
|
class GeoRegionSearchTerms
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The search query for the desired geo region. The query can be a prefix, e.g. "
|
|
|
|
|
# New Yor", "Seattle", "USA", etc.
|
|
|
|
|
# Corresponds to the JSON property `geoRegionQuery`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :geo_region_query
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@geo_region_query = args[:geo_region_query] if args.key?(:geo_region_query)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Represents a targetable geographic region. This will be populated in the
|
|
|
|
|
# geo_region_details field when targeting_type is `TARGETING_TYPE_GEO_REGION`.
|
|
|
|
|
class GeoRegionTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The display name of the geographic region (e.g., "Ontario, Canada"
|
|
|
|
|
# ).
|
|
|
|
|
# Corresponds to the JSON property `displayName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :display_name
|
|
|
|
|
|
|
|
|
|
# Output only. The type of geographic region targeting.
|
|
|
|
|
# Corresponds to the JSON property `geoRegionType`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :geo_region_type
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
|
|
|
@geo_region_type = args[:geo_region_type] if args.key?(:geo_region_type)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Describes a Google audience resource. Includes Google audience lists.
|
|
|
|
|
class GoogleAudience
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The display name of the Google audience. .
|
|
|
|
|
# Corresponds to the JSON property `displayName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :display_name
|
|
|
|
|
|
|
|
|
|
# Output only. The unique ID of the Google audience. Assigned by the system.
|
|
|
|
|
# Corresponds to the JSON property `googleAudienceId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :google_audience_id
|
|
|
|
|
|
|
|
|
|
# Output only. The type of Google audience. .
|
|
|
|
|
# Corresponds to the JSON property `googleAudienceType`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :google_audience_type
|
|
|
|
|
|
|
|
|
|
# Output only. The resource name of the google audience.
|
|
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :name
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
|
|
|
@google_audience_id = args[:google_audience_id] if args.key?(:google_audience_id)
|
|
|
|
|
@google_audience_type = args[:google_audience_type] if args.key?(:google_audience_type)
|
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Details of Google audience group. All Google audience targeting settings are
|
|
|
|
|
# logically ‘OR’ of each other.
|
|
|
|
|
class GoogleAudienceGroup
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Required. All Google audience targeting settings in Google audience group.
|
|
|
|
|
# Repeated settings with same id will be ignored.
|
|
|
|
|
# Corresponds to the JSON property `settings`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::GoogleAudienceTargetingSetting>]
|
|
|
|
|
attr_accessor :settings
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@settings = args[:settings] if args.key?(:settings)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Details of Google audience targeting setting.
|
|
|
|
|
class GoogleAudienceTargetingSetting
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Required. Google audience id of the Google audience targeting setting. This id
|
|
|
|
|
# is google_audience_id.
|
|
|
|
|
# Corresponds to the JSON property `googleAudienceId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :google_audience_id
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@google_audience_id = args[:google_audience_id] if args.key?(:google_audience_id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Media resource.
|
|
|
|
|
class GoogleBytestreamMedia
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Name of the media resource.
|
|
|
|
|
# Corresponds to the JSON property `resourceName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :resource_name
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@resource_name = args[:resource_name] if args.key?(:resource_name)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Details for assigned household income targeting option. This will be populated
|
|
|
|
|
# in the details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_HOUSEHOLD_INCOME`.
|
|
|
|
|
class HouseholdIncomeAssignedTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The household income of the audience.
|
|
|
|
|
# Corresponds to the JSON property `householdIncome`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :household_income
|
|
|
|
|
|
|
|
|
|
# Required. The targeting_option_id of a TargetingOption of type `
|
|
|
|
|
# TARGETING_TYPE_HOUSEHOLD_INCOME`.
|
|
|
|
|
# Corresponds to the JSON property `targetingOptionId`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :targeting_option_id
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@household_income = args[:household_income] if args.key?(:household_income)
|
|
|
|
|
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Represents a targetable household income. This will be populated in the
|
|
|
|
|
# household_income_details field of a TargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_HOUSEHOLD_INCOME`.
|
|
|
|
|
class HouseholdIncomeTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The household income of an audience.
|
|
|
|
|
# Corresponds to the JSON property `householdIncome`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :household_income
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@household_income = args[:household_income] if args.key?(:household_income)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# A filtering option that filters entities by their entity IDs.
|
|
|
|
|
class IdFilter
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# YouTube Ads to download by ID. All IDs must belong to the same Advertiser or
|
|
|
|
|
# Partner specified in CreateSdfDownloadTaskRequest.
|
|
|
|
|
# Corresponds to the JSON property `adGroupAdIds`
|
|
|
|
|
# @return [Array<Fixnum>]
|
|
|
|
|
attr_accessor :ad_group_ad_ids
|
|
|
|
|
|
|
|
|
|
# YouTube Ad Groups to download by ID. All IDs must belong to the same
|
|
|
|
|
# Advertiser or Partner specified in CreateSdfDownloadTaskRequest.
|
|
|
|
|
# Corresponds to the JSON property `adGroupIds`
|
|
|
|
|
# @return [Array<Fixnum>]
|
|
|
|
|
attr_accessor :ad_group_ids
|
|
|
|
|
|
|
|
|
|
# Campaigns to download by ID. All IDs must belong to the same Advertiser or
|
|
|
|
|
# Partner specified in CreateSdfDownloadTaskRequest.
|
|
|
|
|
# Corresponds to the JSON property `campaignIds`
|
|
|
|
|
# @return [Array<Fixnum>]
|
|
|
|
|
attr_accessor :campaign_ids
|
|
|
|
|
|
|
|
|
|
# Insertion Orders to download by ID. All IDs must belong to the same Advertiser
|
|
|
|
|
# or Partner specified in CreateSdfDownloadTaskRequest.
|
|
|
|
|
# Corresponds to the JSON property `insertionOrderIds`
|
|
|
|
|
# @return [Array<Fixnum>]
|
|
|
|
|
attr_accessor :insertion_order_ids
|
|
|
|
|
|
|
|
|
|
# Line Items to download by ID. All IDs must belong to the same Advertiser or
|
|
|
|
|
# Partner specified in CreateSdfDownloadTaskRequest.
|
|
|
|
|
# Corresponds to the JSON property `lineItemIds`
|
|
|
|
|
# @return [Array<Fixnum>]
|
|
|
|
|
attr_accessor :line_item_ids
|
|
|
|
|
|
|
|
|
|
# Media Products to download by ID. All IDs must belong to the same Advertiser
|
|
|
|
|
# or Partner specified in CreateSdfDownloadTaskRequest.
|
|
|
|
|
# Corresponds to the JSON property `mediaProductIds`
|
|
|
|
|
# @return [Array<Fixnum>]
|
|
|
|
|
attr_accessor :media_product_ids
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@ad_group_ad_ids = args[:ad_group_ad_ids] if args.key?(:ad_group_ad_ids)
|
|
|
|
|
@ad_group_ids = args[:ad_group_ids] if args.key?(:ad_group_ids)
|
|
|
|
|
@campaign_ids = args[:campaign_ids] if args.key?(:campaign_ids)
|
|
|
|
|
@insertion_order_ids = args[:insertion_order_ids] if args.key?(:insertion_order_ids)
|
|
|
|
|
@line_item_ids = args[:line_item_ids] if args.key?(:line_item_ids)
|
|
|
|
|
@media_product_ids = args[:media_product_ids] if args.key?(:media_product_ids)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# A single insertion order.
|
|
|
|
|
class InsertionOrder
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The unique ID of the advertiser the insertion order belongs to.
|
|
|
|
|
# Corresponds to the JSON property `advertiserId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :advertiser_id
|
|
|
|
|
|
|
|
|
|
# Settings that control the bid strategy. Bid strategy determines the bid price.
|
|
|
|
|
# Corresponds to the JSON property `bidStrategy`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::BiddingStrategy]
|
|
|
|
|
attr_accessor :bid_strategy
|
|
|
|
|
|
|
|
|
|
# Settings that control how insertion order budget is allocated.
|
|
|
|
|
# Corresponds to the JSON property `budget`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::InsertionOrderBudget]
|
|
|
|
|
attr_accessor :budget
|
|
|
|
|
|
|
|
|
|
# Required. Immutable. The unique ID of the campaign that the insertion order
|
|
|
|
|
# belongs to.
|
|
|
|
|
# Corresponds to the JSON property `campaignId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :campaign_id
|
|
|
|
|
|
|
|
|
|
# Required. The display name of the insertion order. Must be UTF-8 encoded with
|
|
|
|
|
# a maximum size of 240 bytes.
|
|
|
|
|
# Corresponds to the JSON property `displayName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :display_name
|
|
|
|
|
|
|
|
|
|
# Required. Controls whether or not the insertion order can spend its budget and
|
|
|
|
|
# bid on inventory. * For CreateInsertionOrder method, only `ENTITY_STATUS_DRAFT`
|
|
|
|
|
# is allowed. To activate an insertion order, use UpdateInsertionOrder method
|
|
|
|
|
# and update the status to `ENTITY_STATUS_ACTIVE` after creation. * An insertion
|
|
|
|
|
# order cannot be changed back to `ENTITY_STATUS_DRAFT` status from any other
|
|
|
|
|
# status. * An insertion order cannot be set to `ENTITY_STATUS_ACTIVE` if its
|
|
|
|
|
# parent campaign is not active.
|
|
|
|
|
# Corresponds to the JSON property `entityStatus`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :entity_status
|
|
|
|
|
|
|
|
|
|
# Settings that control the number of times a user may be shown with the same ad
|
|
|
|
|
# during a given time period.
|
|
|
|
|
# Corresponds to the JSON property `frequencyCap`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::FrequencyCap]
|
|
|
|
|
attr_accessor :frequency_cap
|
|
|
|
|
|
|
|
|
|
# Output only. The unique ID of the insertion order. Assigned by the system.
|
|
|
|
|
# Corresponds to the JSON property `insertionOrderId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :insertion_order_id
|
|
|
|
|
|
|
|
|
|
# Integration details of an entry.
|
|
|
|
|
# Corresponds to the JSON property `integrationDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::IntegrationDetails]
|
|
|
|
|
attr_accessor :integration_details
|
|
|
|
|
|
|
|
|
|
# Output only. The resource name of the insertion order.
|
|
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :name
|
|
|
|
|
|
|
|
|
|
# Settings that control the rate at which a budget is spent.
|
|
|
|
|
# Corresponds to the JSON property `pacing`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::Pacing]
|
|
|
|
|
attr_accessor :pacing
|
|
|
|
|
|
|
|
|
|
# The partner costs associated with the insertion order. If absent or empty in
|
|
|
|
|
# CreateInsertionOrder method, the newly created insertion order will inherit
|
|
|
|
|
# partner costs from the partner settings.
|
|
|
|
|
# Corresponds to the JSON property `partnerCosts`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::PartnerCost>]
|
|
|
|
|
attr_accessor :partner_costs
|
|
|
|
|
|
|
|
|
|
# Settings that control the performance goal of a campaign or insertion order.
|
|
|
|
|
# Corresponds to the JSON property `performanceGoal`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::PerformanceGoal]
|
|
|
|
|
attr_accessor :performance_goal
|
|
|
|
|
|
|
|
|
|
# Output only. The timestamp when the insertion order was last updated. Assigned
|
|
|
|
|
# by the system.
|
|
|
|
|
# Corresponds to the JSON property `updateTime`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :update_time
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
|
|
|
|
|
@bid_strategy = args[:bid_strategy] if args.key?(:bid_strategy)
|
|
|
|
|
@budget = args[:budget] if args.key?(:budget)
|
|
|
|
|
@campaign_id = args[:campaign_id] if args.key?(:campaign_id)
|
|
|
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
|
|
|
@entity_status = args[:entity_status] if args.key?(:entity_status)
|
|
|
|
|
@frequency_cap = args[:frequency_cap] if args.key?(:frequency_cap)
|
|
|
|
|
@insertion_order_id = args[:insertion_order_id] if args.key?(:insertion_order_id)
|
|
|
|
|
@integration_details = args[:integration_details] if args.key?(:integration_details)
|
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
|
@pacing = args[:pacing] if args.key?(:pacing)
|
|
|
|
|
@partner_costs = args[:partner_costs] if args.key?(:partner_costs)
|
|
|
|
|
@performance_goal = args[:performance_goal] if args.key?(:performance_goal)
|
|
|
|
|
@update_time = args[:update_time] if args.key?(:update_time)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Settings that control how insertion order budget is allocated.
|
|
|
|
|
class InsertionOrderBudget
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The type of automation used to manage bid and budget for the insertion order.
|
|
|
|
|
# If this field is unspecified in creation, the value defaults to `
|
|
|
|
|
# INSERTION_ORDER_AUTOMATION_TYPE_NONE`.
|
|
|
|
|
# Corresponds to the JSON property `automationType`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :automation_type
|
|
|
|
|
|
|
|
|
|
# Required. The list of budget segments. Use a budget segment to specify a
|
|
|
|
|
# specific budget for a given period of time an insertion order is running.
|
|
|
|
|
# Corresponds to the JSON property `budgetSegments`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::InsertionOrderBudgetSegment>]
|
|
|
|
|
attr_accessor :budget_segments
|
|
|
|
|
|
|
|
|
|
# Required. Immutable. The budget unit specifies whether the budget is currency
|
|
|
|
|
# based or impression based.
|
|
|
|
|
# Corresponds to the JSON property `budgetUnit`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :budget_unit
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@automation_type = args[:automation_type] if args.key?(:automation_type)
|
|
|
|
|
@budget_segments = args[:budget_segments] if args.key?(:budget_segments)
|
|
|
|
|
@budget_unit = args[:budget_unit] if args.key?(:budget_unit)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Settings that control the budget of a single budget segment.
|
|
|
|
|
class InsertionOrderBudgetSegment
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Required. The budget amount the insertion order will spend for the given
|
|
|
|
|
# date_range. The amount is in micros. Must be greater than 0. For example,
|
|
|
|
|
# 500000000 represents 500 standard units of the currency.
|
|
|
|
|
# Corresponds to the JSON property `budgetAmountMicros`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :budget_amount_micros
|
|
|
|
|
|
|
|
|
|
# The ID of the campaign budget linked to this insertion order budget segment.
|
|
|
|
|
# Corresponds to the JSON property `campaignBudgetId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :campaign_budget_id
|
|
|
|
|
|
|
|
|
|
# A date range.
|
|
|
|
|
# Corresponds to the JSON property `dateRange`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::DateRange]
|
|
|
|
|
attr_accessor :date_range
|
|
|
|
|
|
|
|
|
|
# The budget segment description. It can be used to enter Purchase Order
|
|
|
|
|
# information for each budget segment and have that information printed on the
|
|
|
|
|
# invoices. Must be UTF-8 encoded with a length of no more than 80 characters.
|
|
|
|
|
# Corresponds to the JSON property `description`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :description
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@budget_amount_micros = args[:budget_amount_micros] if args.key?(:budget_amount_micros)
|
|
|
|
|
@campaign_budget_id = args[:campaign_budget_id] if args.key?(:campaign_budget_id)
|
|
|
|
|
@date_range = args[:date_range] if args.key?(:date_range)
|
|
|
|
|
@description = args[:description] if args.key?(:description)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Details of Integral Ad Science settings.
|
|
|
|
|
class IntegralAdScience
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The custom segment ID provided by Integral Ad Science. The ID must be between `
|
|
|
|
|
# 1000001` and `1999999`, inclusive.
|
|
|
|
|
# Corresponds to the JSON property `customSegmentId`
|
|
|
|
|
# @return [Array<Fixnum>]
|
|
|
|
|
attr_accessor :custom_segment_id
|
|
|
|
|
|
|
|
|
|
# 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)
|
|
|
|
|
@custom_segment_id = args[:custom_segment_id] if args.key?(:custom_segment_id)
|
|
|
|
|
@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
|
|
|
|
|
|
|
|
|
|
# Settings that control the targeting expansion of the line item. Targeting
|
|
|
|
|
# expansion allows the line item to reach a larger audience based on the
|
|
|
|
|
# original audience list and the targeting expansion level.
|
|
|
|
|
# Corresponds to the JSON property `targetingExpansion`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::TargetingExpansionConfig]
|
|
|
|
|
attr_accessor :targeting_expansion
|
|
|
|
|
|
|
|
|
|
# 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
|
|
|
|
|
|
|
|
|
|
# Output only. The warning messages generated by the line item. These warnings
|
|
|
|
|
# do not block saving the line item, but some may block the line item from
|
|
|
|
|
# running.
|
|
|
|
|
# Corresponds to the JSON property `warningMessages`
|
|
|
|
|
# @return [Array<String>]
|
|
|
|
|
attr_accessor :warning_messages
|
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
@targeting_expansion = args[:targeting_expansion] if args.key?(:targeting_expansion)
|
|
|
|
|
@update_time = args[:update_time] if args.key?(:update_time)
|
|
|
|
|
@warning_messages = args[:warning_messages] if args.key?(:warning_messages)
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
# The ID of the manual trigger associated with the line item. * Required when
|
|
|
|
|
# flight_date_type is `LINE_ITEM_FLIGHT_DATE_TYPE_TRIGGER`. Must not be set
|
|
|
|
|
# otherwise. * When set, the line item's flight dates are inherited from its
|
|
|
|
|
# parent insertion order. * Active line items will spend when the selected
|
|
|
|
|
# trigger is activated within the parent insertion order's flight dates.
|
|
|
|
|
# Corresponds to the JSON property `triggerId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :trigger_id
|
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
@trigger_id = args[:trigger_id] if args.key?(:trigger_id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Response message for ListAdvertiserAssignedTargetingOptions.
|
|
|
|
|
class ListAdvertiserAssignedTargetingOptionsResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of assigned targeting options. This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `assignedTargetingOptions`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::AssignedTargetingOption>]
|
|
|
|
|
attr_accessor :assigned_targeting_options
|
|
|
|
|
|
|
|
|
|
# A token identifying the next page of results. This value should be specified
|
|
|
|
|
# as the pageToken in a subsequent ListAdvertiserAssignedTargetingOptionsRequest
|
|
|
|
|
# to fetch the next page of results. This token will be absent if there are no
|
|
|
|
|
# more assigned_targeting_options to return.
|
|
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :next_page_token
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@assigned_targeting_options = args[:assigned_targeting_options] if args.key?(:assigned_targeting_options)
|
|
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
class ListAdvertisersResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of advertisers. This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `advertisers`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::Advertiser>]
|
|
|
|
|
attr_accessor :advertisers
|
|
|
|
|
|
|
|
|
|
# A token to retrieve the next page of results. Pass this value in the
|
|
|
|
|
# page_token field in the subsequent call to `ListAdvertisers` method to
|
|
|
|
|
# retrieve the next page of results.
|
|
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :next_page_token
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@advertisers = args[:advertisers] if args.key?(:advertisers)
|
|
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Response message for AssignedInventorySourceService.
|
|
|
|
|
# ListAssignedInventorySources.
|
|
|
|
|
class ListAssignedInventorySourcesResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of assigned inventory sources. This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `assignedInventorySources`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::AssignedInventorySource>]
|
|
|
|
|
attr_accessor :assigned_inventory_sources
|
|
|
|
|
|
|
|
|
|
# A token to retrieve the next page of results. Pass this value in the
|
|
|
|
|
# page_token field in the subsequent call to `ListAssignedInventorySources`
|
|
|
|
|
# method to retrieve the next page of results.
|
|
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :next_page_token
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@assigned_inventory_sources = args[:assigned_inventory_sources] if args.key?(:assigned_inventory_sources)
|
|
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Response message for AssignedLocationService.ListAssignedLocations.
|
|
|
|
|
class ListAssignedLocationsResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of assigned locations. This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `assignedLocations`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::AssignedLocation>]
|
|
|
|
|
attr_accessor :assigned_locations
|
|
|
|
|
|
|
|
|
|
# A token to retrieve the next page of results. Pass this value in the
|
|
|
|
|
# page_token field in the subsequent call to `ListAssignedLocations` method to
|
|
|
|
|
# retrieve the next page of results.
|
|
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :next_page_token
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@assigned_locations = args[:assigned_locations] if args.key?(:assigned_locations)
|
|
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
class ListCampaignsResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of campaigns. This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `campaigns`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::Campaign>]
|
|
|
|
|
attr_accessor :campaigns
|
|
|
|
|
|
|
|
|
|
# A token to retrieve the next page of results. Pass this value in the
|
|
|
|
|
# page_token field in the subsequent call to `ListCampaigns` method to retrieve
|
|
|
|
|
# the next page of results.
|
|
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :next_page_token
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@campaigns = args[:campaigns] if args.key?(:campaigns)
|
|
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
class ListChannelsResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of channels. This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `channels`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::Channel>]
|
|
|
|
|
attr_accessor :channels
|
|
|
|
|
|
|
|
|
|
# A token to retrieve the next page of results. Pass this value in the
|
|
|
|
|
# page_token field in the subsequent call to `ListChannels` method to retrieve
|
|
|
|
|
# the next page of results.
|
|
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :next_page_token
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@channels = args[:channels] if args.key?(:channels)
|
|
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
class ListCombinedAudiencesResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of combined audiences. This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `combinedAudiences`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::CombinedAudience>]
|
|
|
|
|
attr_accessor :combined_audiences
|
|
|
|
|
|
|
|
|
|
# A token to retrieve the next page of results. Pass this value in the
|
|
|
|
|
# page_token field in the subsequent call to `ListCombinedAudiences` method to
|
|
|
|
|
# retrieve the next page of results.
|
|
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :next_page_token
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@combined_audiences = args[:combined_audiences] if args.key?(:combined_audiences)
|
|
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
class ListCreativesResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of creatives. This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `creatives`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::Creative>]
|
|
|
|
|
attr_accessor :creatives
|
|
|
|
|
|
|
|
|
|
# A token to retrieve the next page of results. Pass this value in the
|
|
|
|
|
# page_token field in the subsequent call to `ListCreativesRequest` method to
|
|
|
|
|
# retrieve the next page of results. If this field is null, it means this is the
|
|
|
|
|
# last page.
|
|
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :next_page_token
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@creatives = args[:creatives] if args.key?(:creatives)
|
|
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
class ListCustomBiddingAlgorithmsResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of custom bidding algorithms. This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `customBiddingAlgorithms`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::CustomBiddingAlgorithm>]
|
|
|
|
|
attr_accessor :custom_bidding_algorithms
|
|
|
|
|
|
|
|
|
|
# A token to retrieve the next page of results. Pass this value in the
|
|
|
|
|
# page_token field in the subsequent call to `ListCustomBiddingAlgorithmsRequest`
|
|
|
|
|
# method to retrieve the next page of results. If this field is null, it means
|
|
|
|
|
# this is the last page.
|
|
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :next_page_token
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@custom_bidding_algorithms = args[:custom_bidding_algorithms] if args.key?(:custom_bidding_algorithms)
|
|
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
class ListCustomListsResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of custom lists. This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `customLists`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::CustomList>]
|
|
|
|
|
attr_accessor :custom_lists
|
|
|
|
|
|
|
|
|
|
# A token to retrieve the next page of results. Pass this value in the
|
|
|
|
|
# page_token field in the subsequent call to `ListCustomLists` method to
|
|
|
|
|
# retrieve the next page of results.
|
|
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :next_page_token
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@custom_lists = args[:custom_lists] if args.key?(:custom_lists)
|
|
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
class ListFirstAndThirdPartyAudiencesResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of first and third party audiences. Audience size properties will not
|
|
|
|
|
# be included. This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `firstAndThirdPartyAudiences`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::FirstAndThirdPartyAudience>]
|
|
|
|
|
attr_accessor :first_and_third_party_audiences
|
|
|
|
|
|
|
|
|
|
# A token to retrieve the next page of results. Pass this value in the
|
|
|
|
|
# page_token field in the subsequent call to `ListFirstAndThirdPartyAudiences`
|
|
|
|
|
# method to retrieve the next page of results.
|
|
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :next_page_token
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@first_and_third_party_audiences = args[:first_and_third_party_audiences] if args.key?(:first_and_third_party_audiences)
|
|
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
class ListGoogleAudiencesResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of Google audiences. This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `googleAudiences`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::GoogleAudience>]
|
|
|
|
|
attr_accessor :google_audiences
|
|
|
|
|
|
|
|
|
|
# A token to retrieve the next page of results. Pass this value in the
|
|
|
|
|
# page_token field in the subsequent call to `ListGoogleAudiences` method to
|
|
|
|
|
# retrieve the next page of results.
|
|
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :next_page_token
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@google_audiences = args[:google_audiences] if args.key?(:google_audiences)
|
|
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
class ListInsertionOrdersResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of insertion orders. This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `insertionOrders`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::InsertionOrder>]
|
|
|
|
|
attr_accessor :insertion_orders
|
|
|
|
|
|
|
|
|
|
# A token to retrieve the next page of results. Pass this value in the
|
|
|
|
|
# page_token field in the subsequent call to `ListInsertionOrders` method to
|
|
|
|
|
# retrieve the next page of results.
|
|
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :next_page_token
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@insertion_orders = args[:insertion_orders] if args.key?(:insertion_orders)
|
|
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Response message for InventorySourceGroupService.ListInventorySourceGroups.
|
|
|
|
|
class ListInventorySourceGroupsResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of inventory source groups. This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `inventorySourceGroups`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::InventorySourceGroup>]
|
|
|
|
|
attr_accessor :inventory_source_groups
|
|
|
|
|
|
|
|
|
|
# A token to retrieve the next page of results. Pass this value in the
|
|
|
|
|
# page_token field in the subsequent call to `ListInventorySourceGroups` method
|
|
|
|
|
# to retrieve the next page of results.
|
|
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :next_page_token
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@inventory_source_groups = args[:inventory_source_groups] if args.key?(:inventory_source_groups)
|
|
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
class ListInventorySourcesResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of inventory sources. This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `inventorySources`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::InventorySource>]
|
|
|
|
|
attr_accessor :inventory_sources
|
|
|
|
|
|
|
|
|
|
# A token to retrieve the next page of results. Pass this value in the
|
|
|
|
|
# page_token field in the subsequent call to `ListInventorySources` method to
|
|
|
|
|
# retrieve the next page of results.
|
|
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :next_page_token
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@inventory_sources = args[:inventory_sources] if args.key?(:inventory_sources)
|
|
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Response message for ListLineItemAssignedTargetingOptions.
|
|
|
|
|
class ListLineItemAssignedTargetingOptionsResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of assigned targeting options. This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `assignedTargetingOptions`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::AssignedTargetingOption>]
|
|
|
|
|
attr_accessor :assigned_targeting_options
|
|
|
|
|
|
|
|
|
|
# A token identifying the next page of results. This value should be specified
|
|
|
|
|
# as the pageToken in a subsequent ListLineItemAssignedTargetingOptionsRequest
|
|
|
|
|
# to fetch the next page of results. This token will be absent if there are no
|
|
|
|
|
# more assigned_targeting_options to return.
|
|
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :next_page_token
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@assigned_targeting_options = args[:assigned_targeting_options] if args.key?(:assigned_targeting_options)
|
|
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
class ListLineItemsResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of line items. This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `lineItems`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::LineItem>]
|
|
|
|
|
attr_accessor :line_items
|
|
|
|
|
|
|
|
|
|
# A token to retrieve the next page of results. Pass this value in the
|
|
|
|
|
# page_token field in the subsequent call to `ListLineItems` method to retrieve
|
|
|
|
|
# the next page of results.
|
|
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :next_page_token
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@line_items = args[:line_items] if args.key?(:line_items)
|
|
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
class ListLocationListsResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of location lists. This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `locationLists`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::LocationList>]
|
|
|
|
|
attr_accessor :location_lists
|
|
|
|
|
|
|
|
|
|
# A token to retrieve the next page of results. Pass this value in the
|
|
|
|
|
# page_token field in the subsequent call to `ListLocationLists` method to
|
|
|
|
|
# retrieve the next page of results.
|
|
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :next_page_token
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@location_lists = args[:location_lists] if args.key?(:location_lists)
|
|
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
class ListManualTriggersResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of manual triggers. This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `manualTriggers`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::ManualTrigger>]
|
|
|
|
|
attr_accessor :manual_triggers
|
|
|
|
|
|
|
|
|
|
# A token to retrieve the next page of results. Pass this value in the
|
|
|
|
|
# page_token field in the subsequent call to `ListManualTriggers` 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)
|
|
|
|
|
@manual_triggers = args[:manual_triggers] if args.key?(:manual_triggers)
|
|
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Response message for NegativeKeywordListService.ListNegativeKeywordLists.
|
|
|
|
|
class ListNegativeKeywordListsResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of negative keyword lists. This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `negativeKeywordLists`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::NegativeKeywordList>]
|
|
|
|
|
attr_accessor :negative_keyword_lists
|
|
|
|
|
|
|
|
|
|
# A token to retrieve the next page of results. Pass this value in the
|
|
|
|
|
# page_token field in the subsequent call to `ListNegativeKeywordLists` method
|
|
|
|
|
# to retrieve the next page of results.
|
|
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :next_page_token
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@negative_keyword_lists = args[:negative_keyword_lists] if args.key?(:negative_keyword_lists)
|
|
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Response message for NegativeKeywordService.ListNegativeKeywords.
|
|
|
|
|
class ListNegativeKeywordsResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of negative keywords. This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `negativeKeywords`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::NegativeKeyword>]
|
|
|
|
|
attr_accessor :negative_keywords
|
|
|
|
|
|
|
|
|
|
# A token to retrieve the next page of results. Pass this value in the
|
|
|
|
|
# page_token field in the subsequent call to `ListNegativeKeywords` method to
|
|
|
|
|
# retrieve the next page of results.
|
|
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :next_page_token
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@negative_keywords = args[:negative_keywords] if args.key?(:negative_keywords)
|
|
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
class ListPartnerAssignedTargetingOptionsResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The list of assigned targeting options. This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `assignedTargetingOptions`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::AssignedTargetingOption>]
|
|
|
|
|
attr_accessor :assigned_targeting_options
|
|
|
|
|
|
|
|
|
|
# A token identifying the next page of results. This value should be specified
|
|
|
|
|
# as the pageToken in a subsequent ListPartnerAssignedTargetingOptionsRequest to
|
|
|
|
|
# fetch the next page of results. This token will be absent if there are no more
|
|
|
|
|
# assigned_targeting_options to return.
|
|
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :next_page_token
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@assigned_targeting_options = args[:assigned_targeting_options] if args.key?(:assigned_targeting_options)
|
|
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
class ListPartnersResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# A token to retrieve the next page of results. Pass this value in the
|
|
|
|
|
# page_token field in the subsequent call to `ListPartners` method to retrieve
|
|
|
|
|
# the next page of results.
|
|
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :next_page_token
|
|
|
|
|
|
|
|
|
|
# The list of partners. This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `partners`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::Partner>]
|
|
|
|
|
attr_accessor :partners
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
|
@partners = args[:partners] if args.key?(:partners)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Response message for SiteService.ListSites.
|
|
|
|
|
class ListSitesResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# A token to retrieve the next page of results. Pass this value in the
|
|
|
|
|
# page_token field in the subsequent call to `ListSites` method to retrieve the
|
|
|
|
|
# next page of results.
|
|
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :next_page_token
|
|
|
|
|
|
|
|
|
|
# The list of sites. This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `sites`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::Site>]
|
|
|
|
|
attr_accessor :sites
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
|
@sites = args[:sites] if args.key?(:sites)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Response message for ListTargetingOptions.
|
|
|
|
|
class ListTargetingOptionsResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# A token to retrieve the next page of results. Pass this value in the
|
|
|
|
|
# page_token field in the subsequent call to `ListTargetingOptions` method to
|
|
|
|
|
# retrieve the next page of results.
|
|
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :next_page_token
|
|
|
|
|
|
|
|
|
|
# The list of targeting options. This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `targetingOptions`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::TargetingOption>]
|
|
|
|
|
attr_accessor :targeting_options
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
|
@targeting_options = args[:targeting_options] if args.key?(:targeting_options)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
class ListUsersResponse
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# A token to retrieve the next page of results. Pass this value in the
|
|
|
|
|
# page_token field in the subsequent call to `ListUsers` method to retrieve the
|
|
|
|
|
# next page of results. This token will be absent if there are no more results
|
|
|
|
|
# to return.
|
|
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :next_page_token
|
|
|
|
|
|
|
|
|
|
# The list of users. This list will be absent if empty.
|
|
|
|
|
# Corresponds to the JSON property `users`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::User>]
|
|
|
|
|
attr_accessor :users
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
|
@users = args[:users] if args.key?(:users)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# A list of locations used for targeting.
|
|
|
|
|
class LocationList
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Required. Immutable. The unique ID of the advertiser the location list belongs
|
|
|
|
|
# to.
|
|
|
|
|
# Corresponds to the JSON property `advertiserId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :advertiser_id
|
|
|
|
|
|
|
|
|
|
# Required. The display name of the location list. Must be UTF-8 encoded with a
|
|
|
|
|
# maximum size of 240 bytes.
|
|
|
|
|
# Corresponds to the JSON property `displayName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :display_name
|
|
|
|
|
|
|
|
|
|
# Output only. The unique ID of the location list. Assigned by the system.
|
|
|
|
|
# Corresponds to the JSON property `locationListId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :location_list_id
|
|
|
|
|
|
|
|
|
|
# Required. Immutable. The type of location. All locations in the list will
|
|
|
|
|
# share this type.
|
|
|
|
|
# Corresponds to the JSON property `locationType`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :location_type
|
|
|
|
|
|
|
|
|
|
# Output only. The resource name of the location list.
|
|
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :name
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
|
|
|
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
|
|
|
@location_list_id = args[:location_list_id] if args.key?(:location_list_id)
|
|
|
|
|
@location_type = args[:location_type] if args.key?(:location_type)
|
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Specifies how many days into the past to look when determining whether to
|
|
|
|
|
# record a conversion.
|
|
|
|
|
class LookbackWindow
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Lookback window, in days, from the last time a given user clicked on one of
|
|
|
|
|
# your ads.
|
|
|
|
|
# Corresponds to the JSON property `clickDays`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :click_days
|
|
|
|
|
|
|
|
|
|
# Lookback window, in days, from the last time a given user viewed one of your
|
|
|
|
|
# ads.
|
|
|
|
|
# Corresponds to the JSON property `impressionDays`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :impression_days
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@click_days = args[:click_days] if args.key?(:click_days)
|
|
|
|
|
@impression_days = args[:impression_days] if args.key?(:impression_days)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# A single manual trigger in Display & Video 360.
|
|
|
|
|
class ManualTrigger
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Required. The maximum duration of each activation in minutes. Must be between
|
|
|
|
|
# 1 and 360 inclusive. After this duration, the trigger will be automatically
|
|
|
|
|
# deactivated.
|
|
|
|
|
# Corresponds to the JSON property `activationDurationMinutes`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :activation_duration_minutes
|
|
|
|
|
|
|
|
|
|
# Required. Immutable. The unique ID of the advertiser that the manual trigger
|
|
|
|
|
# belongs to.
|
|
|
|
|
# Corresponds to the JSON property `advertiserId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :advertiser_id
|
|
|
|
|
|
|
|
|
|
# Required. The display name of the manual trigger. 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 timestamp of the trigger's latest activation.
|
|
|
|
|
# Corresponds to the JSON property `latestActivationTime`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :latest_activation_time
|
|
|
|
|
|
|
|
|
|
# Output only. The resource name of the manual trigger.
|
|
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :name
|
|
|
|
|
|
|
|
|
|
# Output only. The state of the manual trigger. Will be set to the `INACTIVE`
|
|
|
|
|
# state upon creation.
|
|
|
|
|
# Corresponds to the JSON property `state`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :state
|
|
|
|
|
|
|
|
|
|
# Output only. The unique ID of the manual trigger.
|
|
|
|
|
# Corresponds to the JSON property `triggerId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :trigger_id
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@activation_duration_minutes = args[:activation_duration_minutes] if args.key?(:activation_duration_minutes)
|
|
|
|
|
@advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
|
|
|
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
|
|
|
@latest_activation_time = args[:latest_activation_time] if args.key?(:latest_activation_time)
|
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
|
@state = args[:state] if args.key?(:state)
|
|
|
|
|
@trigger_id = args[:trigger_id] if args.key?(:trigger_id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# A strategy that automatically adjusts the bid to optimize a specified
|
|
|
|
|
# performance goal while spending the full budget.
|
|
|
|
|
class MaximizeSpendBidStrategy
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The ID of the Custom Bidding Algorithm used by this strategy. Only applicable
|
|
|
|
|
# when performance_goal_type is set to `
|
|
|
|
|
# BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.
|
|
|
|
|
# Corresponds to the JSON property `customBiddingAlgorithmId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :custom_bidding_algorithm_id
|
|
|
|
|
|
|
|
|
|
# The maximum average CPM that may be bid, in micros of the advertiser's
|
|
|
|
|
# currency. Must be greater than or equal to a billable unit of the given
|
|
|
|
|
# currency. For example, 1500000 represents 1.5 standard units of the currency.
|
|
|
|
|
# Corresponds to the JSON property `maxAverageCpmBidAmountMicros`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :max_average_cpm_bid_amount_micros
|
|
|
|
|
|
|
|
|
|
# Required. The type of the performance goal that the bidding strategy tries to
|
|
|
|
|
# minimize while spending the full budget. `
|
|
|
|
|
# BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` is not supported for this
|
|
|
|
|
# strategy.
|
|
|
|
|
# Corresponds to the JSON property `performanceGoalType`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :performance_goal_type
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@custom_bidding_algorithm_id = args[:custom_bidding_algorithm_id] if args.key?(:custom_bidding_algorithm_id)
|
|
|
|
|
@max_average_cpm_bid_amount_micros = args[:max_average_cpm_bid_amount_micros] if args.key?(:max_average_cpm_bid_amount_micros)
|
|
|
|
|
@performance_goal_type = args[:performance_goal_type] if args.key?(:performance_goal_type)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Measurement settings of a partner.
|
|
|
|
|
class MeasurementConfig
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Whether or not to report DV360 cost to CM360.
|
|
|
|
|
# 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 CM360 data transfer reports.
|
|
|
|
|
# Corresponds to the JSON property `dv360ToCmDataSharingEnabled`
|
|
|
|
|
# @return [Boolean]
|
|
|
|
|
attr_accessor :dv360_to_cm_data_sharing_enabled
|
|
|
|
|
alias_method :dv360_to_cm_data_sharing_enabled?, :dv360_to_cm_data_sharing_enabled
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@dv360_to_cm_cost_reporting_enabled = args[:dv360_to_cm_cost_reporting_enabled] if args.key?(:dv360_to_cm_cost_reporting_enabled)
|
|
|
|
|
@dv360_to_cm_data_sharing_enabled = args[:dv360_to_cm_data_sharing_enabled] if args.key?(:dv360_to_cm_data_sharing_enabled)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Represents an amount of money with its currency type.
|
|
|
|
|
class Money
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The three-letter currency code defined in ISO 4217.
|
|
|
|
|
# Corresponds to the JSON property `currencyCode`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :currency_code
|
|
|
|
|
|
|
|
|
|
# Number of nano (10^-9) units of the amount. The value must be between -999,999,
|
|
|
|
|
# 999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be
|
|
|
|
|
# positive or zero. If `units` is zero, `nanos` can be positive, zero, or
|
|
|
|
|
# negative. If `units` is negative, `nanos` must be negative or zero. For
|
|
|
|
|
# example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
|
|
|
|
|
# Corresponds to the JSON property `nanos`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :nanos
|
|
|
|
|
|
|
|
|
|
# The whole units of the amount. For example if `currencyCode` is `"USD"`, then
|
|
|
|
|
# 1 unit is one US dollar.
|
|
|
|
|
# Corresponds to the JSON property `units`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :units
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@currency_code = args[:currency_code] if args.key?(:currency_code)
|
|
|
|
|
@nanos = args[:nanos] if args.key?(:nanos)
|
|
|
|
|
@units = args[:units] if args.key?(:units)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# A negatively targeted keyword that belongs to a negative keyword list.
|
|
|
|
|
class NegativeKeyword
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Required. Immutable. The negatively targeted keyword, for example `car
|
|
|
|
|
# insurance`. Must be UTF-8 encoded with a maximum size of 255 bytes. Maximum
|
|
|
|
|
# number of characters is 80. Maximum number of words is 10. Valid characters
|
|
|
|
|
# are restricted to ASCII characters only. The only URL-escaping permitted is
|
|
|
|
|
# for representing whitespace between words. Leading or trailing whitespace is
|
|
|
|
|
# ignored.
|
|
|
|
|
# Corresponds to the JSON property `keywordValue`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :keyword_value
|
|
|
|
|
|
|
|
|
|
# Output only. The resource name of the negative keyword.
|
|
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :name
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@keyword_value = args[:keyword_value] if args.key?(:keyword_value)
|
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# A list of negative keywords used for targeting.
|
|
|
|
|
class NegativeKeywordList
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The unique ID of the advertiser the negative keyword list belongs
|
|
|
|
|
# to.
|
|
|
|
|
# Corresponds to the JSON property `advertiserId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :advertiser_id
|
|
|
|
|
|
|
|
|
|
# Required. The display name of the negative keyword list. Must be UTF-8 encoded
|
|
|
|
|
# with a maximum size of 255 bytes.
|
|
|
|
|
# Corresponds to the JSON property `displayName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :display_name
|
|
|
|
|
|
|
|
|
|
# Output only. The resource name of the negative keyword list.
|
|
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :name
|
|
|
|
|
|
|
|
|
|
# Output only. The unique ID of the negative keyword list. Assigned by the
|
|
|
|
|
# system.
|
|
|
|
|
# Corresponds to the JSON property `negativeKeywordListId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :negative_keyword_list_id
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
|
|
|
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
|
@negative_keyword_list_id = args[:negative_keyword_list_id] if args.key?(:negative_keyword_list_id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Targeting details for negative keyword list. This will be populated in the
|
|
|
|
|
# details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`.
|
|
|
|
|
class NegativeKeywordListAssignedTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Required. ID of the negative keyword list. Should refer to the
|
|
|
|
|
# negative_keyword_list_id field of a NegativeKeywordList resource.
|
|
|
|
|
# Corresponds to the JSON property `negativeKeywordListId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :negative_keyword_list_id
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@negative_keyword_list_id = args[:negative_keyword_list_id] if args.key?(:negative_keyword_list_id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# OBA Icon for a Creative
|
|
|
|
|
class ObaIcon
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Required. The click tracking URL of the OBA icon. Only URLs of the following
|
|
|
|
|
# domains are allowed: * https://info.evidon.com * https://l.betrad.com
|
|
|
|
|
# Corresponds to the JSON property `clickTrackingUrl`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :click_tracking_url
|
|
|
|
|
|
|
|
|
|
# Dimensions.
|
|
|
|
|
# Corresponds to the JSON property `dimensions`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::Dimensions]
|
|
|
|
|
attr_accessor :dimensions
|
|
|
|
|
|
|
|
|
|
# Required. The landing page URL of the OBA icon. Only URLs of the following
|
|
|
|
|
# domains are allowed: * https://info.evidon.com * https://l.betrad.com
|
|
|
|
|
# Corresponds to the JSON property `landingPageUrl`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :landing_page_url
|
|
|
|
|
|
|
|
|
|
# The position of the OBA icon on the creative.
|
|
|
|
|
# Corresponds to the JSON property `position`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :position
|
|
|
|
|
|
|
|
|
|
# The program of the OBA icon. For example: “AdChoices”.
|
|
|
|
|
# Corresponds to the JSON property `program`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :program
|
|
|
|
|
|
|
|
|
|
# The MIME type of the OBA icon resource.
|
|
|
|
|
# Corresponds to the JSON property `resourceMimeType`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :resource_mime_type
|
|
|
|
|
|
|
|
|
|
# The URL of the OBA icon resource.
|
|
|
|
|
# Corresponds to the JSON property `resourceUrl`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :resource_url
|
|
|
|
|
|
|
|
|
|
# Required. The view tracking URL of the OBA icon. Only URLs of the following
|
|
|
|
|
# domains are allowed: * https://info.evidon.com * https://l.betrad.com
|
|
|
|
|
# Corresponds to the JSON property `viewTrackingUrl`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :view_tracking_url
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@click_tracking_url = args[:click_tracking_url] if args.key?(:click_tracking_url)
|
|
|
|
|
@dimensions = args[:dimensions] if args.key?(:dimensions)
|
|
|
|
|
@landing_page_url = args[:landing_page_url] if args.key?(:landing_page_url)
|
|
|
|
|
@position = args[:position] if args.key?(:position)
|
|
|
|
|
@program = args[:program] if args.key?(:program)
|
|
|
|
|
@resource_mime_type = args[:resource_mime_type] if args.key?(:resource_mime_type)
|
|
|
|
|
@resource_url = args[:resource_url] if args.key?(:resource_url)
|
|
|
|
|
@view_tracking_url = args[:view_tracking_url] if args.key?(:view_tracking_url)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# On screen position targeting option details. This will be populated in the
|
|
|
|
|
# on_screen_position_details field when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_ON_SCREEN_POSITION`.
|
|
|
|
|
class OnScreenPositionAssignedTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The on screen position.
|
|
|
|
|
# Corresponds to the JSON property `onScreenPosition`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :on_screen_position
|
|
|
|
|
|
|
|
|
|
# Required. The targeting_option_id field when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_ON_SCREEN_POSITION`.
|
|
|
|
|
# Corresponds to the JSON property `targetingOptionId`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :targeting_option_id
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@on_screen_position = args[:on_screen_position] if args.key?(:on_screen_position)
|
|
|
|
|
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Represents a targetable on screen position, which could be used by display and
|
|
|
|
|
# video ads. This will be populated in the on_screen_position_details field when
|
|
|
|
|
# targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`.
|
|
|
|
|
class OnScreenPositionTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The on screen position.
|
|
|
|
|
# Corresponds to the JSON property `onScreenPosition`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :on_screen_position
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@on_screen_position = args[:on_screen_position] if args.key?(:on_screen_position)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Assigned operating system targeting option details. This will be populated in
|
|
|
|
|
# the operating_system_details field when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_OPERATING_SYSTEM`.
|
|
|
|
|
class OperatingSystemAssignedTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The display name of the operating system.
|
|
|
|
|
# Corresponds to the JSON property `displayName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :display_name
|
|
|
|
|
|
|
|
|
|
# Indicates if this option is being negatively targeted.
|
|
|
|
|
# Corresponds to the JSON property `negative`
|
|
|
|
|
# @return [Boolean]
|
|
|
|
|
attr_accessor :negative
|
|
|
|
|
alias_method :negative?, :negative
|
|
|
|
|
|
|
|
|
|
# Required. The targeting option ID populated in targeting_option_id field when
|
|
|
|
|
# targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`.
|
|
|
|
|
# Corresponds to the JSON property `targetingOptionId`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :targeting_option_id
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
|
|
|
@negative = args[:negative] if args.key?(:negative)
|
|
|
|
|
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Represents a targetable operating system. This will be populated in the
|
|
|
|
|
# operating_system_details field of a TargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_OPERATING_SYSTEM`.
|
|
|
|
|
class OperatingSystemTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The display name of the operating system.
|
|
|
|
|
# Corresponds to the JSON property `displayName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :display_name
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# This resource represents a long-running operation that is the result of a
|
|
|
|
|
# network API call.
|
|
|
|
|
class Operation
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# If the value is `false`, it means the operation is still in progress. If `true`
|
|
|
|
|
# , the operation is completed, and either `error` or `response` is available.
|
|
|
|
|
# Corresponds to the JSON property `done`
|
|
|
|
|
# @return [Boolean]
|
|
|
|
|
attr_accessor :done
|
|
|
|
|
alias_method :done?, :done
|
|
|
|
|
|
|
|
|
|
# The `Status` type defines a logical error model that is suitable for different
|
|
|
|
|
# programming environments, including REST APIs and RPC APIs. It is used by [
|
|
|
|
|
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
|
|
|
|
# data: error code, error message, and error details. You can find out more
|
|
|
|
|
# about this error model and how to work with it in the [API Design Guide](https:
|
|
|
|
|
# //cloud.google.com/apis/design/errors).
|
|
|
|
|
# Corresponds to the JSON property `error`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::Status]
|
|
|
|
|
attr_accessor :error
|
|
|
|
|
|
|
|
|
|
# Service-specific metadata associated with the operation. It typically contains
|
|
|
|
|
# progress information and common metadata such as create time. Some services
|
|
|
|
|
# might not provide such metadata. Any method that returns a long-running
|
|
|
|
|
# operation should document the metadata type, if any.
|
|
|
|
|
# Corresponds to the JSON property `metadata`
|
|
|
|
|
# @return [Hash<String,Object>]
|
|
|
|
|
attr_accessor :metadata
|
|
|
|
|
|
|
|
|
|
# The server-assigned name, which is only unique within the same service that
|
|
|
|
|
# originally returns it. If you use the default HTTP mapping, the `name` should
|
|
|
|
|
# be a resource name ending with `operations/`unique_id``.
|
|
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :name
|
|
|
|
|
|
|
|
|
|
# The normal response of the operation in case of success. If the original
|
|
|
|
|
# method returns no data on success, such as `Delete`, the response is `google.
|
|
|
|
|
# protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`,
|
|
|
|
|
# the response should be the resource. For other methods, the response should
|
|
|
|
|
# have the type `XxxResponse`, where `Xxx` is the original method name. For
|
|
|
|
|
# example, if the original method name is `TakeSnapshot()`, the inferred
|
|
|
|
|
# response type is `TakeSnapshotResponse`.
|
|
|
|
|
# Corresponds to the JSON property `response`
|
|
|
|
|
# @return [Hash<String,Object>]
|
|
|
|
|
attr_accessor :response
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@done = args[:done] if args.key?(:done)
|
|
|
|
|
@error = args[:error] if args.key?(:error)
|
|
|
|
|
@metadata = args[:metadata] if args.key?(:metadata)
|
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
|
@response = args[:response] if args.key?(:response)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Settings that control the rate at which a budget is spent.
|
|
|
|
|
class Pacing
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Maximum number of impressions to serve every day. Applicable when the budget
|
|
|
|
|
# is impression based. Must be greater than 0.
|
|
|
|
|
# Corresponds to the JSON property `dailyMaxImpressions`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :daily_max_impressions
|
|
|
|
|
|
|
|
|
|
# Maximum currency amount to spend every day in micros of advertiser's currency.
|
|
|
|
|
# Applicable when the budget is currency based. Must be greater than 0. For
|
|
|
|
|
# example, for 1.5 standard unit of the currency, set this field to 1500000. The
|
|
|
|
|
# value assigned will be rounded to whole billable units for the relevant
|
|
|
|
|
# currency by the following rules: any positive value less than a single
|
|
|
|
|
# billable unit will be rounded up to one billable unit and any value larger
|
|
|
|
|
# than a single billable unit will be rounded down to the nearest billable value.
|
|
|
|
|
# For example, if the currency's billable unit is 0.01, and this field is set
|
|
|
|
|
# to 10257770, it will round down to 10250000, a value of 10.25. If set to 505,
|
|
|
|
|
# it will round up to 10000, a value of 0.01.
|
|
|
|
|
# Corresponds to the JSON property `dailyMaxMicros`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :daily_max_micros
|
|
|
|
|
|
|
|
|
|
# Required. The time period in which the pacing budget will be spent. When
|
|
|
|
|
# automatic budget allocation is enabled at the insertion order via
|
|
|
|
|
# auto_budget_allocation, this field is output only and defaults to `
|
|
|
|
|
# PACING_PERIOD_FLIGHT`.
|
|
|
|
|
# Corresponds to the JSON property `pacingPeriod`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :pacing_period
|
|
|
|
|
|
|
|
|
|
# Required. The type of pacing that defines how the budget amount will be spent
|
|
|
|
|
# across the pacing_period.
|
|
|
|
|
# Corresponds to the JSON property `pacingType`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :pacing_type
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@daily_max_impressions = args[:daily_max_impressions] if args.key?(:daily_max_impressions)
|
|
|
|
|
@daily_max_micros = args[:daily_max_micros] if args.key?(:daily_max_micros)
|
|
|
|
|
@pacing_period = args[:pacing_period] if args.key?(:pacing_period)
|
|
|
|
|
@pacing_type = args[:pacing_type] if args.key?(:pacing_type)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# A filtering option that filters on selected file types belonging to a chosen
|
|
|
|
|
# set of filter entities.
|
|
|
|
|
class ParentEntityFilter
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Required. File types that will be returned.
|
|
|
|
|
# Corresponds to the JSON property `fileType`
|
|
|
|
|
# @return [Array<String>]
|
|
|
|
|
attr_accessor :file_type
|
|
|
|
|
|
|
|
|
|
# The IDs of the specified filter type. This is used to filter entities to fetch.
|
|
|
|
|
# If filter type is not `FILTER_TYPE_NONE`, at least one ID must be specified.
|
|
|
|
|
# Corresponds to the JSON property `filterIds`
|
|
|
|
|
# @return [Array<Fixnum>]
|
|
|
|
|
attr_accessor :filter_ids
|
|
|
|
|
|
|
|
|
|
# Required. Filter type used to filter fetched entities.
|
|
|
|
|
# Corresponds to the JSON property `filterType`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :filter_type
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@file_type = args[:file_type] if args.key?(:file_type)
|
|
|
|
|
@filter_ids = args[:filter_ids] if args.key?(:filter_ids)
|
|
|
|
|
@filter_type = args[:filter_type] if args.key?(:filter_type)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Details for assigned parental status targeting option. This will be populated
|
|
|
|
|
# in the details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARTGETING_TYPE_PARENTAL_STATUS`.
|
|
|
|
|
class ParentalStatusAssignedTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The parental status of the audience.
|
|
|
|
|
# Corresponds to the JSON property `parentalStatus`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :parental_status
|
|
|
|
|
|
|
|
|
|
# Required. The targeting_option_id of a TargetingOption of type `
|
|
|
|
|
# TARGETING_TYPE_PARENTAL_STATUS`.
|
|
|
|
|
# Corresponds to the JSON property `targetingOptionId`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :targeting_option_id
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@parental_status = args[:parental_status] if args.key?(:parental_status)
|
|
|
|
|
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Represents a targetable parental status. This will be populated in the
|
|
|
|
|
# parental_status_details field of a TargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_PARENTAL_STATUS`.
|
|
|
|
|
class ParentalStatusTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The parental status of an audience.
|
|
|
|
|
# Corresponds to the JSON property `parentalStatus`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :parental_status
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@parental_status = args[:parental_status] if args.key?(:parental_status)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# A single partner in Display & Video 360 (DV360).
|
|
|
|
|
class Partner
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Ad server related settings of a partner.
|
|
|
|
|
# Corresponds to the JSON property `adServerConfig`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::PartnerAdServerConfig]
|
|
|
|
|
attr_accessor :ad_server_config
|
|
|
|
|
|
|
|
|
|
# Settings that control how partner related data may be accessed.
|
|
|
|
|
# Corresponds to the JSON property `dataAccessConfig`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::PartnerDataAccessConfig]
|
|
|
|
|
attr_accessor :data_access_config
|
|
|
|
|
|
|
|
|
|
# The display name of the partner. Must be UTF-8 encoded with a maximum size of
|
|
|
|
|
# 240 bytes.
|
|
|
|
|
# Corresponds to the JSON property `displayName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :display_name
|
|
|
|
|
|
|
|
|
|
# Output only. The status of the partner.
|
|
|
|
|
# Corresponds to the JSON property `entityStatus`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :entity_status
|
|
|
|
|
|
|
|
|
|
# Settings that control which exchanges are enabled for a partner.
|
|
|
|
|
# Corresponds to the JSON property `exchangeConfig`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::ExchangeConfig]
|
|
|
|
|
attr_accessor :exchange_config
|
|
|
|
|
|
|
|
|
|
# General settings of a partner.
|
|
|
|
|
# Corresponds to the JSON property `generalConfig`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::PartnerGeneralConfig]
|
|
|
|
|
attr_accessor :general_config
|
|
|
|
|
|
|
|
|
|
# Output only. The resource name of the partner.
|
|
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :name
|
|
|
|
|
|
|
|
|
|
# Output only. The unique ID of the partner. Assigned by the system.
|
|
|
|
|
# Corresponds to the JSON property `partnerId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :partner_id
|
|
|
|
|
|
|
|
|
|
# Output only. The timestamp when the partner was last updated. Assigned by the
|
|
|
|
|
# system.
|
|
|
|
|
# Corresponds to the JSON property `updateTime`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :update_time
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@ad_server_config = args[:ad_server_config] if args.key?(:ad_server_config)
|
|
|
|
|
@data_access_config = args[:data_access_config] if args.key?(:data_access_config)
|
|
|
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
|
|
|
@entity_status = args[:entity_status] if args.key?(:entity_status)
|
|
|
|
|
@exchange_config = args[:exchange_config] if args.key?(:exchange_config)
|
|
|
|
|
@general_config = args[:general_config] if args.key?(:general_config)
|
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
|
@partner_id = args[:partner_id] if args.key?(:partner_id)
|
|
|
|
|
@update_time = args[:update_time] if args.key?(:update_time)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Ad server related settings of a partner.
|
|
|
|
|
class PartnerAdServerConfig
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Measurement settings of a partner.
|
|
|
|
|
# Corresponds to the JSON property `measurementConfig`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::MeasurementConfig]
|
|
|
|
|
attr_accessor :measurement_config
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@measurement_config = args[:measurement_config] if args.key?(:measurement_config)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Settings that control a partner cost. A partner cost is any type of expense
|
|
|
|
|
# involved in running a campaign, other than the costs of purchasing impressions
|
|
|
|
|
# (which is called the media cost) and using third-party audience segment data (
|
|
|
|
|
# data fee). Some examples of partner costs include the fees for using DV360, a
|
|
|
|
|
# third-party ad server, or a third-party ad serving verification service.
|
|
|
|
|
class PartnerCost
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Required. The type of the partner cost.
|
|
|
|
|
# Corresponds to the JSON property `costType`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :cost_type
|
|
|
|
|
|
|
|
|
|
# The CPM fee amount in micros of advertiser's currency. Applicable when the
|
|
|
|
|
# fee_type is `PARTNER_FEE_TYPE_CPM_FEE`. Must be greater than or equal to 0.
|
|
|
|
|
# For example, for 1.5 standard unit of the advertiser's currency, set this
|
|
|
|
|
# field to 1500000.
|
|
|
|
|
# Corresponds to the JSON property `feeAmount`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :fee_amount
|
|
|
|
|
|
|
|
|
|
# The media fee percentage in millis (1/1000 of a percent). Applicable when the
|
|
|
|
|
# fee_type is `PARTNER_FEE_TYPE_MEDIA_FEE`. Must be greater than or equal to 0.
|
|
|
|
|
# For example: 100 represents 0.1%.
|
|
|
|
|
# Corresponds to the JSON property `feePercentageMillis`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :fee_percentage_millis
|
|
|
|
|
|
|
|
|
|
# Required. The fee type for this partner cost.
|
|
|
|
|
# Corresponds to the JSON property `feeType`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :fee_type
|
|
|
|
|
|
|
|
|
|
# The invoice type for this partner cost. * Required when cost_type is one of: -
|
|
|
|
|
# `PARTNER_COST_TYPE_ADLOOX` - `PARTNER_COST_TYPE_DOUBLE_VERIFY` - `
|
|
|
|
|
# PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE`. * Output only for other types.
|
|
|
|
|
# Corresponds to the JSON property `invoiceType`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :invoice_type
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@cost_type = args[:cost_type] if args.key?(:cost_type)
|
|
|
|
|
@fee_amount = args[:fee_amount] if args.key?(:fee_amount)
|
|
|
|
|
@fee_percentage_millis = args[:fee_percentage_millis] if args.key?(:fee_percentage_millis)
|
|
|
|
|
@fee_type = args[:fee_type] if args.key?(:fee_type)
|
|
|
|
|
@invoice_type = args[:invoice_type] if args.key?(:invoice_type)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Settings that control how partner related data may be accessed.
|
|
|
|
|
class PartnerDataAccessConfig
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Structured Data File (SDF) related settings.
|
|
|
|
|
# Corresponds to the JSON property `sdfConfig`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::SdfConfig]
|
|
|
|
|
attr_accessor :sdf_config
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@sdf_config = args[:sdf_config] if args.key?(:sdf_config)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# General settings of a partner.
|
|
|
|
|
class PartnerGeneralConfig
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Immutable. Partner's currency in ISO 4217 format.
|
|
|
|
|
# Corresponds to the JSON property `currencyCode`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :currency_code
|
|
|
|
|
|
|
|
|
|
# Immutable. The standard TZ database name of the partner's time zone. For
|
|
|
|
|
# example, `America/New_York`. See more at: https://en.wikipedia.org/wiki/
|
|
|
|
|
# List_of_tz_database_time_zones
|
|
|
|
|
# Corresponds to the JSON property `timeZone`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :time_zone
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@currency_code = args[:currency_code] if args.key?(:currency_code)
|
|
|
|
|
@time_zone = args[:time_zone] if args.key?(:time_zone)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Settings that control how partner revenue is calculated.
|
|
|
|
|
class PartnerRevenueModel
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Required. The markup amount of the partner revenue model. Must be greater than
|
|
|
|
|
# or equal to 0. * When the markup_type is set to be `
|
|
|
|
|
# PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM`, this field represents the CPM markup
|
|
|
|
|
# in micros of advertiser's currency. For example, 1500000 represents 1.5
|
|
|
|
|
# standard units of the currency. * When the markup_type is set to be `
|
|
|
|
|
# PARTNER_REVENUE_MODEL_MARKUP_TYPE_MEDIA_COST_MARKUP`, this field represents
|
|
|
|
|
# the media cost percent markup in millis. For example, 100 represents 0.1% (
|
|
|
|
|
# decimal 0.001). * When the markup_type is set to be `
|
|
|
|
|
# PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP`, this field
|
|
|
|
|
# represents the total media cost percent markup in millis. For example, 100
|
|
|
|
|
# represents 0.1% (decimal 0.001).
|
|
|
|
|
# Corresponds to the JSON property `markupAmount`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :markup_amount
|
|
|
|
|
|
|
|
|
|
# Required. The markup type of the partner revenue model.
|
|
|
|
|
# Corresponds to the JSON property `markupType`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :markup_type
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@markup_amount = args[:markup_amount] if args.key?(:markup_amount)
|
|
|
|
|
@markup_type = args[:markup_type] if args.key?(:markup_type)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Settings that control the performance goal of a campaign or insertion order.
|
|
|
|
|
class PerformanceGoal
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The goal amount, in micros of the advertiser's currency. Applicable when
|
|
|
|
|
# performance_goal_type is one of: * `PERFORMANCE_GOAL_TYPE_CPM` * `
|
|
|
|
|
# PERFORMANCE_GOAL_TYPE_CPC` * `PERFORMANCE_GOAL_TYPE_CPA` * `
|
feat: Automated regeneration of displayvideo v1 client (#2377)
This PR was generated using Autosynth. :rainbow:
<details><summary>Log from Synthtool</summary>
```
2021-01-13 02:27:29,414 synthtool [DEBUG] > Executing /home/kbuilder/.cache/synthtool/google-api-ruby-client/synth.py.
On branch autosynth-displayvideo-v1
nothing to commit, working tree clean
2021-01-13 02:27:29,485 synthtool [DEBUG] > Running: docker run --rm -v/home/kbuilder/.cache/synthtool/google-api-ruby-client:/workspace -v/var/run/docker.sock:/var/run/docker.sock -w /workspace --entrypoint script/synth.rb gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/autosynth displayvideo v1
DEBUG:synthtool:Running: docker run --rm -v/home/kbuilder/.cache/synthtool/google-api-ruby-client:/workspace -v/var/run/docker.sock:/var/run/docker.sock -w /workspace --entrypoint script/synth.rb gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/autosynth displayvideo v1
git clean -df
bundle install
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and
installing your bundle as root will break this application for all non-root
users on this machine.
The dependency jruby-openssl (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for java. To add those platforms to the bundle, run `bundle lock --add-platform java`.
Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Fetching rake 11.3.0
Installing rake 11.3.0
Fetching concurrent-ruby 1.1.7
Installing concurrent-ruby 1.1.7
Fetching i18n 1.8.7
Installing i18n 1.8.7
Fetching minitest 5.14.3
Installing minitest 5.14.3
Fetching tzinfo 2.0.4
Installing tzinfo 2.0.4
Fetching zeitwerk 2.4.2
Installing zeitwerk 2.4.2
Fetching activesupport 6.1.1
Installing activesupport 6.1.1
Fetching public_suffix 4.0.6
Installing public_suffix 4.0.6
Fetching addressable 2.7.0
Installing addressable 2.7.0
Fetching ast 2.4.1
Installing ast 2.4.1
Using bundler 2.1.4
Fetching byebug 11.1.3
Installing byebug 11.1.3 with native extensions
Fetching coderay 1.1.3
Installing coderay 1.1.3
Fetching json 2.5.1
Installing json 2.5.1 with native extensions
Fetching docile 1.3.4
Installing docile 1.3.4
Fetching simplecov-html 0.10.2
Installing simplecov-html 0.10.2
Fetching simplecov 0.16.1
Installing simplecov 0.16.1
Using sync 0.5.0
Fetching tins 1.28.0
Installing tins 1.28.0
Fetching term-ansicolor 1.7.1
Installing term-ansicolor 1.7.1
Fetching thor 0.20.3
Installing thor 0.20.3
Fetching coveralls 0.8.23
Installing coveralls 0.8.23
Fetching rexml 3.2.4
Installing rexml 3.2.4
Fetching crack 0.4.5
Installing crack 0.4.5
Fetching declarative 0.0.20
Installing declarative 0.0.20
Fetching declarative-option 0.1.0
Installing declarative-option 0.1.0
Fetching diff-lcs 1.4.4
Installing diff-lcs 1.4.4
Fetching dotenv 2.7.6
Installing dotenv 2.7.6
Fetching fakefs 0.20.1
Installing fakefs 0.20.1
Fetching faraday-net_http 1.0.1
Installing faraday-net_http 1.0.1
Fetching multipart-post 2.1.1
Installing multipart-post 2.1.1
Fetching ruby2_keywords 0.0.2
Installing ruby2_keywords 0.0.2
Fetching faraday 1.3.0
Installing faraday 1.3.0
Fetching gems 1.2.0
Installing gems 1.2.0
Fetching github-markup 1.7.0
Installing github-markup 1.7.0
Fetching jwt 2.2.2
Installing jwt 2.2.2
Fetching memoist 0.16.2
Installing memoist 0.16.2
Fetching multi_json 1.15.0
Installing multi_json 1.15.0
Fetching os 0.9.6
Installing os 0.9.6
Fetching signet 0.14.0
Installing signet 0.14.0
Fetching googleauth 0.14.0
Installing googleauth 0.14.0
Fetching httpclient 2.8.3
Installing httpclient 2.8.3
Fetching mini_mime 1.0.2
Installing mini_mime 1.0.2
Fetching uber 0.1.0
Installing uber 0.1.0
Fetching representable 3.0.4
Installing representable 3.0.4
Fetching retriable 3.1.2
Installing retriable 3.1.2
Fetching google-apis-core 0.2.0
Installing google-apis-core 0.2.0
Fetching google-apis-discovery_v1 0.1.0
Installing google-apis-discovery_v1 0.1.0
Using google-apis-generator 0.1.1 from source at `.`
Fetching google-id-token 1.4.2
Installing google-id-token 1.4.2
Fetching hashdiff 1.0.1
Installing hashdiff 1.0.1
Fetching mime-types-data 3.2020.1104
Installing mime-types-data 3.2020.1104
Fetching mime-types 3.3.1
Installing mime-types 3.3.1
Fetching multi_xml 0.6.0
Installing multi_xml 0.6.0
Fetching httparty 0.18.1
Installing httparty 0.18.1
Fetching rspec-support 3.10.1
Installing rspec-support 3.10.1
Fetching rspec-core 3.10.1
Installing rspec-core 3.10.1
Fetching rspec-expectations 3.10.1
Installing rspec-expectations 3.10.1
Fetching rspec-mocks 3.10.1
Installing rspec-mocks 3.10.1
Fetching rspec 3.10.0
Installing rspec 3.10.0
Fetching json_spec 1.1.5
Installing json_spec 1.1.5
Fetching launchy 2.5.0
Installing launchy 2.5.0
Fetching little-plugger 1.1.4
Installing little-plugger 1.1.4
Fetching logging 2.3.0
Installing logging 2.3.0
Fetching method_source 1.0.0
Installing method_source 1.0.0
Fetching opencensus 0.5.0
Installing opencensus 0.5.0
Fetching parallel 1.20.1
Installing parallel 1.20.1
Fetching parser 2.7.2.0
Installing parser 2.7.2.0
Fetching powerpack 0.1.3
Installing powerpack 0.1.3
Fetching pry 0.13.1
Installing pry 0.13.1
Fetching pry-byebug 3.9.0
Installing pry-byebug 3.9.0
Fetching yard 0.9.26
Installing yard 0.9.26
Fetching pry-doc 0.13.5
Installing pry-doc 0.13.5
Fetching rainbow 2.2.2
Installing rainbow 2.2.2 with native extensions
Fetching redcarpet 3.5.1
Installing redcarpet 3.5.1 with native extensions
Fetching redis 3.3.5
Installing redis 3.3.5
Fetching rmail 1.1.4
Installing rmail 1.1.4
Fetching ruby-progressbar 1.11.0
Installing ruby-progressbar 1.11.0
Fetching unicode-display_width 1.7.0
Installing unicode-display_width 1.7.0
Fetching rubocop 0.49.1
Installing rubocop 0.49.1
Fetching webmock 2.3.2
Installing webmock 2.3.2
Bundle complete! 25 Gemfile dependencies, 81 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
Post-install message from i18n:
HEADS UP! i18n 1.1 changed fallbacks to exclude default locale.
But that may break your application.
If you are upgrading your Rails application from an older version of Rails:
Please check your Rails app for 'config.i18n.fallbacks = true'.
If you're using I18n (>= 1.1.0) and Rails (< 5.2.2), this should be
'config.i18n.fallbacks = [I18n.default_locale]'.
If not, fallbacks will be broken in your app by I18n 1.1.x.
If you are starting a NEW Rails application, you can ignore this notice.
For more info see:
https://github.com/svenfuchs/i18n/releases/tag/v1.1.0
Post-install message from httparty:
When you HTTParty, you must party hard!
echo a | bundle exec bin/generate-api gen /workspace/generated --api=displayvideo.v1 --names=/workspace/api_names.yaml --names-out=/workspace/api_names_out.yaml --spot-check
Loading displayvideo, version v1 from https://raw.githubusercontent.com/googleapis/discovery-artifact-manager/master/discoveries/displayvideo.v1.json
conflict google-apis-displayvideo_v1/lib/google/apis/displayvideo_v1/classes.rb
<ideo_v1/classes.rb? (enter "h" for help) [Ynaqdhm] a
force google-apis-displayvideo_v1/lib/google/apis/displayvideo_v1/classes.rb
conflict google-apis-displayvideo_v1/lib/google/apis/displayvideo_v1/gem_version.rb
force google-apis-displayvideo_v1/lib/google/apis/displayvideo_v1/gem_version.rb
conflict google-apis-displayvideo_v1/CHANGELOG.md
force google-apis-displayvideo_v1/CHANGELOG.md
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and
installing your bundle as root will break this application for all non-root
users on this machine.
The dependency jruby-openssl (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for java. To add those platforms to the bundle, run `bundle lock --add-platform java`.
Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Fetching rake 13.0.3
Installing rake 13.0.3
Using public_suffix 4.0.6
Using addressable 2.7.0
Using bundler 2.1.4
Using declarative 0.0.20
Using declarative-option 0.1.0
Using diff-lcs 1.4.4
Using faraday-net_http 1.0.1
Using multipart-post 2.1.1
Using ruby2_keywords 0.0.2
Using faraday 1.3.0
Using jwt 2.2.2
Using memoist 0.16.2
Using multi_json 1.15.0
Fetching os 1.1.1
Installing os 1.1.1
Using signet 0.14.0
Using googleauth 0.14.0
Using httpclient 2.8.3
Using mini_mime 1.0.2
Using uber 0.1.0
Using representable 3.0.4
Using retriable 3.1.2
Using rexml 3.2.4
Using google-apis-core 0.2.0
Using google-apis-displayvideo_v1 0.2.0 from source at `.`
Using opencensus 0.5.0
Using redcarpet 3.5.1
Using rspec-support 3.10.1
Using rspec-core 3.10.1
Using rspec-expectations 3.10.1
Using rspec-mocks 3.10.1
Using rspec 3.10.0
Using yard 0.9.26
Bundle complete! 8 Gemfile dependencies, 33 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
/root/.rbenv/versions/2.6.6/bin/ruby -I/root/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rspec-core-3.10.1/lib:/root/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rspec-support-3.10.1/lib /root/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rspec-core-3.10.1/exe/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb
Google::Apis::DisplayvideoV1
should load
Finished in 0.3812 seconds (files took 0.10633 seconds to load)
1 example, 0 failures
Files: 4
Modules: 3 ( 1 undocumented)
Classes: 229 ( 23 undocumented)
Constants: 8 ( 0 undocumented)
Attributes: 440 ( 0 undocumented)
Methods: 577 ( 0 undocumented)
98.09% documented
google-apis-displayvideo_v1 0.2.0 built to pkg/google-apis-displayvideo_v1-0.2.0.gem.
identical /workspace/api_names_out.yaml
2021-01-13 02:28:20,953 synthtool [DEBUG] > Wrote metadata to generated/google-apis-displayvideo_v1/synth.metadata.
DEBUG:synthtool:Wrote metadata to generated/google-apis-displayvideo_v1/synth.metadata.
```
</details>
Full log will be available here:
https://source.cloud.google.com/results/invocations/2c9a7f94-8490-460d-bb8a-c9c25cb6fec9/targets
- [ ] To automatically regenerate this PR, check this box.
2021-01-13 10:42:03 +00:00
|
|
|
|
# PERFORMANCE_GOAL_TYPE_CPIAVC` * `PERFORMANCE_GOAL_TYPE_VCPM` For example
|
|
|
|
|
# 1500000 represents 1.5 standard units of the currency.
|
2021-01-01 03:01:13 +00:00
|
|
|
|
# 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` * `
|
feat: Automated regeneration of displayvideo v1 client (#2377)
This PR was generated using Autosynth. :rainbow:
<details><summary>Log from Synthtool</summary>
```
2021-01-13 02:27:29,414 synthtool [DEBUG] > Executing /home/kbuilder/.cache/synthtool/google-api-ruby-client/synth.py.
On branch autosynth-displayvideo-v1
nothing to commit, working tree clean
2021-01-13 02:27:29,485 synthtool [DEBUG] > Running: docker run --rm -v/home/kbuilder/.cache/synthtool/google-api-ruby-client:/workspace -v/var/run/docker.sock:/var/run/docker.sock -w /workspace --entrypoint script/synth.rb gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/autosynth displayvideo v1
DEBUG:synthtool:Running: docker run --rm -v/home/kbuilder/.cache/synthtool/google-api-ruby-client:/workspace -v/var/run/docker.sock:/var/run/docker.sock -w /workspace --entrypoint script/synth.rb gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/autosynth displayvideo v1
git clean -df
bundle install
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and
installing your bundle as root will break this application for all non-root
users on this machine.
The dependency jruby-openssl (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for java. To add those platforms to the bundle, run `bundle lock --add-platform java`.
Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Fetching rake 11.3.0
Installing rake 11.3.0
Fetching concurrent-ruby 1.1.7
Installing concurrent-ruby 1.1.7
Fetching i18n 1.8.7
Installing i18n 1.8.7
Fetching minitest 5.14.3
Installing minitest 5.14.3
Fetching tzinfo 2.0.4
Installing tzinfo 2.0.4
Fetching zeitwerk 2.4.2
Installing zeitwerk 2.4.2
Fetching activesupport 6.1.1
Installing activesupport 6.1.1
Fetching public_suffix 4.0.6
Installing public_suffix 4.0.6
Fetching addressable 2.7.0
Installing addressable 2.7.0
Fetching ast 2.4.1
Installing ast 2.4.1
Using bundler 2.1.4
Fetching byebug 11.1.3
Installing byebug 11.1.3 with native extensions
Fetching coderay 1.1.3
Installing coderay 1.1.3
Fetching json 2.5.1
Installing json 2.5.1 with native extensions
Fetching docile 1.3.4
Installing docile 1.3.4
Fetching simplecov-html 0.10.2
Installing simplecov-html 0.10.2
Fetching simplecov 0.16.1
Installing simplecov 0.16.1
Using sync 0.5.0
Fetching tins 1.28.0
Installing tins 1.28.0
Fetching term-ansicolor 1.7.1
Installing term-ansicolor 1.7.1
Fetching thor 0.20.3
Installing thor 0.20.3
Fetching coveralls 0.8.23
Installing coveralls 0.8.23
Fetching rexml 3.2.4
Installing rexml 3.2.4
Fetching crack 0.4.5
Installing crack 0.4.5
Fetching declarative 0.0.20
Installing declarative 0.0.20
Fetching declarative-option 0.1.0
Installing declarative-option 0.1.0
Fetching diff-lcs 1.4.4
Installing diff-lcs 1.4.4
Fetching dotenv 2.7.6
Installing dotenv 2.7.6
Fetching fakefs 0.20.1
Installing fakefs 0.20.1
Fetching faraday-net_http 1.0.1
Installing faraday-net_http 1.0.1
Fetching multipart-post 2.1.1
Installing multipart-post 2.1.1
Fetching ruby2_keywords 0.0.2
Installing ruby2_keywords 0.0.2
Fetching faraday 1.3.0
Installing faraday 1.3.0
Fetching gems 1.2.0
Installing gems 1.2.0
Fetching github-markup 1.7.0
Installing github-markup 1.7.0
Fetching jwt 2.2.2
Installing jwt 2.2.2
Fetching memoist 0.16.2
Installing memoist 0.16.2
Fetching multi_json 1.15.0
Installing multi_json 1.15.0
Fetching os 0.9.6
Installing os 0.9.6
Fetching signet 0.14.0
Installing signet 0.14.0
Fetching googleauth 0.14.0
Installing googleauth 0.14.0
Fetching httpclient 2.8.3
Installing httpclient 2.8.3
Fetching mini_mime 1.0.2
Installing mini_mime 1.0.2
Fetching uber 0.1.0
Installing uber 0.1.0
Fetching representable 3.0.4
Installing representable 3.0.4
Fetching retriable 3.1.2
Installing retriable 3.1.2
Fetching google-apis-core 0.2.0
Installing google-apis-core 0.2.0
Fetching google-apis-discovery_v1 0.1.0
Installing google-apis-discovery_v1 0.1.0
Using google-apis-generator 0.1.1 from source at `.`
Fetching google-id-token 1.4.2
Installing google-id-token 1.4.2
Fetching hashdiff 1.0.1
Installing hashdiff 1.0.1
Fetching mime-types-data 3.2020.1104
Installing mime-types-data 3.2020.1104
Fetching mime-types 3.3.1
Installing mime-types 3.3.1
Fetching multi_xml 0.6.0
Installing multi_xml 0.6.0
Fetching httparty 0.18.1
Installing httparty 0.18.1
Fetching rspec-support 3.10.1
Installing rspec-support 3.10.1
Fetching rspec-core 3.10.1
Installing rspec-core 3.10.1
Fetching rspec-expectations 3.10.1
Installing rspec-expectations 3.10.1
Fetching rspec-mocks 3.10.1
Installing rspec-mocks 3.10.1
Fetching rspec 3.10.0
Installing rspec 3.10.0
Fetching json_spec 1.1.5
Installing json_spec 1.1.5
Fetching launchy 2.5.0
Installing launchy 2.5.0
Fetching little-plugger 1.1.4
Installing little-plugger 1.1.4
Fetching logging 2.3.0
Installing logging 2.3.0
Fetching method_source 1.0.0
Installing method_source 1.0.0
Fetching opencensus 0.5.0
Installing opencensus 0.5.0
Fetching parallel 1.20.1
Installing parallel 1.20.1
Fetching parser 2.7.2.0
Installing parser 2.7.2.0
Fetching powerpack 0.1.3
Installing powerpack 0.1.3
Fetching pry 0.13.1
Installing pry 0.13.1
Fetching pry-byebug 3.9.0
Installing pry-byebug 3.9.0
Fetching yard 0.9.26
Installing yard 0.9.26
Fetching pry-doc 0.13.5
Installing pry-doc 0.13.5
Fetching rainbow 2.2.2
Installing rainbow 2.2.2 with native extensions
Fetching redcarpet 3.5.1
Installing redcarpet 3.5.1 with native extensions
Fetching redis 3.3.5
Installing redis 3.3.5
Fetching rmail 1.1.4
Installing rmail 1.1.4
Fetching ruby-progressbar 1.11.0
Installing ruby-progressbar 1.11.0
Fetching unicode-display_width 1.7.0
Installing unicode-display_width 1.7.0
Fetching rubocop 0.49.1
Installing rubocop 0.49.1
Fetching webmock 2.3.2
Installing webmock 2.3.2
Bundle complete! 25 Gemfile dependencies, 81 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
Post-install message from i18n:
HEADS UP! i18n 1.1 changed fallbacks to exclude default locale.
But that may break your application.
If you are upgrading your Rails application from an older version of Rails:
Please check your Rails app for 'config.i18n.fallbacks = true'.
If you're using I18n (>= 1.1.0) and Rails (< 5.2.2), this should be
'config.i18n.fallbacks = [I18n.default_locale]'.
If not, fallbacks will be broken in your app by I18n 1.1.x.
If you are starting a NEW Rails application, you can ignore this notice.
For more info see:
https://github.com/svenfuchs/i18n/releases/tag/v1.1.0
Post-install message from httparty:
When you HTTParty, you must party hard!
echo a | bundle exec bin/generate-api gen /workspace/generated --api=displayvideo.v1 --names=/workspace/api_names.yaml --names-out=/workspace/api_names_out.yaml --spot-check
Loading displayvideo, version v1 from https://raw.githubusercontent.com/googleapis/discovery-artifact-manager/master/discoveries/displayvideo.v1.json
conflict google-apis-displayvideo_v1/lib/google/apis/displayvideo_v1/classes.rb
<ideo_v1/classes.rb? (enter "h" for help) [Ynaqdhm] a
force google-apis-displayvideo_v1/lib/google/apis/displayvideo_v1/classes.rb
conflict google-apis-displayvideo_v1/lib/google/apis/displayvideo_v1/gem_version.rb
force google-apis-displayvideo_v1/lib/google/apis/displayvideo_v1/gem_version.rb
conflict google-apis-displayvideo_v1/CHANGELOG.md
force google-apis-displayvideo_v1/CHANGELOG.md
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and
installing your bundle as root will break this application for all non-root
users on this machine.
The dependency jruby-openssl (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for java. To add those platforms to the bundle, run `bundle lock --add-platform java`.
Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Fetching rake 13.0.3
Installing rake 13.0.3
Using public_suffix 4.0.6
Using addressable 2.7.0
Using bundler 2.1.4
Using declarative 0.0.20
Using declarative-option 0.1.0
Using diff-lcs 1.4.4
Using faraday-net_http 1.0.1
Using multipart-post 2.1.1
Using ruby2_keywords 0.0.2
Using faraday 1.3.0
Using jwt 2.2.2
Using memoist 0.16.2
Using multi_json 1.15.0
Fetching os 1.1.1
Installing os 1.1.1
Using signet 0.14.0
Using googleauth 0.14.0
Using httpclient 2.8.3
Using mini_mime 1.0.2
Using uber 0.1.0
Using representable 3.0.4
Using retriable 3.1.2
Using rexml 3.2.4
Using google-apis-core 0.2.0
Using google-apis-displayvideo_v1 0.2.0 from source at `.`
Using opencensus 0.5.0
Using redcarpet 3.5.1
Using rspec-support 3.10.1
Using rspec-core 3.10.1
Using rspec-expectations 3.10.1
Using rspec-mocks 3.10.1
Using rspec 3.10.0
Using yard 0.9.26
Bundle complete! 8 Gemfile dependencies, 33 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
/root/.rbenv/versions/2.6.6/bin/ruby -I/root/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rspec-core-3.10.1/lib:/root/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rspec-support-3.10.1/lib /root/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rspec-core-3.10.1/exe/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb
Google::Apis::DisplayvideoV1
should load
Finished in 0.3812 seconds (files took 0.10633 seconds to load)
1 example, 0 failures
Files: 4
Modules: 3 ( 1 undocumented)
Classes: 229 ( 23 undocumented)
Constants: 8 ( 0 undocumented)
Attributes: 440 ( 0 undocumented)
Methods: 577 ( 0 undocumented)
98.09% documented
google-apis-displayvideo_v1 0.2.0 built to pkg/google-apis-displayvideo_v1-0.2.0.gem.
identical /workspace/api_names_out.yaml
2021-01-13 02:28:20,953 synthtool [DEBUG] > Wrote metadata to generated/google-apis-displayvideo_v1/synth.metadata.
DEBUG:synthtool:Wrote metadata to generated/google-apis-displayvideo_v1/synth.metadata.
```
</details>
Full log will be available here:
https://source.cloud.google.com/results/invocations/2c9a7f94-8490-460d-bb8a-c9c25cb6fec9/targets
- [ ] To automatically regenerate this PR, check this box.
2021-01-13 10:42:03 +00:00
|
|
|
|
# PERFORMANCE_GOAL_TYPE_VIEWABILITY` * `PERFORMANCE_GOAL_TYPE_CVR_CLICKS` * `
|
|
|
|
|
# PERFORMANCE_GOAL_TYPE_CVR_IMPRESSIONS` * `PERFORMANCE_GOAL_TYPE_VTR` * `
|
|
|
|
|
# PERFORMANCE_GOAL_TYPE_AUDIO_COMPLETION_RATE` * `
|
|
|
|
|
# PERFORMANCE_GOAL_TYPE_VIDEO_COMPLETION_RATE` For example, 70000 represents 7% (
|
|
|
|
|
# decimal 0.07).
|
2021-01-01 03:01:13 +00:00
|
|
|
|
# Corresponds to the JSON property `performanceGoalPercentageMicros`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :performance_goal_percentage_micros
|
|
|
|
|
|
|
|
|
|
# A key performance indicator (KPI) string, which can be empty. Must be UTF-8
|
|
|
|
|
# encoded with a length of no more than 100 characters. Applicable when
|
|
|
|
|
# performance_goal_type is set to `PERFORMANCE_GOAL_TYPE_OTHER`.
|
|
|
|
|
# Corresponds to the JSON property `performanceGoalString`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :performance_goal_string
|
|
|
|
|
|
|
|
|
|
# Required. The type of the performance goal.
|
|
|
|
|
# Corresponds to the JSON property `performanceGoalType`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :performance_goal_type
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@performance_goal_amount_micros = args[:performance_goal_amount_micros] if args.key?(:performance_goal_amount_micros)
|
|
|
|
|
@performance_goal_percentage_micros = args[:performance_goal_percentage_micros] if args.key?(:performance_goal_percentage_micros)
|
|
|
|
|
@performance_goal_string = args[:performance_goal_string] if args.key?(:performance_goal_string)
|
|
|
|
|
@performance_goal_type = args[:performance_goal_type] if args.key?(:performance_goal_type)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# A strategy that automatically adjusts the bid to meet or beat a specified
|
|
|
|
|
# performance goal.
|
|
|
|
|
class PerformanceGoalBidStrategy
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The ID of the Custom Bidding Algorithm used by this strategy. Only applicable
|
|
|
|
|
# when performance_goal_type is set to `
|
|
|
|
|
# BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.
|
|
|
|
|
# Corresponds to the JSON property `customBiddingAlgorithmId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :custom_bidding_algorithm_id
|
|
|
|
|
|
|
|
|
|
# The maximum average CPM that may be bid, in micros of the advertiser's
|
|
|
|
|
# currency. Must be greater than or equal to a billable unit of the given
|
|
|
|
|
# currency. Not applicable when performance_goal_type is set to `
|
|
|
|
|
# BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`. For example, 1500000
|
|
|
|
|
# represents 1.5 standard units of the currency.
|
|
|
|
|
# Corresponds to the JSON property `maxAverageCpmBidAmountMicros`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :max_average_cpm_bid_amount_micros
|
|
|
|
|
|
|
|
|
|
# Required. The performance goal the bidding strategy will attempt to meet or
|
|
|
|
|
# beat, in micros of the advertiser's currency or in micro of the ROAS (Return
|
|
|
|
|
# On Advertising Spend) value which is also based on advertiser's currency. Must
|
|
|
|
|
# be greater than or equal to a billable unit of the given currency and smaller
|
|
|
|
|
# or equal to upper bounds. Each performance_goal_type has its upper bound: *
|
|
|
|
|
# when performance_goal_type is `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA`,
|
|
|
|
|
# upper bound is 10000.00 USD. * when performance_goal_type is `
|
|
|
|
|
# BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC`, upper bound is 1000.00 USD. *
|
|
|
|
|
# when performance_goal_type is `
|
|
|
|
|
# BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`, upper bound is 1000.00
|
|
|
|
|
# USD. * when performance_goal_type is `
|
|
|
|
|
# BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`, upper bound is 1000.00
|
|
|
|
|
# and lower bound is 0.01. Example: If set to `
|
|
|
|
|
# BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`, the bid price will be
|
|
|
|
|
# based on the probability that each available impression will be viewable. For
|
|
|
|
|
# example, if viewable CPM target is $2 and an impression is 40% likely to be
|
|
|
|
|
# viewable, the bid price will be $0.80 CPM (40% of $2). For example, 1500000
|
|
|
|
|
# represents 1.5 standard units of the currency or ROAS value.
|
|
|
|
|
# Corresponds to the JSON property `performanceGoalAmountMicros`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :performance_goal_amount_micros
|
|
|
|
|
|
|
|
|
|
# Required. The type of the performance goal that the bidding strategy will try
|
|
|
|
|
# to meet or beat. For line item level usage, the value must be one of: * `
|
|
|
|
|
# BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA` * `
|
|
|
|
|
# BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC` * `
|
|
|
|
|
# BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` * `
|
|
|
|
|
# BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.
|
|
|
|
|
# Corresponds to the JSON property `performanceGoalType`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :performance_goal_type
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@custom_bidding_algorithm_id = args[:custom_bidding_algorithm_id] if args.key?(:custom_bidding_algorithm_id)
|
|
|
|
|
@max_average_cpm_bid_amount_micros = args[:max_average_cpm_bid_amount_micros] if args.key?(:max_average_cpm_bid_amount_micros)
|
|
|
|
|
@performance_goal_amount_micros = args[:performance_goal_amount_micros] if args.key?(:performance_goal_amount_micros)
|
|
|
|
|
@performance_goal_type = args[:performance_goal_type] if args.key?(:performance_goal_type)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Targeting details for proximity location list. This will be populated in the
|
|
|
|
|
# details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.
|
|
|
|
|
class ProximityLocationListAssignedTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Required. ID of the proximity location list. Should refer to the
|
|
|
|
|
# location_list_id field of a LocationList resource whose type is `
|
|
|
|
|
# TARGETING_LOCATION_TYPE_PROXIMITY`.
|
|
|
|
|
# Corresponds to the JSON property `proximityLocationListId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :proximity_location_list_id
|
|
|
|
|
|
|
|
|
|
# Required. Radius range for proximity location list. This represents the size
|
|
|
|
|
# of the area around a chosen location that will be targeted. `All` proximity
|
|
|
|
|
# location targeting under a single line item must have the same radius range
|
|
|
|
|
# value. Set this value to match any existing targeting. If updated, this field
|
|
|
|
|
# will change the radius range for all proximity targeting under the line item.
|
|
|
|
|
# Corresponds to the JSON property `proximityRadiusRange`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :proximity_radius_range
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@proximity_location_list_id = args[:proximity_location_list_id] if args.key?(:proximity_location_list_id)
|
|
|
|
|
@proximity_radius_range = args[:proximity_radius_range] if args.key?(:proximity_radius_range)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Publisher review status for the creative.
|
|
|
|
|
class PublisherReviewStatus
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The publisher reviewing the creative.
|
|
|
|
|
# Corresponds to the JSON property `publisherName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :publisher_name
|
|
|
|
|
|
|
|
|
|
# Status of the publisher review.
|
|
|
|
|
# Corresponds to the JSON property `status`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :status
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@publisher_name = args[:publisher_name] if args.key?(:publisher_name)
|
|
|
|
|
@status = args[:status] if args.key?(:status)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# The rate related settings of the inventory source.
|
|
|
|
|
class RateDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The rate type. Acceptable values are `INVENTORY_SOURCE_RATE_TYPE_CPM_FIXED`, `
|
|
|
|
|
# INVENTORY_SOURCE_RATE_TYPE_CPM_FLOOR`, and `INVENTORY_SOURCE_RATE_TYPE_CPD`.
|
|
|
|
|
# Corresponds to the JSON property `inventorySourceRateType`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :inventory_source_rate_type
|
|
|
|
|
|
|
|
|
|
# Represents an amount of money with its currency type.
|
|
|
|
|
# Corresponds to the JSON property `minimumSpend`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::Money]
|
|
|
|
|
attr_accessor :minimum_spend
|
|
|
|
|
|
|
|
|
|
# Represents an amount of money with its currency type.
|
|
|
|
|
# Corresponds to the JSON property `rate`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::Money]
|
|
|
|
|
attr_accessor :rate
|
|
|
|
|
|
|
|
|
|
# Required for guaranteed inventory sources. The number of impressions
|
|
|
|
|
# guaranteed by the seller.
|
|
|
|
|
# Corresponds to the JSON property `unitsPurchased`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :units_purchased
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@inventory_source_rate_type = args[:inventory_source_rate_type] if args.key?(:inventory_source_rate_type)
|
|
|
|
|
@minimum_spend = args[:minimum_spend] if args.key?(:minimum_spend)
|
|
|
|
|
@rate = args[:rate] if args.key?(:rate)
|
|
|
|
|
@units_purchased = args[:units_purchased] if args.key?(:units_purchased)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Targeting details for regional location list. This will be populated in the
|
|
|
|
|
# details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_REGIONAL_LOCATION_LIST`.
|
|
|
|
|
class RegionalLocationListAssignedTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Indicates if this option is being negatively targeted.
|
|
|
|
|
# Corresponds to the JSON property `negative`
|
|
|
|
|
# @return [Boolean]
|
|
|
|
|
attr_accessor :negative
|
|
|
|
|
alias_method :negative?, :negative
|
|
|
|
|
|
|
|
|
|
# Required. ID of the regional location list. Should refer to the
|
|
|
|
|
# location_list_id field of a LocationList resource whose type is `
|
|
|
|
|
# TARGETING_LOCATION_TYPE_REGIONAL`.
|
|
|
|
|
# Corresponds to the JSON property `regionalLocationListId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :regional_location_list_id
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@negative = args[:negative] if args.key?(:negative)
|
|
|
|
|
@regional_location_list_id = args[:regional_location_list_id] if args.key?(:regional_location_list_id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Review statuses for the creative.
|
|
|
|
|
class ReviewStatusInfo
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Represents the basic approval needed for a creative to begin serving. Summary
|
|
|
|
|
# of creative_and_landing_page_review_status and
|
|
|
|
|
# content_and_policy_review_status.
|
|
|
|
|
# Corresponds to the JSON property `approvalStatus`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :approval_status
|
|
|
|
|
|
|
|
|
|
# Content and policy review status for the creative.
|
|
|
|
|
# Corresponds to the JSON property `contentAndPolicyReviewStatus`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :content_and_policy_review_status
|
|
|
|
|
|
|
|
|
|
# Creative and landing page review status for the creative.
|
|
|
|
|
# Corresponds to the JSON property `creativeAndLandingPageReviewStatus`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :creative_and_landing_page_review_status
|
|
|
|
|
|
|
|
|
|
# Exchange review statuses for the creative.
|
|
|
|
|
# Corresponds to the JSON property `exchangeReviewStatuses`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::ExchangeReviewStatus>]
|
|
|
|
|
attr_accessor :exchange_review_statuses
|
|
|
|
|
|
|
|
|
|
# Publisher review statuses for the creative.
|
|
|
|
|
# Corresponds to the JSON property `publisherReviewStatuses`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::PublisherReviewStatus>]
|
|
|
|
|
attr_accessor :publisher_review_statuses
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@approval_status = args[:approval_status] if args.key?(:approval_status)
|
|
|
|
|
@content_and_policy_review_status = args[:content_and_policy_review_status] if args.key?(:content_and_policy_review_status)
|
|
|
|
|
@creative_and_landing_page_review_status = args[:creative_and_landing_page_review_status] if args.key?(:creative_and_landing_page_review_status)
|
|
|
|
|
@exchange_review_statuses = args[:exchange_review_statuses] if args.key?(:exchange_review_statuses)
|
|
|
|
|
@publisher_review_statuses = args[:publisher_review_statuses] if args.key?(:publisher_review_statuses)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Structured Data File (SDF) related settings.
|
|
|
|
|
class SdfConfig
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# An administrator email address to which the SDF processing status reports will
|
|
|
|
|
# be sent.
|
|
|
|
|
# Corresponds to the JSON property `adminEmail`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :admin_email
|
|
|
|
|
|
|
|
|
|
# Required. The version of SDF being used.
|
|
|
|
|
# Corresponds to the JSON property `version`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :version
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@admin_email = args[:admin_email] if args.key?(:admin_email)
|
|
|
|
|
@version = args[:version] if args.key?(:version)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Type for the response returned by [SdfDownloadTaskService.
|
|
|
|
|
# CreateSdfDownloadTask].
|
|
|
|
|
class SdfDownloadTask
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# A resource name to be used in media.download to Download the prepared files.
|
|
|
|
|
# Resource names have the format `download/sdfdownloadtasks/media/`media_id``. `
|
|
|
|
|
# media_id` will be made available by the long running operation service once
|
|
|
|
|
# the task status is done.
|
|
|
|
|
# Corresponds to the JSON property `resourceName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :resource_name
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@resource_name = args[:resource_name] if args.key?(:resource_name)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Type for the metadata returned by [SdfDownloadTaskService.
|
|
|
|
|
# CreateSdfDownloadTask].
|
|
|
|
|
class SdfDownloadTaskMetadata
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The time when the operation was created.
|
|
|
|
|
# Corresponds to the JSON property `createTime`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :create_time
|
|
|
|
|
|
|
|
|
|
# The time when execution was completed.
|
|
|
|
|
# Corresponds to the JSON property `endTime`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :end_time
|
|
|
|
|
|
|
|
|
|
# The SDF version used to execute this download task.
|
|
|
|
|
# Corresponds to the JSON property `version`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :version
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@create_time = args[:create_time] if args.key?(:create_time)
|
|
|
|
|
@end_time = args[:end_time] if args.key?(:end_time)
|
|
|
|
|
@version = args[:version] if args.key?(:version)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Request message for SearchTargetingOptions.
|
|
|
|
|
class SearchTargetingOptionsRequest
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Required. The Advertiser this request is being made in the context of.
|
|
|
|
|
# Corresponds to the JSON property `advertiserId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :advertiser_id
|
|
|
|
|
|
|
|
|
|
# Search terms for geo region targeting options.
|
|
|
|
|
# Corresponds to the JSON property `geoRegionSearchTerms`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::GeoRegionSearchTerms]
|
|
|
|
|
attr_accessor :geo_region_search_terms
|
|
|
|
|
|
|
|
|
|
# Requested page size. Must be between `1` and `100`. If unspecified will
|
|
|
|
|
# default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is
|
|
|
|
|
# specified.
|
|
|
|
|
# Corresponds to the JSON property `pageSize`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :page_size
|
|
|
|
|
|
|
|
|
|
# A token identifying a page of results the server should return. Typically,
|
|
|
|
|
# this is the value of next_page_token returned from the previous call to `
|
|
|
|
|
# SearchTargetingOptions` method. If not specified, the first page of results
|
|
|
|
|
# will be returned.
|
|
|
|
|
# Corresponds to the JSON property `pageToken`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :page_token
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@advertiser_id = args[:advertiser_id] if args.key?(:advertiser_id)
|
|
|
|
|
@geo_region_search_terms = args[:geo_region_search_terms] if args.key?(:geo_region_search_terms)
|
|
|
|
|
@page_size = args[:page_size] if args.key?(:page_size)
|
|
|
|
|
@page_token = args[:page_token] if args.key?(:page_token)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Response message for SearchTargetingOptionsResponse.
|
|
|
|
|
class SearchTargetingOptionsResponse
|
|
|
|
|
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 `SearchTargetingOptions` 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 that match the search criteria. 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
|
|
|
|
|
|
|
|
|
|
# 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
|
|
|
|
|
|
|
|
|
|
# Settings that control the targeting expansion of the line item. Targeting
|
|
|
|
|
# expansion allows the line item to reach a larger audience based on the
|
|
|
|
|
# original audience list and the targeting expansion level.
|
|
|
|
|
class TargetingExpansionConfig
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Required. Whether to exclude first party audiences from targeting. Similar
|
|
|
|
|
# audiences of the excluded first party lists will not be excluded. Only
|
|
|
|
|
# applicable when a first-party audience is positively targeted (directly or
|
|
|
|
|
# included in a combined audience), otherwise this selection will be ignored.
|
|
|
|
|
# Corresponds to the JSON property `excludeFirstPartyAudience`
|
|
|
|
|
# @return [Boolean]
|
|
|
|
|
attr_accessor :exclude_first_party_audience
|
|
|
|
|
alias_method :exclude_first_party_audience?, :exclude_first_party_audience
|
|
|
|
|
|
|
|
|
|
# Required. Magnitude of expansion for applicable targeting under this line item.
|
|
|
|
|
# Corresponds to the JSON property `targetingExpansionLevel`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :targeting_expansion_level
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@exclude_first_party_audience = args[:exclude_first_party_audience] if args.key?(:exclude_first_party_audience)
|
|
|
|
|
@targeting_expansion_level = args[:targeting_expansion_level] if args.key?(:targeting_expansion_level)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Represents a single targeting option, which is a targetable concept in DV360.
|
|
|
|
|
class TargetingOption
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Represents a targetable age range. This will be populated in the
|
|
|
|
|
# age_range_details field when targeting_type is `TARGETING_TYPE_AGE_RANGE`.
|
|
|
|
|
# Corresponds to the JSON property `ageRangeDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::AgeRangeTargetingOptionDetails]
|
|
|
|
|
attr_accessor :age_range_details
|
|
|
|
|
|
|
|
|
|
# Represents a targetable collection of apps. A collection lets you target
|
|
|
|
|
# dynamic groups of related apps that are maintained by the platform, for
|
|
|
|
|
# example `All Apps/Google Play/Games`. This will be populated in the
|
|
|
|
|
# app_category_details field when targeting_type is `TARGETING_TYPE_APP_CATEGORY`
|
|
|
|
|
# .
|
|
|
|
|
# Corresponds to the JSON property `appCategoryDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::AppCategoryTargetingOptionDetails]
|
|
|
|
|
attr_accessor :app_category_details
|
|
|
|
|
|
|
|
|
|
# Represents a targetable authorized seller status. This will be populated in
|
|
|
|
|
# the authorized_seller_status_details field when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.
|
|
|
|
|
# Corresponds to the JSON property `authorizedSellerStatusDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::AuthorizedSellerStatusTargetingOptionDetails]
|
|
|
|
|
attr_accessor :authorized_seller_status_details
|
|
|
|
|
|
|
|
|
|
# Represents a targetable browser. This will be populated in the browser_details
|
|
|
|
|
# field when targeting_type is `TARGETING_TYPE_BROWSER`.
|
|
|
|
|
# Corresponds to the JSON property `browserDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::BrowserTargetingOptionDetails]
|
|
|
|
|
attr_accessor :browser_details
|
|
|
|
|
|
|
|
|
|
# Represents a targetable carrier or ISP. This will be populated in the
|
|
|
|
|
# carrier_and_isp_details field of a TargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_CARRIER_AND_ISP`.
|
|
|
|
|
# Corresponds to the JSON property `carrierAndIspDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::CarrierAndIspTargetingOptionDetails]
|
|
|
|
|
attr_accessor :carrier_and_isp_details
|
|
|
|
|
|
|
|
|
|
# Represents a targetable category. This will be populated in the
|
|
|
|
|
# category_details field of a TargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_CATEGORY`.
|
|
|
|
|
# Corresponds to the JSON property `categoryDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::CategoryTargetingOptionDetails]
|
|
|
|
|
attr_accessor :category_details
|
|
|
|
|
|
|
|
|
|
# Represents a targetable content instream position, which could be used by
|
|
|
|
|
# video and audio ads. This will be populated in the
|
|
|
|
|
# content_instream_position_details field when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.
|
|
|
|
|
# Corresponds to the JSON property `contentInstreamPositionDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::ContentInstreamPositionTargetingOptionDetails]
|
|
|
|
|
attr_accessor :content_instream_position_details
|
|
|
|
|
|
|
|
|
|
# Represents a targetable content outstream position, which could be used by
|
|
|
|
|
# display and video ads. This will be populated in the
|
|
|
|
|
# content_outstream_position_details field when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.
|
|
|
|
|
# Corresponds to the JSON property `contentOutstreamPositionDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::ContentOutstreamPositionTargetingOptionDetails]
|
|
|
|
|
attr_accessor :content_outstream_position_details
|
|
|
|
|
|
|
|
|
|
# Represents a targetable device make and model. This will be populated in the
|
|
|
|
|
# device_make_model_details field of a TargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_DEVICE_MAKE_MODEL`.
|
|
|
|
|
# Corresponds to the JSON property `deviceMakeModelDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::DeviceMakeModelTargetingOptionDetails]
|
|
|
|
|
attr_accessor :device_make_model_details
|
|
|
|
|
|
|
|
|
|
# Represents a targetable device type. This will be populated in the
|
|
|
|
|
# device_type_details field of a TargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_DEVICE_TYPE`.
|
|
|
|
|
# Corresponds to the JSON property `deviceTypeDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::DeviceTypeTargetingOptionDetails]
|
|
|
|
|
attr_accessor :device_type_details
|
|
|
|
|
|
|
|
|
|
# Represents a targetable digital content label rating tier. This will be
|
|
|
|
|
# populated in the digital_content_label_details field of the TargetingOption
|
|
|
|
|
# when targeting_type is `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`.
|
|
|
|
|
# Corresponds to the JSON property `digitalContentLabelDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::DigitalContentLabelTargetingOptionDetails]
|
|
|
|
|
attr_accessor :digital_content_label_details
|
|
|
|
|
|
|
|
|
|
# Represents a targetable environment. This will be populated in the
|
|
|
|
|
# environment_details field of a TargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_ENVIRONMENT`.
|
|
|
|
|
# Corresponds to the JSON property `environmentDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::EnvironmentTargetingOptionDetails]
|
|
|
|
|
attr_accessor :environment_details
|
|
|
|
|
|
|
|
|
|
# Represents a targetable exchange. This will be populated in the
|
|
|
|
|
# exchange_details field of a TargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_EXCHANGE`.
|
|
|
|
|
# Corresponds to the JSON property `exchangeDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::ExchangeTargetingOptionDetails]
|
|
|
|
|
attr_accessor :exchange_details
|
|
|
|
|
|
|
|
|
|
# Represents a targetable gender. This will be populated in the gender_details
|
|
|
|
|
# field of a TargetingOption when targeting_type is `TARGETING_TYPE_GENDER`.
|
|
|
|
|
# Corresponds to the JSON property `genderDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::GenderTargetingOptionDetails]
|
|
|
|
|
attr_accessor :gender_details
|
|
|
|
|
|
|
|
|
|
# Represents a targetable geographic region. This will be populated in the
|
|
|
|
|
# geo_region_details field when targeting_type is `TARGETING_TYPE_GEO_REGION`.
|
|
|
|
|
# Corresponds to the JSON property `geoRegionDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::GeoRegionTargetingOptionDetails]
|
|
|
|
|
attr_accessor :geo_region_details
|
|
|
|
|
|
|
|
|
|
# Represents a targetable household income. This will be populated in the
|
|
|
|
|
# household_income_details field of a TargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_HOUSEHOLD_INCOME`.
|
|
|
|
|
# Corresponds to the JSON property `householdIncomeDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::HouseholdIncomeTargetingOptionDetails]
|
|
|
|
|
attr_accessor :household_income_details
|
|
|
|
|
|
|
|
|
|
# Represents a targetable language. This will be populated in the
|
|
|
|
|
# language_details field when targeting_type is `TARGETING_TYPE_LANGUAGE`.
|
|
|
|
|
# Corresponds to the JSON property `languageDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::LanguageTargetingOptionDetails]
|
|
|
|
|
attr_accessor :language_details
|
|
|
|
|
|
|
|
|
|
# Output only. The resource name for this targeting option.
|
|
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :name
|
|
|
|
|
|
|
|
|
|
# Represents a targetable on screen position, which could be used by display and
|
|
|
|
|
# video ads. This will be populated in the on_screen_position_details field when
|
|
|
|
|
# targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`.
|
|
|
|
|
# Corresponds to the JSON property `onScreenPositionDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::OnScreenPositionTargetingOptionDetails]
|
|
|
|
|
attr_accessor :on_screen_position_details
|
|
|
|
|
|
|
|
|
|
# Represents a targetable operating system. This will be populated in the
|
|
|
|
|
# operating_system_details field of a TargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_OPERATING_SYSTEM`.
|
|
|
|
|
# Corresponds to the JSON property `operatingSystemDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::OperatingSystemTargetingOptionDetails]
|
|
|
|
|
attr_accessor :operating_system_details
|
|
|
|
|
|
|
|
|
|
# Represents a targetable parental status. This will be populated in the
|
|
|
|
|
# parental_status_details field of a TargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_PARENTAL_STATUS`.
|
|
|
|
|
# Corresponds to the JSON property `parentalStatusDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::ParentalStatusTargetingOptionDetails]
|
|
|
|
|
attr_accessor :parental_status_details
|
|
|
|
|
|
|
|
|
|
# Represents a targetable sensitive category. This will be populated in the
|
|
|
|
|
# sensitive_category_details field of the TargetingOption when targeting_type is
|
|
|
|
|
# `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.
|
|
|
|
|
# Corresponds to the JSON property `sensitiveCategoryDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::SensitiveCategoryTargetingOptionDetails]
|
|
|
|
|
attr_accessor :sensitive_category_details
|
|
|
|
|
|
|
|
|
|
# Represents a targetable sub-exchange. This will be populated in the
|
|
|
|
|
# sub_exchange_details field of a TargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_SUB_EXCHANGE`.
|
|
|
|
|
# Corresponds to the JSON property `subExchangeDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::SubExchangeTargetingOptionDetails]
|
|
|
|
|
attr_accessor :sub_exchange_details
|
|
|
|
|
|
|
|
|
|
# Output only. A unique identifier for this targeting option. The tuple ``
|
|
|
|
|
# targeting_type`, `targeting_option_id`` will be unique.
|
|
|
|
|
# Corresponds to the JSON property `targetingOptionId`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :targeting_option_id
|
|
|
|
|
|
|
|
|
|
# Output only. The type of this targeting option.
|
|
|
|
|
# Corresponds to the JSON property `targetingType`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :targeting_type
|
|
|
|
|
|
|
|
|
|
# Represents a targetable user rewarded content status for video ads only. This
|
|
|
|
|
# will be populated in the user_rewarded_content_details field when
|
|
|
|
|
# targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`.
|
|
|
|
|
# Corresponds to the JSON property `userRewardedContentDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::UserRewardedContentTargetingOptionDetails]
|
|
|
|
|
attr_accessor :user_rewarded_content_details
|
|
|
|
|
|
|
|
|
|
# Represents a targetable video player size. This will be populated in the
|
|
|
|
|
# video_player_size_details field when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_VIDEO_PLAYER_SIZE`.
|
|
|
|
|
# Corresponds to the JSON property `videoPlayerSizeDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::VideoPlayerSizeTargetingOptionDetails]
|
|
|
|
|
attr_accessor :video_player_size_details
|
|
|
|
|
|
|
|
|
|
# Represents a targetable viewability. This will be populated in the
|
|
|
|
|
# viewability_details field of a TargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_VIEWABILITY`.
|
|
|
|
|
# Corresponds to the JSON property `viewabilityDetails`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::ViewabilityTargetingOptionDetails]
|
|
|
|
|
attr_accessor :viewability_details
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@age_range_details = args[:age_range_details] if args.key?(:age_range_details)
|
|
|
|
|
@app_category_details = args[:app_category_details] if args.key?(:app_category_details)
|
|
|
|
|
@authorized_seller_status_details = args[:authorized_seller_status_details] if args.key?(:authorized_seller_status_details)
|
|
|
|
|
@browser_details = args[:browser_details] if args.key?(:browser_details)
|
|
|
|
|
@carrier_and_isp_details = args[:carrier_and_isp_details] if args.key?(:carrier_and_isp_details)
|
|
|
|
|
@category_details = args[:category_details] if args.key?(:category_details)
|
|
|
|
|
@content_instream_position_details = args[:content_instream_position_details] if args.key?(:content_instream_position_details)
|
|
|
|
|
@content_outstream_position_details = args[:content_outstream_position_details] if args.key?(:content_outstream_position_details)
|
|
|
|
|
@device_make_model_details = args[:device_make_model_details] if args.key?(:device_make_model_details)
|
|
|
|
|
@device_type_details = args[:device_type_details] if args.key?(:device_type_details)
|
|
|
|
|
@digital_content_label_details = args[:digital_content_label_details] if args.key?(:digital_content_label_details)
|
|
|
|
|
@environment_details = args[:environment_details] if args.key?(:environment_details)
|
|
|
|
|
@exchange_details = args[:exchange_details] if args.key?(:exchange_details)
|
|
|
|
|
@gender_details = args[:gender_details] if args.key?(:gender_details)
|
|
|
|
|
@geo_region_details = args[:geo_region_details] if args.key?(:geo_region_details)
|
|
|
|
|
@household_income_details = args[:household_income_details] if args.key?(:household_income_details)
|
|
|
|
|
@language_details = args[:language_details] if args.key?(:language_details)
|
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
|
@on_screen_position_details = args[:on_screen_position_details] if args.key?(:on_screen_position_details)
|
|
|
|
|
@operating_system_details = args[:operating_system_details] if args.key?(:operating_system_details)
|
|
|
|
|
@parental_status_details = args[:parental_status_details] if args.key?(:parental_status_details)
|
|
|
|
|
@sensitive_category_details = args[:sensitive_category_details] if args.key?(:sensitive_category_details)
|
|
|
|
|
@sub_exchange_details = args[:sub_exchange_details] if args.key?(:sub_exchange_details)
|
|
|
|
|
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
|
|
|
|
@targeting_type = args[:targeting_type] if args.key?(:targeting_type)
|
|
|
|
|
@user_rewarded_content_details = args[:user_rewarded_content_details] if args.key?(:user_rewarded_content_details)
|
|
|
|
|
@video_player_size_details = args[:video_player_size_details] if args.key?(:video_player_size_details)
|
|
|
|
|
@viewability_details = args[:viewability_details] if args.key?(:viewability_details)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Settings for advertisers that use third-party ad servers only.
|
|
|
|
|
class ThirdPartyOnlyConfig
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Whether or not order ID reporting for pixels is enabled. This value cannot be
|
|
|
|
|
# changed once set to `true`.
|
|
|
|
|
# Corresponds to the JSON property `pixelOrderIdReportingEnabled`
|
|
|
|
|
# @return [Boolean]
|
|
|
|
|
attr_accessor :pixel_order_id_reporting_enabled
|
|
|
|
|
alias_method :pixel_order_id_reporting_enabled?, :pixel_order_id_reporting_enabled
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@pixel_order_id_reporting_enabled = args[:pixel_order_id_reporting_enabled] if args.key?(:pixel_order_id_reporting_enabled)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Tracking URLs from third parties to track interactions with an audio or a
|
|
|
|
|
# video creative.
|
|
|
|
|
class ThirdPartyUrl
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The type of interaction needs to be tracked by the tracking URL
|
|
|
|
|
# Corresponds to the JSON property `type`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :type
|
|
|
|
|
|
|
|
|
|
# Tracking URL used to track the interaction. Provide a URL with optional path
|
|
|
|
|
# or query string, beginning with `https:`. For example, https://www.example.com/
|
|
|
|
|
# path
|
|
|
|
|
# Corresponds to the JSON property `url`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :url
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@type = args[:type] if args.key?(:type)
|
|
|
|
|
@url = args[:url] if args.key?(:url)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Assigned third party verifier targeting option details. This will be populated
|
|
|
|
|
# in the details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_THIRD_PARTY_VERIFIER`.
|
|
|
|
|
class ThirdPartyVerifierAssignedTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Details of Adloox settings.
|
|
|
|
|
# Corresponds to the JSON property `adloox`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::Adloox]
|
|
|
|
|
attr_accessor :adloox
|
|
|
|
|
|
|
|
|
|
# Details of DoubleVerify settings.
|
|
|
|
|
# Corresponds to the JSON property `doubleVerify`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::DoubleVerify]
|
|
|
|
|
attr_accessor :double_verify
|
|
|
|
|
|
|
|
|
|
# Details of Integral Ad Science settings.
|
|
|
|
|
# Corresponds to the JSON property `integralAdScience`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::IntegralAdScience]
|
|
|
|
|
attr_accessor :integral_ad_science
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@adloox = args[:adloox] if args.key?(:adloox)
|
|
|
|
|
@double_verify = args[:double_verify] if args.key?(:double_verify)
|
|
|
|
|
@integral_ad_science = args[:integral_ad_science] if args.key?(:integral_ad_science)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# A time range.
|
|
|
|
|
class TimeRange
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Required. The upper bound of a time range, inclusive.
|
|
|
|
|
# Corresponds to the JSON property `endTime`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :end_time
|
|
|
|
|
|
|
|
|
|
# Required. The lower bound of a time range, inclusive.
|
|
|
|
|
# Corresponds to the JSON property `startTime`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :start_time
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@end_time = args[:end_time] if args.key?(:end_time)
|
|
|
|
|
@start_time = args[:start_time] if args.key?(:start_time)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Timer event of the creative.
|
|
|
|
|
class TimerEvent
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Required. The name of the timer event.
|
|
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :name
|
|
|
|
|
|
|
|
|
|
# Required. The name used to identify this timer event in reports.
|
|
|
|
|
# Corresponds to the JSON property `reportingName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :reporting_name
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
|
@reporting_name = args[:reporting_name] if args.key?(:reporting_name)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Settings that control the behavior of a single Floodlight activity config.
|
|
|
|
|
class TrackingFloodlightActivityConfig
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Required. The ID of the Floodlight activity.
|
|
|
|
|
# Corresponds to the JSON property `floodlightActivityId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :floodlight_activity_id
|
|
|
|
|
|
|
|
|
|
# Required. The number of days after an ad has been clicked in which a
|
|
|
|
|
# conversion may be counted. Must be between 0 and 90 inclusive.
|
|
|
|
|
# Corresponds to the JSON property `postClickLookbackWindowDays`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :post_click_lookback_window_days
|
|
|
|
|
|
|
|
|
|
# Required. The number of days after an ad has been viewed in which a conversion
|
|
|
|
|
# may be counted. Must be between 0 and 90 inclusive.
|
|
|
|
|
# Corresponds to the JSON property `postViewLookbackWindowDays`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :post_view_lookback_window_days
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@floodlight_activity_id = args[:floodlight_activity_id] if args.key?(:floodlight_activity_id)
|
|
|
|
|
@post_click_lookback_window_days = args[:post_click_lookback_window_days] if args.key?(:post_click_lookback_window_days)
|
|
|
|
|
@post_view_lookback_window_days = args[:post_view_lookback_window_days] if args.key?(:post_view_lookback_window_days)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Represents information about the transcoded audio or video file.
|
|
|
|
|
class Transcode
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The bit rate for the audio stream of the transcoded video, or the bit rate for
|
|
|
|
|
# the transcoded audio, in kilobits per second.
|
|
|
|
|
# Corresponds to the JSON property `audioBitRateKbps`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :audio_bit_rate_kbps
|
|
|
|
|
|
|
|
|
|
# The sample rate for the audio stream of the transcoded video, or the sample
|
|
|
|
|
# rate for the transcoded audio, in hertz.
|
|
|
|
|
# Corresponds to the JSON property `audioSampleRateHz`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :audio_sample_rate_hz
|
|
|
|
|
|
|
|
|
|
# The transcoding bit rate of the transcoded video, in kilobits per second.
|
|
|
|
|
# Corresponds to the JSON property `bitRateKbps`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :bit_rate_kbps
|
|
|
|
|
|
|
|
|
|
# Dimensions.
|
|
|
|
|
# Corresponds to the JSON property `dimensions`
|
|
|
|
|
# @return [Google::Apis::DisplayvideoV1::Dimensions]
|
|
|
|
|
attr_accessor :dimensions
|
|
|
|
|
|
|
|
|
|
# The size of the transcoded file, in bytes.
|
|
|
|
|
# Corresponds to the JSON property `fileSizeBytes`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :file_size_bytes
|
|
|
|
|
|
|
|
|
|
# The frame rate of the transcoded video, in frames per second.
|
|
|
|
|
# Corresponds to the JSON property `frameRate`
|
|
|
|
|
# @return [Float]
|
|
|
|
|
attr_accessor :frame_rate
|
|
|
|
|
|
|
|
|
|
# The MIME type of the transcoded file.
|
|
|
|
|
# Corresponds to the JSON property `mimeType`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :mime_type
|
|
|
|
|
|
|
|
|
|
# The name of the transcoded file.
|
|
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :name
|
|
|
|
|
|
|
|
|
|
# Indicates if the transcoding was successful.
|
|
|
|
|
# Corresponds to the JSON property `transcoded`
|
|
|
|
|
# @return [Boolean]
|
|
|
|
|
attr_accessor :transcoded
|
|
|
|
|
alias_method :transcoded?, :transcoded
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@audio_bit_rate_kbps = args[:audio_bit_rate_kbps] if args.key?(:audio_bit_rate_kbps)
|
|
|
|
|
@audio_sample_rate_hz = args[:audio_sample_rate_hz] if args.key?(:audio_sample_rate_hz)
|
|
|
|
|
@bit_rate_kbps = args[:bit_rate_kbps] if args.key?(:bit_rate_kbps)
|
|
|
|
|
@dimensions = args[:dimensions] if args.key?(:dimensions)
|
|
|
|
|
@file_size_bytes = args[:file_size_bytes] if args.key?(:file_size_bytes)
|
|
|
|
|
@frame_rate = args[:frame_rate] if args.key?(:frame_rate)
|
|
|
|
|
@mime_type = args[:mime_type] if args.key?(:mime_type)
|
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
|
@transcoded = args[:transcoded] if args.key?(:transcoded)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# A creative identifier provided by a registry that is unique across all
|
|
|
|
|
# platforms. This is part of the VAST 4.0 standard.
|
|
|
|
|
class UniversalAdId
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The unique creative identifier.
|
|
|
|
|
# Corresponds to the JSON property `id`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :id
|
|
|
|
|
|
|
|
|
|
# The registry provides unique creative identifiers.
|
|
|
|
|
# Corresponds to the JSON property `registry`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :registry
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@id = args[:id] if args.key?(:id)
|
|
|
|
|
@registry = args[:registry] if args.key?(:registry)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Details for assigned URL targeting option. This will be populated in the
|
|
|
|
|
# details field of an AssignedTargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_URL`.
|
|
|
|
|
class UrlAssignedTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Indicates if this option is being negatively targeted.
|
|
|
|
|
# Corresponds to the JSON property `negative`
|
|
|
|
|
# @return [Boolean]
|
|
|
|
|
attr_accessor :negative
|
|
|
|
|
alias_method :negative?, :negative
|
|
|
|
|
|
|
|
|
|
# Required. The URL, for example `example.com`. DV360 supports two levels of
|
|
|
|
|
# subdirectory targeting, for example `www.example.com/one-subdirectory-level/
|
|
|
|
|
# second-level`, and five levels of subdomain targeting, for example `five.four.
|
|
|
|
|
# three.two.one.example.com`.
|
|
|
|
|
# Corresponds to the JSON property `url`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :url
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@negative = args[:negative] if args.key?(:negative)
|
|
|
|
|
@url = args[:url] if args.key?(:url)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# A single user in Display & Video 360.
|
|
|
|
|
class User
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The assigned user roles. Required in CreateUser. Output only in UpdateUser.
|
|
|
|
|
# Can only be updated through BulkEditAssignedUserRoles.
|
|
|
|
|
# Corresponds to the JSON property `assignedUserRoles`
|
|
|
|
|
# @return [Array<Google::Apis::DisplayvideoV1::AssignedUserRole>]
|
|
|
|
|
attr_accessor :assigned_user_roles
|
|
|
|
|
|
|
|
|
|
# Required. The display name of the user. Must be UTF-8 encoded with a maximum
|
|
|
|
|
# size of 240 bytes.
|
|
|
|
|
# Corresponds to the JSON property `displayName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :display_name
|
|
|
|
|
|
|
|
|
|
# Required. Immutable. The email address used to identify the user.
|
|
|
|
|
# Corresponds to the JSON property `email`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :email
|
|
|
|
|
|
|
|
|
|
# Output only. The resource name of the user.
|
|
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :name
|
|
|
|
|
|
|
|
|
|
# Output only. The unique ID of the user. Assigned by the system.
|
|
|
|
|
# Corresponds to the JSON property `userId`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :user_id
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@assigned_user_roles = args[:assigned_user_roles] if args.key?(:assigned_user_roles)
|
|
|
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
|
|
|
@email = args[:email] if args.key?(:email)
|
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
|
@user_id = args[:user_id] if args.key?(:user_id)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# User rewarded content targeting option details. This will be populated in the
|
|
|
|
|
# user_rewarded_content_details field when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_USER_REWARDED_CONTENT`.
|
|
|
|
|
class UserRewardedContentAssignedTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Required. The targeting_option_id field when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_USER_REWARDED_CONTENT`.
|
|
|
|
|
# Corresponds to the JSON property `targetingOptionId`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :targeting_option_id
|
|
|
|
|
|
|
|
|
|
# Output only. User rewarded content status for video ads.
|
|
|
|
|
# Corresponds to the JSON property `userRewardedContent`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :user_rewarded_content
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
|
|
|
|
@user_rewarded_content = args[:user_rewarded_content] if args.key?(:user_rewarded_content)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Represents a targetable user rewarded content status for video ads only. This
|
|
|
|
|
# will be populated in the user_rewarded_content_details field when
|
|
|
|
|
# targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`.
|
|
|
|
|
class UserRewardedContentTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. User rewarded content status for video ads.
|
|
|
|
|
# Corresponds to the JSON property `userRewardedContent`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :user_rewarded_content
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@user_rewarded_content = args[:user_rewarded_content] if args.key?(:user_rewarded_content)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Video player size targeting option details. This will be populated in the
|
|
|
|
|
# video_player_size_details field when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_VIDEO_PLAYER_SIZE`. Explicitly targeting all options is not
|
|
|
|
|
# supported. Remove all video player size targeting options to achieve this
|
|
|
|
|
# effect.
|
|
|
|
|
class VideoPlayerSizeAssignedTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Required. The targeting_option_id field when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_VIDEO_PLAYER_SIZE`.
|
|
|
|
|
# Corresponds to the JSON property `targetingOptionId`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :targeting_option_id
|
|
|
|
|
|
|
|
|
|
# Output only. The video player size.
|
|
|
|
|
# Corresponds to the JSON property `videoPlayerSize`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :video_player_size
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
|
|
|
|
@video_player_size = args[:video_player_size] if args.key?(:video_player_size)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Represents a targetable video player size. This will be populated in the
|
|
|
|
|
# video_player_size_details field when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_VIDEO_PLAYER_SIZE`.
|
|
|
|
|
class VideoPlayerSizeTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The video player size.
|
|
|
|
|
# Corresponds to the JSON property `videoPlayerSize`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :video_player_size
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@video_player_size = args[:video_player_size] if args.key?(:video_player_size)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Assigned viewability targeting option details. This will be populated in the
|
|
|
|
|
# viewability_details field of an AssignedTargetingOption when targeting_type is
|
|
|
|
|
# `TARGETING_TYPE_VIEWABILITY`.
|
|
|
|
|
class ViewabilityAssignedTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Required. The targeting_option_id of a TargetingOption of type `
|
|
|
|
|
# TARGETING_TYPE_VIEWABILITY` (e.g., "509010" for targeting the `
|
|
|
|
|
# VIEWABILITY_10_PERCENT_OR_MORE` option).
|
|
|
|
|
# Corresponds to the JSON property `targetingOptionId`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :targeting_option_id
|
|
|
|
|
|
|
|
|
|
# Output only. The predicted viewability percentage.
|
|
|
|
|
# Corresponds to the JSON property `viewability`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :viewability
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@targeting_option_id = args[:targeting_option_id] if args.key?(:targeting_option_id)
|
|
|
|
|
@viewability = args[:viewability] if args.key?(:viewability)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Represents a targetable viewability. This will be populated in the
|
|
|
|
|
# viewability_details field of a TargetingOption when targeting_type is `
|
|
|
|
|
# TARGETING_TYPE_VIEWABILITY`.
|
|
|
|
|
class ViewabilityTargetingOptionDetails
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Output only. The predicted viewability percentage.
|
|
|
|
|
# Corresponds to the JSON property `viewability`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :viewability
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@viewability = args[:viewability] if args.key?(:viewability)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|