| // 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; |
| } |