google-api-ruby-client/generated/google/apis/realtimebidding_v1/classes.rb

1437 lines
57 KiB
Ruby

# Copyright 2015 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
require 'date'
require 'google/apis/core/base_service'
require 'google/apis/core/json_representation'
require 'google/apis/core/hashable'
require 'google/apis/errors'
module Google
module Apis
module RealtimebiddingV1
# Detected ad technology provider information.
class AdTechnologyProviders
include Google::Apis::Core::Hashable
# The detected ad technology provider IDs for this creative.
# See https://storage.googleapis.com/adx-rtb-dictionaries/providers.csv for
# mapping of provider ID to provided name, a privacy policy URL, and a list
# of domains which can be attributed to the provider.
# If the creative contains provider IDs that are outside of those listed in
# the `BidRequest.adslot.consented_providers_settings.consented_providers`
# field on the [Google bid
# protocol](https://developers.google.com/authorized-buyers/rtb/downloads/
# realtime-bidding-proto)
# and the
# `BidRequest.user.ext.consented_providers_settings.consented_providers`
# field on the [OpenRTB
# protocol](https://developers.google.com/authorized-buyers/rtb/downloads/
# openrtb-adx-proto),
# and a bid is submitted with that creative for an impression
# that will serve to an EEA user, the bid will be filtered before the
# auction.
# Corresponds to the JSON property `detectedProviderIds`
# @return [Array<Fixnum>]
attr_accessor :detected_provider_ids
# Whether the creative contains an unidentified ad technology provider.
# If true for a given creative, any bid submitted with that creative for an
# impression that will serve to an EEA user will be filtered before the
# auction.
# Corresponds to the JSON property `hasUnidentifiedProvider`
# @return [Boolean]
attr_accessor :has_unidentified_provider
alias_method :has_unidentified_provider?, :has_unidentified_provider
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@detected_provider_ids = args[:detected_provider_ids] if args.key?(:detected_provider_ids)
@has_unidentified_provider = args[:has_unidentified_provider] if args.key?(:has_unidentified_provider)
end
end
# Detected advertiser and brand information.
class AdvertiserAndBrand
include Google::Apis::Core::Hashable
# See https://storage.googleapis.com/adx-rtb-dictionaries/advertisers.txt
# for the list of possible values.
# Can be used to filter the response of the
# creatives.list
# method.
# Corresponds to the JSON property `advertiserId`
# @return [Fixnum]
attr_accessor :advertiser_id
# Advertiser name.
# Can be used to filter the response of the
# creatives.list
# method.
# Corresponds to the JSON property `advertiserName`
# @return [String]
attr_accessor :advertiser_name
# Detected brand ID or zero if no brand has been detected.
# See https://storage.googleapis.com/adx-rtb-dictionaries/brands.txt for
# the list of possible values.
# Can be used to filter the response of the
# creatives.list
# method.
# Corresponds to the JSON property `brandId`
# @return [Fixnum]
attr_accessor :brand_id
# Brand name.
# Can be used to filter the response of the
# creatives.list
# method.
# Corresponds to the JSON property `brandName`
# @return [String]
attr_accessor :brand_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)
@advertiser_name = args[:advertiser_name] if args.key?(:advertiser_name)
@brand_id = args[:brand_id] if args.key?(:brand_id)
@brand_name = args[:brand_name] if args.key?(:brand_name)
end
end
# A request to close a specified user list.
class CloseUserListRequest
include Google::Apis::Core::Hashable
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
end
end
# A creative and its classification data.
class Creative
include Google::Apis::Core::Hashable
# Output only. ID of the buyer account that this creative is owned by.
# Can be used to filter the response of the
# creatives.list
# method with equality and inequality check.
# Corresponds to the JSON property `accountId`
# @return [Fixnum]
attr_accessor :account_id
# The link to AdChoices destination page. This is only supported for native
# ads.
# Corresponds to the JSON property `adChoicesDestinationUrl`
# @return [String]
attr_accessor :ad_choices_destination_url
# The name of the company being advertised in the creative.
# Can be used to filter the response of the
# creatives.list
# method.
# Corresponds to the JSON property `advertiserName`
# @return [String]
attr_accessor :advertiser_name
# The agency ID for this creative.
# Corresponds to the JSON property `agencyId`
# @return [Fixnum]
attr_accessor :agency_id
# Output only. The last update timestamp of the creative via API.
# Corresponds to the JSON property `apiUpdateTime`
# @return [String]
attr_accessor :api_update_time
# Output only. The format of this creative.
# Can be used to filter the response of the
# creatives.list
# method.
# Corresponds to the JSON property `creativeFormat`
# @return [String]
attr_accessor :creative_format
# Buyer-specific creative ID that references this creative in bid responses.
# This field is Ignored in update operations. Can be used to filter the
# response of the
# creatives.list
# method.
# The maximum length of the creative ID is 128 bytes.
# Corresponds to the JSON property `creativeId`
# @return [String]
attr_accessor :creative_id
# Top level status and detected attributes of a creative.
# Corresponds to the JSON property `creativeServingDecision`
# @return [Google::Apis::RealtimebiddingV1::CreativeServingDecision]
attr_accessor :creative_serving_decision
# Output only. IDs of all of the deals with which this creative has been used
# in bidding.
# Can be used to filter the response of the
# creatives.list
# method.
# Corresponds to the JSON property `dealIds`
# @return [Array<String>]
attr_accessor :deal_ids
# All declared attributes for the ads that may be shown from this creative.
# Can be used to filter the response of the
# creatives.list
# method.
# If the `excluded_attribute` field of a [bid
# request](https://developers.google.com/authorized-buyers/rtb/downloads/
# realtime-bidding-proto")
# contains one of the attributes that were declared or detected for a given
# creative, and a bid is submitted with that creative, the bid will be
# filtered before the auction.
# Corresponds to the JSON property `declaredAttributes`
# @return [Array<String>]
attr_accessor :declared_attributes
# The set of declared destination URLs for the creative.
# Can be used to filter the response of the
# creatives.list
# method.
# Corresponds to the JSON property `declaredClickThroughUrls`
# @return [Array<String>]
attr_accessor :declared_click_through_urls
# All declared restricted categories for the ads that may be shown from this
# creative. Can be used to filter the response of the
# creatives.list
# method.
# Corresponds to the JSON property `declaredRestrictedCategories`
# @return [Array<String>]
attr_accessor :declared_restricted_categories
# IDs for the declared ad technology vendors that may be used by this
# creative. See
# https://storage.googleapis.com/adx-rtb-dictionaries/vendors.txt for
# possible values.
# Can be used to filter the response of the
# creatives.list
# method.
# Corresponds to the JSON property `declaredVendorIds`
# @return [Array<Fixnum>]
attr_accessor :declared_vendor_ids
# HTML content for a creative.
# Corresponds to the JSON property `html`
# @return [Google::Apis::RealtimebiddingV1::HtmlContent]
attr_accessor :html
# The set of URLs to be called to record an impression.
# Corresponds to the JSON property `impressionTrackingUrls`
# @return [Array<String>]
attr_accessor :impression_tracking_urls
# Output only. Name of the creative.
# Follows the pattern `buyers/`buyer`/creatives/`creative``, where
# ``buyer`` represents the account ID of the buyer who owns the creative,
# and ``creative`` is the buyer-specific creative ID that references this
# creative in the bid response.
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
# Native content for a creative.
# Corresponds to the JSON property `native`
# @return [Google::Apis::RealtimebiddingV1::NativeContent]
attr_accessor :native
# All restricted categories for the ads that may be shown from this creative.
# Corresponds to the JSON property `restrictedCategories`
# @return [Array<String>]
attr_accessor :restricted_categories
# Output only. The version of this creative.
# Version for a new creative is 1 and it increments during subsequent
# creative updates.
# Corresponds to the JSON property `version`
# @return [Fixnum]
attr_accessor :version
# Video content for a creative.
# Corresponds to the JSON property `video`
# @return [Google::Apis::RealtimebiddingV1::VideoContent]
attr_accessor :video
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@account_id = args[:account_id] if args.key?(:account_id)
@ad_choices_destination_url = args[:ad_choices_destination_url] if args.key?(:ad_choices_destination_url)
@advertiser_name = args[:advertiser_name] if args.key?(:advertiser_name)
@agency_id = args[:agency_id] if args.key?(:agency_id)
@api_update_time = args[:api_update_time] if args.key?(:api_update_time)
@creative_format = args[:creative_format] if args.key?(:creative_format)
@creative_id = args[:creative_id] if args.key?(:creative_id)
@creative_serving_decision = args[:creative_serving_decision] if args.key?(:creative_serving_decision)
@deal_ids = args[:deal_ids] if args.key?(:deal_ids)
@declared_attributes = args[:declared_attributes] if args.key?(:declared_attributes)
@declared_click_through_urls = args[:declared_click_through_urls] if args.key?(:declared_click_through_urls)
@declared_restricted_categories = args[:declared_restricted_categories] if args.key?(:declared_restricted_categories)
@declared_vendor_ids = args[:declared_vendor_ids] if args.key?(:declared_vendor_ids)
@html = args[:html] if args.key?(:html)
@impression_tracking_urls = args[:impression_tracking_urls] if args.key?(:impression_tracking_urls)
@name = args[:name] if args.key?(:name)
@native = args[:native] if args.key?(:native)
@restricted_categories = args[:restricted_categories] if args.key?(:restricted_categories)
@version = args[:version] if args.key?(:version)
@video = args[:video] if args.key?(:video)
end
end
# Top level status and detected attributes of a creative.
class CreativeServingDecision
include Google::Apis::Core::Hashable
# Detected ad technology provider information.
# Corresponds to the JSON property `adTechnologyProviders`
# @return [Google::Apis::RealtimebiddingV1::AdTechnologyProviders]
attr_accessor :ad_technology_providers
# Serving status of the creative for a transaction type or a region.
# Corresponds to the JSON property `chinaServingStatus`
# @return [Google::Apis::RealtimebiddingV1::ServingStatus]
attr_accessor :china_serving_status
# Serving status of the creative for a transaction type or a region.
# Corresponds to the JSON property `dealsServingStatus`
# @return [Google::Apis::RealtimebiddingV1::ServingStatus]
attr_accessor :deals_serving_status
# Detected advertisers and brands.
# Corresponds to the JSON property `detectedAdvertisers`
# @return [Array<Google::Apis::RealtimebiddingV1::AdvertiserAndBrand>]
attr_accessor :detected_advertisers
# Publisher-excludable attributes that were detected for this creative.
# Can be used to filter the response of the
# creatives.list
# method.
# If the `excluded_attribute` field of a [bid
# request](https://developers.google.com/authorized-buyers/rtb/downloads/
# realtime-bidding-proto)
# contains one of the attributes that were declared or detected for a given
# creative, and a bid is submitted with that creative, the bid will be
# filtered before the auction.
# Corresponds to the JSON property `detectedAttributes`
# @return [Array<String>]
attr_accessor :detected_attributes
# The set of detected destination URLs for the creative.
# Can be used to filter the response of the
# creatives.list
# method.
# Corresponds to the JSON property `detectedClickThroughUrls`
# @return [Array<String>]
attr_accessor :detected_click_through_urls
# The detected domains for this creative.
# Corresponds to the JSON property `detectedDomains`
# @return [Array<String>]
attr_accessor :detected_domains
# The detected languages for this creative. The order is
# arbitrary. The codes are 2 or 5 characters and are documented at
# https://developers.google.com/adwords/api/docs/appendix/languagecodes.
# Can be used to filter the response of the
# creatives.list
# method.
# Corresponds to the JSON property `detectedLanguages`
# @return [Array<String>]
attr_accessor :detected_languages
# Detected product categories, if any.
# See the ad-product-categories.txt file in the technical documentation
# for a list of IDs.
# Can be used to filter the response of the
# creatives.list
# method.
# Corresponds to the JSON property `detectedProductCategories`
# @return [Array<Fixnum>]
attr_accessor :detected_product_categories
# Detected sensitive categories, if any.
# Can be used to filter the response of the
# creatives.list
# method.
# See the ad-sensitive-categories.txt file in the technical documentation
# for a list of IDs. You should use these IDs along with the
# excluded-sensitive-category field in the bid request to filter your bids.
# Corresponds to the JSON property `detectedSensitiveCategories`
# @return [Array<Fixnum>]
attr_accessor :detected_sensitive_categories
# IDs of the ad technology vendors that were detected to be
# used by this creative. See
# https://storage.googleapis.com/adx-rtb-dictionaries/vendors.txt for
# possible values.
# Can be used to filter the response of the
# creatives.list
# method.
# If the `allowed_vendor_type` field of a [bid
# request](https://developers.google.com/authorized-buyers/rtb/downloads/
# realtime-bidding-proto)
# does not contain one of the vendor type IDs that were declared or
# detected for a given creative, and a bid is submitted with that creative,
# the bid will be filtered before the auction.
# Corresponds to the JSON property `detectedVendorIds`
# @return [Array<Fixnum>]
attr_accessor :detected_vendor_ids
# The last time the creative status was updated.
# Can be used to filter the response of the
# creatives.list
# method.
# Corresponds to the JSON property `lastStatusUpdate`
# @return [String]
attr_accessor :last_status_update
# Serving status of the creative for a transaction type or a region.
# Corresponds to the JSON property `openAuctionServingStatus`
# @return [Google::Apis::RealtimebiddingV1::ServingStatus]
attr_accessor :open_auction_serving_status
# Serving status of the creative for a transaction type or a region.
# Corresponds to the JSON property `russiaServingStatus`
# @return [Google::Apis::RealtimebiddingV1::ServingStatus]
attr_accessor :russia_serving_status
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@ad_technology_providers = args[:ad_technology_providers] if args.key?(:ad_technology_providers)
@china_serving_status = args[:china_serving_status] if args.key?(:china_serving_status)
@deals_serving_status = args[:deals_serving_status] if args.key?(:deals_serving_status)
@detected_advertisers = args[:detected_advertisers] if args.key?(:detected_advertisers)
@detected_attributes = args[:detected_attributes] if args.key?(:detected_attributes)
@detected_click_through_urls = args[:detected_click_through_urls] if args.key?(:detected_click_through_urls)
@detected_domains = args[:detected_domains] if args.key?(:detected_domains)
@detected_languages = args[:detected_languages] if args.key?(:detected_languages)
@detected_product_categories = args[:detected_product_categories] if args.key?(:detected_product_categories)
@detected_sensitive_categories = args[:detected_sensitive_categories] if args.key?(:detected_sensitive_categories)
@detected_vendor_ids = args[:detected_vendor_ids] if args.key?(:detected_vendor_ids)
@last_status_update = args[:last_status_update] if args.key?(:last_status_update)
@open_auction_serving_status = args[:open_auction_serving_status] if args.key?(:open_auction_serving_status)
@russia_serving_status = args[:russia_serving_status] if args.key?(:russia_serving_status)
end
end
# Represents a whole or partial calendar date, e.g. a birthday. The time of day
# and time zone are either specified elsewhere or are not significant. The date
# is relative to the Proleptic Gregorian Calendar. This can represent:
# * A full date, with non-zero year, month and day values
# * A month and day value, with a zero year, e.g. an anniversary
# * A year on its own, with zero month and day values
# * A year and month value, with a zero day, e.g. a credit card expiration date
# Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.
class Date
include Google::Apis::Core::Hashable
# Day of month. Must be from 1 to 31 and valid for the year and month, or 0
# if specifying a year by itself or a year and month where the day is not
# significant.
# Corresponds to the JSON property `day`
# @return [Fixnum]
attr_accessor :day
# Month of year. Must be from 1 to 12, or 0 if specifying a year without a
# month and day.
# Corresponds to the JSON property `month`
# @return [Fixnum]
attr_accessor :month
# Year of date. Must be from 1 to 9999, or 0 if specifying a date without
# a year.
# Corresponds to the JSON property `year`
# @return [Fixnum]
attr_accessor :year
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@day = args[:day] if args.key?(:day)
@month = args[:month] if args.key?(:month)
@year = args[:year] if args.key?(:year)
end
end
# Evidence that the creative's destination URL was not crawlable by Google.
class DestinationNotCrawlableEvidence
include Google::Apis::Core::Hashable
# Approximate time of the crawl.
# Corresponds to the JSON property `crawlTime`
# @return [String]
attr_accessor :crawl_time
# Destination URL that was attempted to be crawled.
# Corresponds to the JSON property `crawledUrl`
# @return [String]
attr_accessor :crawled_url
# Reason of destination not crawlable.
# Corresponds to the JSON property `reason`
# @return [String]
attr_accessor :reason
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@crawl_time = args[:crawl_time] if args.key?(:crawl_time)
@crawled_url = args[:crawled_url] if args.key?(:crawled_url)
@reason = args[:reason] if args.key?(:reason)
end
end
# Evidence of the creative's destination URL not functioning properly or
# having been incorrectly set up.
class DestinationNotWorkingEvidence
include Google::Apis::Core::Hashable
# DNS lookup errors.
# Corresponds to the JSON property `dnsError`
# @return [String]
attr_accessor :dns_error
# The full non-working URL.
# Corresponds to the JSON property `expandedUrl`
# @return [String]
attr_accessor :expanded_url
# HTTP error code (e.g. 404 or 5xx)
# Corresponds to the JSON property `httpError`
# @return [Fixnum]
attr_accessor :http_error
# Page was crawled successfully, but was detected as either a page with
# no content or an error page.
# Corresponds to the JSON property `invalidPage`
# @return [String]
attr_accessor :invalid_page
# Approximate time when the ad destination was last checked.
# Corresponds to the JSON property `lastCheckTime`
# @return [String]
attr_accessor :last_check_time
# Platform of the non-working URL.
# Corresponds to the JSON property `platform`
# @return [String]
attr_accessor :platform
# HTTP redirect chain error.
# Corresponds to the JSON property `redirectionError`
# @return [String]
attr_accessor :redirection_error
# Rejected because of malformed URLs or invalid requests.
# Corresponds to the JSON property `urlRejected`
# @return [String]
attr_accessor :url_rejected
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@dns_error = args[:dns_error] if args.key?(:dns_error)
@expanded_url = args[:expanded_url] if args.key?(:expanded_url)
@http_error = args[:http_error] if args.key?(:http_error)
@invalid_page = args[:invalid_page] if args.key?(:invalid_page)
@last_check_time = args[:last_check_time] if args.key?(:last_check_time)
@platform = args[:platform] if args.key?(:platform)
@redirection_error = args[:redirection_error] if args.key?(:redirection_error)
@url_rejected = args[:url_rejected] if args.key?(:url_rejected)
end
end
# The full landing page URL of the destination.
class DestinationUrlEvidence
include Google::Apis::Core::Hashable
# The full landing page URL of the destination.
# Corresponds to the JSON property `destinationUrl`
# @return [String]
attr_accessor :destination_url
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@destination_url = args[:destination_url] if args.key?(:destination_url)
end
end
# Number of HTTP calls made by a creative, broken down by domain.
class DomainCallEvidence
include Google::Apis::Core::Hashable
# Breakdown of the most frequent domains called via HTTP by the creative.
# Corresponds to the JSON property `topHttpCallDomains`
# @return [Array<Google::Apis::RealtimebiddingV1::DomainCalls>]
attr_accessor :top_http_call_domains
# The total number of HTTP calls made by the creative, including but not
# limited to the number of calls in the top_http_call_domains.
# Corresponds to the JSON property `totalHttpCallCount`
# @return [Fixnum]
attr_accessor :total_http_call_count
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@top_http_call_domains = args[:top_http_call_domains] if args.key?(:top_http_call_domains)
@total_http_call_count = args[:total_http_call_count] if args.key?(:total_http_call_count)
end
end
# The number of HTTP calls made to the given domain.
class DomainCalls
include Google::Apis::Core::Hashable
# The domain name.
# Corresponds to the JSON property `domain`
# @return [String]
attr_accessor :domain
# Number of HTTP calls made to the domain.
# Corresponds to the JSON property `httpCallCount`
# @return [Fixnum]
attr_accessor :http_call_count
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@domain = args[:domain] if args.key?(:domain)
@http_call_count = args[:http_call_count] if args.key?(:http_call_count)
end
end
# Total download size and URL-level download size breakdown for resources in
# a creative.
class DownloadSizeEvidence
include Google::Apis::Core::Hashable
# Download size broken down by URLs with the top download size.
# Corresponds to the JSON property `topUrlDownloadSizeBreakdowns`
# @return [Array<Google::Apis::RealtimebiddingV1::UrlDownloadSize>]
attr_accessor :top_url_download_size_breakdowns
# Total download size (in kilobytes) for all the resources in the creative.
# Corresponds to the JSON property `totalDownloadSizeKb`
# @return [Fixnum]
attr_accessor :total_download_size_kb
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@top_url_download_size_breakdowns = args[:top_url_download_size_breakdowns] if args.key?(:top_url_download_size_breakdowns)
@total_download_size_kb = args[:total_download_size_kb] if args.key?(:total_download_size_kb)
end
end
# Response for a request to get remarketing tag.
class GetRemarketingTagResponse
include Google::Apis::Core::Hashable
# A HTML tag that can be placed on the advertiser's page to add users to a
# user list. For more information and code samples on using snippet on your
# website refer to [Tag your site for remarketing](
# https://support.google.com/google-ads/answer/2476688).
# Corresponds to the JSON property `snippet`
# @return [String]
attr_accessor :snippet
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@snippet = args[:snippet] if args.key?(:snippet)
end
end
# HTML content for a creative.
class HtmlContent
include Google::Apis::Core::Hashable
# The height of the HTML snippet in pixels.
# Can be used to filter the response of the
# creatives.list
# method.
# Corresponds to the JSON property `height`
# @return [Fixnum]
attr_accessor :height
# The HTML snippet that displays the ad when inserted in the web page.
# Corresponds to the JSON property `snippet`
# @return [String]
attr_accessor :snippet
# The width of the HTML snippet in pixels.
# Can be used to filter the response of the
# creatives.list
# method.
# Corresponds to the JSON property `width`
# @return [Fixnum]
attr_accessor :width
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@height = args[:height] if args.key?(:height)
@snippet = args[:snippet] if args.key?(:snippet)
@width = args[:width] if args.key?(:width)
end
end
# HTTP calls made by a creative that resulted in policy violations.
class HttpCallEvidence
include Google::Apis::Core::Hashable
# URLs of HTTP calls made by the creative.
# Corresponds to the JSON property `urls`
# @return [Array<String>]
attr_accessor :urls
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@urls = args[:urls] if args.key?(:urls)
end
end
# Evidence for HTTP cookie-related policy violations.
class HttpCookieEvidence
include Google::Apis::Core::Hashable
# Names of cookies that violate Google policies.
# For TOO_MANY_COOKIES policy, this will be the cookie names of top domains
# with the largest number of cookies. For other policies, this will be all
# the cookie names that violate the policy.
# Corresponds to the JSON property `cookieNames`
# @return [Array<String>]
attr_accessor :cookie_names
# The largest number of cookies set by a creative. If this field is set,
# cookie_names above will be set to the cookie names of top domains with
# the largest number of cookies.
# This field will only be set for TOO_MANY_COOKIES policy.
# Corresponds to the JSON property `maxCookieCount`
# @return [Fixnum]
attr_accessor :max_cookie_count
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@cookie_names = args[:cookie_names] if args.key?(:cookie_names)
@max_cookie_count = args[:max_cookie_count] if args.key?(:max_cookie_count)
end
end
# An image resource. You may provide a larger image than was requested,
# so long as the aspect ratio is preserved.
class Image
include Google::Apis::Core::Hashable
# Image height in pixels.
# Corresponds to the JSON property `height`
# @return [Fixnum]
attr_accessor :height
# The URL of the image.
# Corresponds to the JSON property `url`
# @return [String]
attr_accessor :url
# Image width in pixels.
# Corresponds to the JSON property `width`
# @return [Fixnum]
attr_accessor :width
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@height = args[:height] if args.key?(:height)
@url = args[:url] if args.key?(:url)
@width = args[:width] if args.key?(:width)
end
end
# A response for listing creatives.
class ListCreativesResponse
include Google::Apis::Core::Hashable
# The list of creatives.
# Corresponds to the JSON property `creatives`
# @return [Array<Google::Apis::RealtimebiddingV1::Creative>]
attr_accessor :creatives
# A token to retrieve the next page of results.
# Pass this value in the
# ListCreativesRequest.pageToken
# field in the subsequent call to the `ListCreatives` 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)
@creatives = args[:creatives] if args.key?(:creatives)
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
end
end
# The list user list response.
class ListUserListsResponse
include Google::Apis::Core::Hashable
# The continuation page token to send back to the server in a subsequent
# request.
# Due to a currently known issue, it is recommended that the caller keep
# invoking the list method till the time a next page token is not returned
# (even if the result set is empty).
# Corresponds to the JSON property `nextPageToken`
# @return [String]
attr_accessor :next_page_token
# List of user lists from the search.
# Corresponds to the JSON property `userLists`
# @return [Array<Google::Apis::RealtimebiddingV1::UserList>]
attr_accessor :user_lists
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)
@user_lists = args[:user_lists] if args.key?(:user_lists)
end
end
# Information about each media file in the VAST.
class MediaFile
include Google::Apis::Core::Hashable
# Bitrate of the video file, in Kbps.
# Can be used to filter the response of the
# creatives.list
# method.
# Corresponds to the JSON property `bitrate`
# @return [Fixnum]
attr_accessor :bitrate
# The MIME type of this media file.
# Can be used to filter the response of the
# creatives.list
# method.
# Corresponds to the JSON property `mimeType`
# @return [String]
attr_accessor :mime_type
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@bitrate = args[:bitrate] if args.key?(:bitrate)
@mime_type = args[:mime_type] if args.key?(:mime_type)
end
end
# Native content for a creative.
class NativeContent
include Google::Apis::Core::Hashable
# The name of the advertiser or sponsor, to be displayed in the ad creative.
# Corresponds to the JSON property `advertiserName`
# @return [String]
attr_accessor :advertiser_name
# An image resource. You may provide a larger image than was requested,
# so long as the aspect ratio is preserved.
# Corresponds to the JSON property `appIcon`
# @return [Google::Apis::RealtimebiddingV1::Image]
attr_accessor :app_icon
# A long description of the ad.
# Corresponds to the JSON property `body`
# @return [String]
attr_accessor :body
# A label for the button that the user is supposed to click.
# Corresponds to the JSON property `callToAction`
# @return [String]
attr_accessor :call_to_action
# The URL that the browser/SDK will load when the user clicks the ad.
# Corresponds to the JSON property `clickLinkUrl`
# @return [String]
attr_accessor :click_link_url
# The URL to use for click tracking.
# Corresponds to the JSON property `clickTrackingUrl`
# @return [String]
attr_accessor :click_tracking_url
# A short title for the ad.
# Corresponds to the JSON property `headline`
# @return [String]
attr_accessor :headline
# An image resource. You may provide a larger image than was requested,
# so long as the aspect ratio is preserved.
# Corresponds to the JSON property `image`
# @return [Google::Apis::RealtimebiddingV1::Image]
attr_accessor :image
# An image resource. You may provide a larger image than was requested,
# so long as the aspect ratio is preserved.
# Corresponds to the JSON property `logo`
# @return [Google::Apis::RealtimebiddingV1::Image]
attr_accessor :logo
# The price of the promoted app including currency info.
# Corresponds to the JSON property `priceDisplayText`
# @return [String]
attr_accessor :price_display_text
# The app rating in the app store. Must be in the range [0-5].
# Corresponds to the JSON property `starRating`
# @return [Float]
attr_accessor :star_rating
# The URL to fetch a native video ad.
# Corresponds to the JSON property `videoUrl`
# @return [String]
attr_accessor :video_url
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@advertiser_name = args[:advertiser_name] if args.key?(:advertiser_name)
@app_icon = args[:app_icon] if args.key?(:app_icon)
@body = args[:body] if args.key?(:body)
@call_to_action = args[:call_to_action] if args.key?(:call_to_action)
@click_link_url = args[:click_link_url] if args.key?(:click_link_url)
@click_tracking_url = args[:click_tracking_url] if args.key?(:click_tracking_url)
@headline = args[:headline] if args.key?(:headline)
@image = args[:image] if args.key?(:image)
@logo = args[:logo] if args.key?(:logo)
@price_display_text = args[:price_display_text] if args.key?(:price_display_text)
@star_rating = args[:star_rating] if args.key?(:star_rating)
@video_url = args[:video_url] if args.key?(:video_url)
end
end
# A request to open a specified user list.
class OpenUserListRequest
include Google::Apis::Core::Hashable
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
end
end
# Each policy topic entry will represent a violation of a policy topic for a
# creative, with the policy topic information and optional evidence for the
# policy violation.
class PolicyTopicEntry
include Google::Apis::Core::Hashable
# Pieces of evidence associated with this policy topic entry.
# Corresponds to the JSON property `evidences`
# @return [Array<Google::Apis::RealtimebiddingV1::PolicyTopicEvidence>]
attr_accessor :evidences
# URL of the help center article describing this policy topic.
# Corresponds to the JSON property `helpCenterUrl`
# @return [String]
attr_accessor :help_center_url
# Policy topic this entry refers to. For example, "ALCOHOL",
# "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible
# policy topics is not fixed for a particular API version and may change at
# any time.
# Can be used to filter the response of the
# creatives.list
# method
# Corresponds to the JSON property `policyTopic`
# @return [String]
attr_accessor :policy_topic
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@evidences = args[:evidences] if args.key?(:evidences)
@help_center_url = args[:help_center_url] if args.key?(:help_center_url)
@policy_topic = args[:policy_topic] if args.key?(:policy_topic)
end
end
# Evidence associated with a policy topic entry.
class PolicyTopicEvidence
include Google::Apis::Core::Hashable
# Evidence that the creative's destination URL was not crawlable by Google.
# Corresponds to the JSON property `destinationNotCrawlable`
# @return [Google::Apis::RealtimebiddingV1::DestinationNotCrawlableEvidence]
attr_accessor :destination_not_crawlable
# Evidence of the creative's destination URL not functioning properly or
# having been incorrectly set up.
# Corresponds to the JSON property `destinationNotWorking`
# @return [Google::Apis::RealtimebiddingV1::DestinationNotWorkingEvidence]
attr_accessor :destination_not_working
# The full landing page URL of the destination.
# Corresponds to the JSON property `destinationUrl`
# @return [Google::Apis::RealtimebiddingV1::DestinationUrlEvidence]
attr_accessor :destination_url
# Number of HTTP calls made by a creative, broken down by domain.
# Corresponds to the JSON property `domainCall`
# @return [Google::Apis::RealtimebiddingV1::DomainCallEvidence]
attr_accessor :domain_call
# Total download size and URL-level download size breakdown for resources in
# a creative.
# Corresponds to the JSON property `downloadSize`
# @return [Google::Apis::RealtimebiddingV1::DownloadSizeEvidence]
attr_accessor :download_size
# HTTP calls made by a creative that resulted in policy violations.
# Corresponds to the JSON property `httpCall`
# @return [Google::Apis::RealtimebiddingV1::HttpCallEvidence]
attr_accessor :http_call
# Evidence for HTTP cookie-related policy violations.
# Corresponds to the JSON property `httpCookie`
# @return [Google::Apis::RealtimebiddingV1::HttpCookieEvidence]
attr_accessor :http_cookie
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@destination_not_crawlable = args[:destination_not_crawlable] if args.key?(:destination_not_crawlable)
@destination_not_working = args[:destination_not_working] if args.key?(:destination_not_working)
@destination_url = args[:destination_url] if args.key?(:destination_url)
@domain_call = args[:domain_call] if args.key?(:domain_call)
@download_size = args[:download_size] if args.key?(:download_size)
@http_call = args[:http_call] if args.key?(:http_call)
@http_cookie = args[:http_cookie] if args.key?(:http_cookie)
end
end
# Serving status of the creative for a transaction type or a region.
class ServingStatus
include Google::Apis::Core::Hashable
# Serving status for the given transaction type (e.g., open auction,
# deals) or region (e.g., China, Russia).
# Can be used to filter the response of the
# creatives.list
# method.
# Corresponds to the JSON property `status`
# @return [String]
attr_accessor :status
# Policy topics related to the serving decision for this transaction type
# (e.g., open auction, deals) or region (e.g., China, Russia).
# Topics may be present only if status is DISAPPROVED.
# Corresponds to the JSON property `topics`
# @return [Array<Google::Apis::RealtimebiddingV1::PolicyTopicEntry>]
attr_accessor :topics
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@status = args[:status] if args.key?(:status)
@topics = args[:topics] if args.key?(:topics)
end
end
# The URL-level breakdown for the download size.
class UrlDownloadSize
include Google::Apis::Core::Hashable
# Download size of the URL in kilobytes.
# Corresponds to the JSON property `downloadSizeKb`
# @return [Fixnum]
attr_accessor :download_size_kb
# The normalized URL with query parameters and fragment removed.
# Corresponds to the JSON property `normalizedUrl`
# @return [String]
attr_accessor :normalized_url
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@download_size_kb = args[:download_size_kb] if args.key?(:download_size_kb)
@normalized_url = args[:normalized_url] if args.key?(:normalized_url)
end
end
# Represents the URL restriction (for the URL captured by the pixel callback)
# for a user list.
class UrlRestriction
include Google::Apis::Core::Hashable
# Represents a whole or partial calendar date, e.g. a birthday. The time of day
# and time zone are either specified elsewhere or are not significant. The date
# is relative to the Proleptic Gregorian Calendar. This can represent:
# * A full date, with non-zero year, month and day values
# * A month and day value, with a zero year, e.g. an anniversary
# * A year on its own, with zero month and day values
# * A year and month value, with a zero day, e.g. a credit card expiration date
# Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.
# Corresponds to the JSON property `endDate`
# @return [Google::Apis::RealtimebiddingV1::Date]
attr_accessor :end_date
# The restriction type for the specified URL.
# Corresponds to the JSON property `restrictionType`
# @return [String]
attr_accessor :restriction_type
# Represents a whole or partial calendar date, e.g. a birthday. The time of day
# and time zone are either specified elsewhere or are not significant. The date
# is relative to the Proleptic Gregorian Calendar. This can represent:
# * A full date, with non-zero year, month and day values
# * A month and day value, with a zero year, e.g. an anniversary
# * A year on its own, with zero month and day values
# * A year and month value, with a zero day, e.g. a credit card expiration date
# Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.
# Corresponds to the JSON property `startDate`
# @return [Google::Apis::RealtimebiddingV1::Date]
attr_accessor :start_date
# Required. The URL to use for applying the restriction on the user list.
# 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)
@end_date = args[:end_date] if args.key?(:end_date)
@restriction_type = args[:restriction_type] if args.key?(:restriction_type)
@start_date = args[:start_date] if args.key?(:start_date)
@url = args[:url] if args.key?(:url)
end
end
# Represents an Authorized Buyers user list. Authorized Buyers can
# create/update/list user lists. Once a user list is created
# in the system, Authorized Buyers can add users to the user list using
# the bulk uploader API. Alternatively, users can be added by hosting a
# tag on the advertiser's page.
class UserList
include Google::Apis::Core::Hashable
# The description for the user list.
# Corresponds to the JSON property `description`
# @return [String]
attr_accessor :description
# Required. Display name of the user list. This must be unique across all user
# lists
# for a given account.
# Corresponds to the JSON property `displayName`
# @return [String]
attr_accessor :display_name
# Required. The number of days a user's cookie stays on the user list.
# The field must be between 0 and 540 inclusive.
# Corresponds to the JSON property `membershipDurationDays`
# @return [Fixnum]
attr_accessor :membership_duration_days
# Output only. Name of the user list that must follow the pattern
# `buyers/`buyer`/userLists/`user_list``, where ``buyer`` represents
# the account ID of the buyer who owns the user list. For a bidder accessing
# user lists on behalf of a child seat buyer, ``buyer`` represents
# the account ID of the child seat buyer. ``user_list`` is an int64
# identifier assigned by Google to uniquely identify a user list.
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
# Output only. The status of the user list. A new user list starts out as open.
# Corresponds to the JSON property `status`
# @return [String]
attr_accessor :status
# Represents the URL restriction (for the URL captured by the pixel callback)
# for a user list.
# Corresponds to the JSON property `urlRestriction`
# @return [Google::Apis::RealtimebiddingV1::UrlRestriction]
attr_accessor :url_restriction
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@description = args[:description] if args.key?(:description)
@display_name = args[:display_name] if args.key?(:display_name)
@membership_duration_days = args[:membership_duration_days] if args.key?(:membership_duration_days)
@name = args[:name] if args.key?(:name)
@status = args[:status] if args.key?(:status)
@url_restriction = args[:url_restriction] if args.key?(:url_restriction)
end
end
# Video content for a creative.
class VideoContent
include Google::Apis::Core::Hashable
# Video metadata for a creative.
# Corresponds to the JSON property `videoMetadata`
# @return [Google::Apis::RealtimebiddingV1::VideoMetadata]
attr_accessor :video_metadata
# The URL to fetch a video ad.
# Corresponds to the JSON property `videoUrl`
# @return [String]
attr_accessor :video_url
# The contents of a VAST document for a video ad.
# This document should conform to the VAST 2.0 or 3.0 standard.
# Corresponds to the JSON property `videoVastXml`
# @return [String]
attr_accessor :video_vast_xml
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@video_metadata = args[:video_metadata] if args.key?(:video_metadata)
@video_url = args[:video_url] if args.key?(:video_url)
@video_vast_xml = args[:video_vast_xml] if args.key?(:video_vast_xml)
end
end
# Video metadata for a creative.
class VideoMetadata
include Google::Apis::Core::Hashable
# The duration of the ad.
# Can be used to filter the response of the
# creatives.list
# method.
# Corresponds to the JSON property `duration`
# @return [String]
attr_accessor :duration
# Is this a valid VAST ad?
# Can be used to filter the response of the
# creatives.list
# method.
# Corresponds to the JSON property `isValidVast`
# @return [Boolean]
attr_accessor :is_valid_vast
alias_method :is_valid_vast?, :is_valid_vast
# Is this a VPAID ad?
# Can be used to filter the response of the
# creatives.list
# method.
# Corresponds to the JSON property `isVpaid`
# @return [Boolean]
attr_accessor :is_vpaid
alias_method :is_vpaid?, :is_vpaid
# The list of all media files declared in the VAST. If there are multiple
# VASTs in a wrapper chain, this includes the media files from the deepest
# one in the chain.
# Corresponds to the JSON property `mediaFiles`
# @return [Array<Google::Apis::RealtimebiddingV1::MediaFile>]
attr_accessor :media_files
# The minimum duration that the user has to watch before being able to
# skip this ad. If the field is not set, the ad is not skippable. If
# the field is set, the ad is skippable.
# Can be used to filter the response of the
# creatives.list
# method.
# Corresponds to the JSON property `skipOffset`
# @return [String]
attr_accessor :skip_offset
# The maximum VAST version across all wrapped VAST documents.
# Can be used to filter the response of the
# creatives.list
# method.
# Corresponds to the JSON property `vastVersion`
# @return [String]
attr_accessor :vast_version
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@duration = args[:duration] if args.key?(:duration)
@is_valid_vast = args[:is_valid_vast] if args.key?(:is_valid_vast)
@is_vpaid = args[:is_vpaid] if args.key?(:is_vpaid)
@media_files = args[:media_files] if args.key?(:media_files)
@skip_offset = args[:skip_offset] if args.key?(:skip_offset)
@vast_version = args[:vast_version] if args.key?(:vast_version)
end
end
# A request to receive push notifications when any of the creatives belonging
# to the bidder changes status.
class WatchCreativesRequest
include Google::Apis::Core::Hashable
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
end
end
# A response for the request to receive push notification when a bidder's
# creatives change status.
class WatchCreativesResponse
include Google::Apis::Core::Hashable
# The Pub/Sub subscription that can be used to pull creative status
# notifications. This would be of the format
# `projects/`project_id`/subscriptions/`subscription_id``.
# Subscription is created with pull delivery. All service accounts belonging
# to the bidder will have read access to this subscription.
# Subscriptions that are inactive for more than 90 days will be disabled.
# Please use
# watchCreatives to
# re-enable the subscription.
# Corresponds to the JSON property `subscription`
# @return [String]
attr_accessor :subscription
# The Pub/Sub topic that will be used to publish creative serving
# status notifications. This would be of the format
# `projects/`project_id`/topics/`topic_id``.
# Corresponds to the JSON property `topic`
# @return [String]
attr_accessor :topic
def initialize(**args)
update!(**args)
end
# Update properties of this object
def update!(**args)
@subscription = args[:subscription] if args.key?(:subscription)
@topic = args[:topic] if args.key?(:topic)
end
end
end
end
end