blob: 0f98cca706410cfe80b9c3fcc16dc993d7258088 [file]
// Copyright 2023 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.
syntax = "proto3";
package google.ads.admanager.v1;
import "google/ads/admanager/v1/ad_unit_enums.proto";
import "google/ads/admanager/v1/ad_unit_size.proto";
import "google/ads/admanager/v1/applied_label.proto";
import "google/ads/admanager/v1/frequency_cap.proto";
import "google/api/annotations.proto";
import "google/api/client.proto";
import "google/api/field_behavior.proto";
import "google/api/resource.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/timestamp.proto";
option csharp_namespace = "Google.Ads.AdManager.V1";
option go_package = "google.golang.org/genproto/googleapis/ads/admanager/v1;admanager";
option java_multiple_files = true;
option java_outer_classname = "AdUnitServiceProto";
option java_package = "com.google.ads.admanager.v1";
option objc_class_prefix = "GAA";
option php_namespace = "Google\\Ads\\AdManager\\V1";
// Provides methods for handling AdUnit objects.
service AdUnitService {
option (google.api.default_host) = "admanager.googleapis.com";
// API to retrieve an AdUnit object.
rpc GetAdUnit(GetAdUnitRequest) returns (AdUnit) {
option (google.api.http) = {
get: "/v1/{name=networks/*/adUnits/*}"
};
option (google.api.method_signature) = "name";
}
// API to retrieve a list of AdUnit objects.
rpc ListAdUnits(ListAdUnitsRequest) returns (ListAdUnitsResponse) {
option (google.api.http) = {
get: "/v1/{parent=networks/*}/adUnits"
};
option (google.api.method_signature) = "parent";
}
}
// The AdUnit resource.
message AdUnit {
option (google.api.resource) = {
type: "admanager.googleapis.com/AdUnit"
pattern: "networks/{network_code}/adUnits/{ad_unit}"
plural: "adUnits"
singular: "adUnit"
};
// The status of an AdUnit.
enum Status {
// Default value. This value is unused.
STATUS_UNSPECIFIED = 0;
// The ad unit is active, available for targeting, and serving.
ACTIVE = 1;
// The ad unit will be visible in the UI, but ignored by serving.
INACTIVE = 2;
// The ad unit will be hidden in the UI and ignored by serving.
ARCHIVED = 3;
}
// Identifier. The resource name of the AdUnit.
// Format: `networks/{network_code}/adUnits/{ad_unit_id}`
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
// Output only. AdUnit ID.
int64 ad_unit_id = 15 [(google.api.field_behavior) = OUTPUT_ONLY];
// Required. Immutable. The AdUnit's parent. Every ad unit has a parent except
// for the root ad unit, which is created by Google. Format:
// "networks/{network_code}/adUnits/{ad_unit_id}"
string parent_ad_unit = 10 [
(google.api.field_behavior) = REQUIRED,
(google.api.field_behavior) = IMMUTABLE,
(google.api.resource_reference) = {
type: "admanager.googleapis.com/AdUnit"
}
];
// Output only. The path to this AdUnit in the ad unit hierarchy represented
// as a list from the root to this ad unit's parent. For root ad units, this
// list is empty.
repeated AdUnitParent parent_path = 11
[(google.api.field_behavior) = OUTPUT_ONLY];
// Required. The display name of the ad unit. Its maximum length is 255
// characters.
string display_name = 9 [(google.api.field_behavior) = REQUIRED];
// Immutable. A string used to uniquely identify the ad unit for the purposes
// of serving the ad. This attribute is optional and can be set during ad unit
// creation. If it is not provided, it will be assigned by Google based off of
// the ad unit ID.
string ad_unit_code = 2 [(google.api.field_behavior) = IMMUTABLE];
// Output only. The status of this ad unit. It defaults to ACTIVE.
Status status = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
// Non-empty default. The value to use for the HTML link's target attribute.
// This value will be interpreted as TOP if left blank.
TargetWindowEnum.TargetWindow target_window = 12
[(google.api.field_behavior) = NON_EMPTY_DEFAULT];
// Optional. The resource names of Teams directly applied to this AdUnit.
// Format: "networks/{network_code}/teams/{team_id}"
repeated string applied_teams = 3 [
(google.api.field_behavior) = OPTIONAL,
(google.api.resource_reference) = { type: "admanager.googleapis.com/Team" }
];
// Output only. The resource names of all Teams that this AdUnit is on as well
// as those inherited from parent AdUnits. Format:
// "networks/{network_code}/teams/{team_id}"
repeated string teams = 4 [
(google.api.field_behavior) = OUTPUT_ONLY,
(google.api.resource_reference) = { type: "admanager.googleapis.com/Team" }
];
// Optional. A description of the ad unit. The maximum length is 65,535
// characters.
string description = 5 [(google.api.field_behavior) = OPTIONAL];
// Optional. If this field is set to true, then the AdUnit will not be
// implicitly targeted when its parent is. Traffickers must explicitly
// target such an AdUnit or else no line items will serve to it. This
// feature is only available for Ad Manager 360 accounts.
bool explicitly_targeted = 6 [(google.api.field_behavior) = OPTIONAL];
// Output only. This field is set to true if the ad unit has any children.
bool has_children = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. The instant this AdUnit was last modified.
google.protobuf.Timestamp update_time = 8
[(google.api.field_behavior) = OUTPUT_ONLY];
// Optional. The sizes that can be served inside this ad unit.
repeated AdUnitSize ad_unit_sizes = 14
[(google.api.field_behavior) = OPTIONAL];
// Optional. Determines what set top box video on demand channel this ad unit
// corresponds to in an external set top box ad campaign system.
string external_set_top_box_channel_id = 17
[(google.api.field_behavior) = OPTIONAL];
// Optional. The duration after which an Ad Unit will automatically refresh.
// This is only valid for ad units in mobile apps. If not set, the ad unit
// will not refresh.
google.protobuf.Duration refresh_delay = 19
[(google.api.field_behavior) = OPTIONAL];
// Optional. The ID of the CTV application that this ad unit is within.
int64 ctv_application_id = 20 [(google.api.field_behavior) = OPTIONAL];
// Optional. The set of labels applied directly to this ad unit.
repeated AppliedLabel applied_labels = 21
[(google.api.field_behavior) = OPTIONAL];
// Output only. Contains the set of labels applied directly to the ad unit as
// well as those inherited from the parent ad units. If a label has been
// negated, only the negated label is returned. This field is readonly and is
// assigned by Google.
repeated AppliedLabel effective_applied_labels = 22
[(google.api.field_behavior) = OUTPUT_ONLY];
// Optional. The set of label frequency caps applied directly to this ad unit.
// There is a limit of 10 label frequency caps per ad unit.
repeated LabelFrequencyCap applied_label_frequency_caps = 23
[(google.api.field_behavior) = OPTIONAL];
// Output only. The label frequency caps applied directly to the ad unit as
// well as those inherited from parent ad units.
repeated LabelFrequencyCap effective_label_frequency_caps = 24
[(google.api.field_behavior) = OUTPUT_ONLY];
// Optional. The smart size mode for this ad unit. This attribute is optional
// and defaults to SmartSizeMode.NONE for fixed sizes.
SmartSizeModeEnum.SmartSizeMode smart_size_mode = 25
[(google.api.field_behavior) = OPTIONAL];
// Optional. The value of AdSense enabled directly applied to this ad unit.
// This attribute is optional and if not specified this ad unit will inherit
// the value of effectiveAdsenseEnabled from its ancestors.
AppliedAdsenseEnabledEnum.AppliedAdsenseEnabled applied_adsense_enabled = 26
[(google.api.field_behavior) = OPTIONAL];
// Output only. Specifies whether or not the AdUnit is enabled for serving ads
// from the AdSense content network. This attribute defaults to the ad unit's
// parent or ancestor's setting if one has been set. If no ancestor of the ad
// unit has set appliedAdsenseEnabled, the attribute is defaulted to true.
bool effective_adsense_enabled = 27
[(google.api.field_behavior) = OUTPUT_ONLY];
}
// The summary of a parent AdUnit.
message AdUnitParent {
// Output only. The parent of the current AdUnit
// Format: `networks/{network_code}/adUnits/{ad_unit_id}`
string parent_ad_unit = 1 [
(google.api.field_behavior) = OUTPUT_ONLY,
(google.api.resource_reference) = {
type: "admanager.googleapis.com/AdUnit"
}
];
// Output only. The display name of the parent AdUnit.
string display_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. A string used to uniquely identify the ad unit for the
// purposes of serving the ad.
string ad_unit_code = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// Wrapper message for
// [TargetWindow][google.ads.admanager.v1.TargetWindowEnum.TargetWindow].
message TargetWindowEnum {
// Corresponds to an HTML link's target attribute.
// See http://www.w3.org/TR/html401/present/frames.html#adef-target
enum TargetWindow {
// Default value. This value is unused.
TARGET_WINDOW_UNSPECIFIED = 0;
// Specifies that the link should open in the full body of the page.
TOP = 1;
// Specifies that the link should open in a new window.
BLANK = 2;
}
}
// Frequency cap using a label.
message LabelFrequencyCap {
// The label to used for frequency capping.
// Format: "networks/{network_code}/labels/{label_id}"
string label = 1;
// The frequency cap.
FrequencyCap frequency_cap = 2;
}
// Wrapper message for
// [SmartSizeMode][google.ads.admanager.v1.SmartSizeModeEnum.SmartSizeMode].
message SmartSizeModeEnum {
// The smart size mode for this ad unit. This attribute is optional and
// defaults to SmartSizeMode.NONE for fixed sizes.
enum SmartSizeMode {
// Default value. This value is unused.
SMART_SIZE_MODE_UNSPECIFIED = 0;
// Fixed size mode (default).
NONE = 1;
// The height is fixed for the request, the width is a range.
SMART_BANNER = 2;
// Height and width are ranges.
DYNAMIC_SIZE = 3;
}
}
// Request object for GetAdUnit method.
message GetAdUnitRequest {
// Required. The resource name of the AdUnit.
// Format: `networks/{network_code}/adUnits/{ad_unit_id}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "admanager.googleapis.com/AdUnit"
}
];
}
// Request object for ListAdUnits method.
message ListAdUnitsRequest {
// Required. The parent, which owns this collection of AdUnits.
// Format: `networks/{network_code}`
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "admanager.googleapis.com/Network"
}
];
// Optional. The maximum number of AdUnits to return. The service may return
// fewer than this value. If unspecified, at most 50 ad units will be
// returned. The maximum value is 1000; values above 1000 will be coerced to
// 1000.
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
// Optional. A page token, received from a previous `ListAdUnits` call.
// Provide this to retrieve the subsequent page.
//
// When paginating, all other parameters provided to `ListAdUnits` must match
// the call that provided the page token.
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
// Optional. Expression to filter the response.
// See syntax details at
// https://developers.google.com/ad-manager/api/beta/filters
string filter = 4 [(google.api.field_behavior) = OPTIONAL];
// Optional. Expression to specify sorting order.
// See syntax details at
// https://developers.google.com/ad-manager/api/beta/filters#order
string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
// Optional. Number of individual resources to skip while paginating.
int32 skip = 6 [(google.api.field_behavior) = OPTIONAL];
}
// Response object for ListAdUnitsRequest containing matching AdUnit resources.
message ListAdUnitsResponse {
// The AdUnit from the specified network.
repeated AdUnit ad_units = 1;
// A token, which can be sent as `page_token` to retrieve the next page.
// If this field is omitted, there are no subsequent pages.
string next_page_token = 2;
// Total number of AdUnits.
// If a filter was included in the request, this reflects the total number
// after the filtering is applied.
//
// `total_size` will not be calculated in the response unless it has been
// included in a response field mask. The response field mask can be provided
// to the method by using the URL parameter `$fields` or `fields`, or by using
// the HTTP/gRPC header `X-Goog-FieldMask`.
//
// For more information, see
// https://developers.google.com/ad-manager/api/beta/field-masks
int32 total_size = 3;
}