mirror of
https://github.com/googleapis/googleapis.git
synced 2026-08-19 13:17:47 +02:00
feat: Added AdSpotService
feat: Added CdnConfigService feat: Added LiveStreamService feat: Added TargetingPresetService feat: Added SuggestedAdUnitService feat: Added ThirdPartyCompanyService feat: Added `status` and `updateTime` fields to ContentBundle feat: Added write methods for CustomTargetingValue feat: Added `DECLARED_ADVERTISER_DOMAIN` report Dimension docs: Normalized documentation on standard methods PiperOrigin-RevId: 948426632
This commit is contained in:
parent
8ff1d42bd1
commit
9cbb0fd09b
71 changed files with 4978 additions and 126 deletions
|
|
@ -29,9 +29,19 @@ proto_library(
|
|||
"ad_review_center_ad_enums.proto",
|
||||
"ad_review_center_ad_messages.proto",
|
||||
"ad_review_center_ad_service.proto",
|
||||
"ad_rule_enums.proto",
|
||||
"ad_rule_messages.proto",
|
||||
"ad_rule_service.proto",
|
||||
"ad_rule_slot_behavior_enum.proto",
|
||||
"ad_rule_slot_bumper_enum.proto",
|
||||
"ad_rule_slot_midroll_frequency_type_enum.proto",
|
||||
"ad_spot_messages.proto",
|
||||
"ad_spot_service.proto",
|
||||
"ad_spot_targeting_type_enum.proto",
|
||||
"ad_unit_enums.proto",
|
||||
"ad_unit_messages.proto",
|
||||
"ad_unit_service.proto",
|
||||
"admanager_error.proto",
|
||||
"application_enums.proto",
|
||||
"application_messages.proto",
|
||||
"application_service.proto",
|
||||
|
|
@ -44,6 +54,12 @@ proto_library(
|
|||
"browser_language_service.proto",
|
||||
"browser_messages.proto",
|
||||
"browser_service.proto",
|
||||
"cdn_config_messages.proto",
|
||||
"cdn_config_service.proto",
|
||||
"cdn_config_status_enum.proto",
|
||||
"cdn_config_type_enum.proto",
|
||||
"cdn_security_policy_enum.proto",
|
||||
"cdn_security_policy_origin_forwarding_enum.proto",
|
||||
"child_publisher_messages.proto",
|
||||
"cms_metadata_key_enums.proto",
|
||||
"cms_metadata_key_messages.proto",
|
||||
|
|
@ -57,8 +73,10 @@ proto_library(
|
|||
"contact_enums.proto",
|
||||
"contact_messages.proto",
|
||||
"contact_service.proto",
|
||||
"content_bundle_enums.proto",
|
||||
"content_bundle_messages.proto",
|
||||
"content_bundle_service.proto",
|
||||
"content_enums.proto",
|
||||
"content_label_messages.proto",
|
||||
"content_label_service.proto",
|
||||
"content_messages.proto",
|
||||
|
|
@ -78,6 +96,7 @@ proto_library(
|
|||
"custom_targeting_value_messages.proto",
|
||||
"custom_targeting_value_service.proto",
|
||||
"deal_buyer_permission_type_enum.proto",
|
||||
"deal_priority_tier_enum.proto",
|
||||
"device_capability_messages.proto",
|
||||
"device_capability_service.proto",
|
||||
"device_category_messages.proto",
|
||||
|
|
@ -103,7 +122,10 @@ proto_library(
|
|||
"linked_device_enums.proto",
|
||||
"linked_device_messages.proto",
|
||||
"linked_device_service.proto",
|
||||
"live_stream_event_enums.proto",
|
||||
"live_stream_event_messages.proto",
|
||||
"live_stream_messages.proto",
|
||||
"live_stream_service.proto",
|
||||
"mcm_earnings_messages.proto",
|
||||
"mcm_earnings_service.proto",
|
||||
"mcm_enums.proto",
|
||||
|
|
@ -115,6 +137,7 @@ proto_library(
|
|||
"mobile_device_submodel_service.proto",
|
||||
"network_messages.proto",
|
||||
"network_service.proto",
|
||||
"non_guaranteed_deal_priority.proto",
|
||||
"operating_system_messages.proto",
|
||||
"operating_system_service.proto",
|
||||
"operating_system_version_messages.proto",
|
||||
|
|
@ -148,14 +171,23 @@ proto_library(
|
|||
"site_service.proto",
|
||||
"size.proto",
|
||||
"size_type_enum.proto",
|
||||
"suggested_ad_unit_messages.proto",
|
||||
"suggested_ad_unit_service.proto",
|
||||
"target_platform_enum.proto",
|
||||
"targeted_video_bumper_type_enum.proto",
|
||||
"targeting.proto",
|
||||
"targeting_preset_enums.proto",
|
||||
"targeting_preset_messages.proto",
|
||||
"targeting_preset_service.proto",
|
||||
"taxonomy_category_messages.proto",
|
||||
"taxonomy_category_service.proto",
|
||||
"taxonomy_type_enum.proto",
|
||||
"team_enums.proto",
|
||||
"team_messages.proto",
|
||||
"team_service.proto",
|
||||
"third_party_company_enums.proto",
|
||||
"third_party_company_messages.proto",
|
||||
"third_party_company_service.proto",
|
||||
"time_unit_enum.proto",
|
||||
"user_messages.proto",
|
||||
"user_service.proto",
|
||||
|
|
@ -174,6 +206,7 @@ proto_library(
|
|||
"//google/type:interval_proto",
|
||||
"//google/type:money_proto",
|
||||
"//google/type:timeofday_proto",
|
||||
"@com_google_protobuf//:any_proto",
|
||||
"@com_google_protobuf//:duration_proto",
|
||||
"@com_google_protobuf//:empty_proto",
|
||||
"@com_google_protobuf//:field_mask_proto",
|
||||
|
|
@ -206,8 +239,6 @@ java_proto_library(
|
|||
deps = [":admanager_proto"],
|
||||
)
|
||||
|
||||
|
||||
|
||||
java_gapic_library(
|
||||
name = "admanager_java_gapic",
|
||||
srcs = [":admanager_proto_with_info"],
|
||||
|
|
@ -229,12 +260,15 @@ java_gapic_test(
|
|||
test_classes = [
|
||||
"com.google.ads.admanager.v1.AdBreakServiceClientTest",
|
||||
"com.google.ads.admanager.v1.AdReviewCenterAdServiceClientTest",
|
||||
"com.google.ads.admanager.v1.AdRuleServiceClientTest",
|
||||
"com.google.ads.admanager.v1.AdSpotServiceClientTest",
|
||||
"com.google.ads.admanager.v1.AdUnitServiceClientTest",
|
||||
"com.google.ads.admanager.v1.ApplicationServiceClientTest",
|
||||
"com.google.ads.admanager.v1.AudienceSegmentServiceClientTest",
|
||||
"com.google.ads.admanager.v1.BandwidthGroupServiceClientTest",
|
||||
"com.google.ads.admanager.v1.BrowserLanguageServiceClientTest",
|
||||
"com.google.ads.admanager.v1.BrowserServiceClientTest",
|
||||
"com.google.ads.admanager.v1.CdnConfigServiceClientTest",
|
||||
"com.google.ads.admanager.v1.CmsMetadataKeyServiceClientTest",
|
||||
"com.google.ads.admanager.v1.CmsMetadataValueServiceClientTest",
|
||||
"com.google.ads.admanager.v1.CompanyServiceClientTest",
|
||||
|
|
@ -254,6 +288,7 @@ java_gapic_test(
|
|||
"com.google.ads.admanager.v1.LabelServiceClientTest",
|
||||
"com.google.ads.admanager.v1.LineItemServiceClientTest",
|
||||
"com.google.ads.admanager.v1.LinkedDeviceServiceClientTest",
|
||||
"com.google.ads.admanager.v1.LiveStreamServiceClientTest",
|
||||
"com.google.ads.admanager.v1.McmEarningsServiceClientTest",
|
||||
"com.google.ads.admanager.v1.MobileCarrierServiceClientTest",
|
||||
"com.google.ads.admanager.v1.MobileDeviceServiceClientTest",
|
||||
|
|
@ -270,8 +305,11 @@ java_gapic_test(
|
|||
"com.google.ads.admanager.v1.RichMediaAdsCompanyServiceClientTest",
|
||||
"com.google.ads.admanager.v1.RoleServiceClientTest",
|
||||
"com.google.ads.admanager.v1.SiteServiceClientTest",
|
||||
"com.google.ads.admanager.v1.SuggestedAdUnitServiceClientTest",
|
||||
"com.google.ads.admanager.v1.TargetingPresetServiceClientTest",
|
||||
"com.google.ads.admanager.v1.TaxonomyCategoryServiceClientTest",
|
||||
"com.google.ads.admanager.v1.TeamServiceClientTest",
|
||||
"com.google.ads.admanager.v1.ThirdPartyCompanyServiceClientTest",
|
||||
"com.google.ads.admanager.v1.UserServiceClientTest",
|
||||
],
|
||||
runtime_deps = [":admanager_java_gapic_test"],
|
||||
|
|
@ -280,13 +318,13 @@ java_gapic_test(
|
|||
# Open Source Packages
|
||||
java_gapic_assembly_gradle_pkg(
|
||||
name = "google-ads-admanager-v1-java",
|
||||
include_samples = True,
|
||||
transport = "rest",
|
||||
deps = [
|
||||
":admanager_java_gapic",
|
||||
":admanager_java_proto",
|
||||
":admanager_proto",
|
||||
],
|
||||
include_samples = True,
|
||||
)
|
||||
|
||||
##############################################################################
|
||||
|
|
@ -331,6 +369,7 @@ go_gapic_library(
|
|||
"//google/longrunning:longrunning_go_proto",
|
||||
"@com_google_cloud_go_longrunning//:go_default_library",
|
||||
"@com_google_cloud_go_longrunning//autogen:go_default_library",
|
||||
"@io_bazel_rules_go//proto/wkt:any_go_proto",
|
||||
"@io_bazel_rules_go//proto/wkt:duration_go_proto",
|
||||
],
|
||||
)
|
||||
|
|
@ -340,9 +379,9 @@ go_gapic_assembly_pkg(
|
|||
name = "gapi-ads-admanager-v1-go",
|
||||
deps = [
|
||||
":admanager_go_gapic",
|
||||
":admanager_go_gapic_srcjar-test.srcjar",
|
||||
":admanager_go_gapic_srcjar-metadata.srcjar",
|
||||
":admanager_go_gapic_srcjar-snippets.srcjar",
|
||||
":admanager_go_gapic_srcjar-test.srcjar",
|
||||
":admanager_go_proto",
|
||||
],
|
||||
)
|
||||
|
|
@ -407,8 +446,8 @@ php_gapic_library(
|
|||
name = "admanager_php_gapic",
|
||||
srcs = [":admanager_proto_with_info"],
|
||||
grpc_service_config = "admanager_grpc_service_config.json",
|
||||
rest_numeric_enums = True,
|
||||
migration_mode = "NEW_SURFACE_ONLY",
|
||||
rest_numeric_enums = True,
|
||||
service_yaml = "admanager_v1.yaml",
|
||||
transport = "rest",
|
||||
deps = [
|
||||
|
|
@ -462,8 +501,8 @@ nodejs_gapic_assembly_pkg(
|
|||
# buildifier: disable=same-origin-load
|
||||
load(
|
||||
"@com_google_googleapis_imports//:imports.bzl",
|
||||
"ruby_gapic_assembly_pkg",
|
||||
"ruby_cloud_gapic_library",
|
||||
"ruby_gapic_assembly_pkg",
|
||||
"ruby_grpc_library",
|
||||
"ruby_proto_library",
|
||||
)
|
||||
|
|
@ -482,9 +521,7 @@ ruby_grpc_library(
|
|||
ruby_cloud_gapic_library(
|
||||
name = "admanager_ruby_gapic",
|
||||
srcs = [":admanager_proto_with_info"],
|
||||
extra_protoc_parameters = [
|
||||
"ruby-cloud-gem-name=google-ads-ad_manager-v1",
|
||||
],
|
||||
extra_protoc_parameters = ["ruby-cloud-gem-name=google-ads-ad_manager-v1"],
|
||||
grpc_service_config = "admanager_grpc_service_config.json",
|
||||
rest_numeric_enums = True,
|
||||
service_yaml = "admanager_v1.yaml",
|
||||
|
|
@ -519,7 +556,6 @@ load(
|
|||
|
||||
csharp_proto_library(
|
||||
name = "admanager_csharp_proto",
|
||||
extra_opts = [],
|
||||
deps = [":admanager_proto"],
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ service AdBreakService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve an `AdBreak` object.
|
||||
// Retrieves an `AdBreak` object.
|
||||
//
|
||||
// Query an ad break by its resource name or custom asset key. Check the
|
||||
// resource's `breakState` field to determine its state.
|
||||
|
|
@ -56,7 +56,7 @@ service AdBreakService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `AdBreak` objects.
|
||||
// Lists `AdBreak` objects.
|
||||
//
|
||||
// By default, when no `orderBy` query parameter is specified, ad breaks are
|
||||
// ordered reverse chronologically. However, ad breaks with a 'breakState' of
|
||||
|
|
@ -74,7 +74,7 @@ service AdBreakService {
|
|||
option (google.api.method_signature) = "parent";
|
||||
}
|
||||
|
||||
// API to create an `AdBreak` object.
|
||||
// Creates an `AdBreak` object.
|
||||
//
|
||||
// Informs DAI of an upcoming ad break for a live stream event, with an
|
||||
// optional expected start time. DAI will begin decisioning ads for the break
|
||||
|
|
@ -113,7 +113,7 @@ service AdBreakService {
|
|||
option (google.api.method_signature) = "parent,ad_break";
|
||||
}
|
||||
|
||||
// API to update an `AdBreak` object.
|
||||
// Updates an `AdBreak` object.
|
||||
//
|
||||
// Modify an ad break when its state is
|
||||
// [`SCHEDULED`][google.ads.admanager.v1.AdBreakStateEnum.AdBreakState.SCHEDULED].
|
||||
|
|
@ -125,7 +125,7 @@ service AdBreakService {
|
|||
option (google.api.method_signature) = "ad_break,update_mask";
|
||||
}
|
||||
|
||||
// API to delete an `AdBreak` object.
|
||||
// Deletes an `AdBreak` object.
|
||||
//
|
||||
// Deletes and cancels an incomplete ad break, mitigating the need to wait
|
||||
// for the current break to serve before recreating an ad break. You can
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ service AdReviewCenterAdService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to search for AdReviewCenterAds.
|
||||
// Searches for AdReviewCenterAds.
|
||||
rpc SearchAdReviewCenterAds(SearchAdReviewCenterAdsRequest)
|
||||
returns (SearchAdReviewCenterAdsResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -50,7 +50,7 @@ service AdReviewCenterAdService {
|
|||
option (google.api.method_signature) = "parent";
|
||||
}
|
||||
|
||||
// API to batch allow AdReviewCenterAds.
|
||||
// Batch allows AdReviewCenterAds.
|
||||
// This method supports partial success. Some operations may succeed while
|
||||
// others fail. Callers should check the failedRequests field in the response
|
||||
// to determine which operations failed.
|
||||
|
|
@ -67,7 +67,7 @@ service AdReviewCenterAdService {
|
|||
};
|
||||
}
|
||||
|
||||
// API to batch block AdReviewCenterAds.
|
||||
// Batch blocks AdReviewCenterAds.
|
||||
// This method supports partial success. Some operations may succeed while
|
||||
// others fail. Callers should check the failedRequests field in the response
|
||||
// to determine which operations failed.
|
||||
|
|
|
|||
61
google/ads/admanager/v1/ad_rule_enums.proto
Normal file
61
google/ads/admanager/v1/ad_rule_enums.proto
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
// Copyright 2026 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;
|
||||
|
||||
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 = "AdRuleEnumsProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
message AdRuleStatusEnum {
|
||||
// Represents the status of ad rules and ad rule slots.
|
||||
enum AdRuleStatus {
|
||||
// Default value. This value is unused.
|
||||
AD_RULE_STATUS_UNSPECIFIED = 0;
|
||||
|
||||
// Created and ready to be served. Is user-visible.
|
||||
ACTIVE = 1;
|
||||
|
||||
// Marked as deleted, not user-visible.
|
||||
DELETED = 2;
|
||||
|
||||
// Inactive, not user-visible.
|
||||
INACTIVE = 5;
|
||||
}
|
||||
}
|
||||
|
||||
// Wrapper message for
|
||||
// [AdRuleFrequencyCapBehavior][google.ads.admanager.v1.AdRuleFrequencyCapBehaviorEnum.AdRuleFrequencyCapBehavior]
|
||||
message AdRuleFrequencyCapBehaviorEnum {
|
||||
// Types of behavior for frequency caps within ad rules.
|
||||
enum AdRuleFrequencyCapBehavior {
|
||||
// Default value. This value is unused.
|
||||
AD_RULE_FREQUENCY_CAP_BEHAVIOR_UNSPECIFIED = 0;
|
||||
|
||||
// Defer frequency cap decisions to the next ad rule in priority order.
|
||||
DEFER = 1;
|
||||
|
||||
// Turn off all frequency caps.
|
||||
TURN_OFF = 2;
|
||||
|
||||
// Turn on at least one of the frequency caps.
|
||||
TURN_ON = 3;
|
||||
}
|
||||
}
|
||||
168
google/ads/admanager/v1/ad_rule_messages.proto
Normal file
168
google/ads/admanager/v1/ad_rule_messages.proto
Normal file
|
|
@ -0,0 +1,168 @@
|
|||
// Copyright 2026 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_rule_enums.proto";
|
||||
import "google/ads/admanager/v1/ad_rule_slot_behavior_enum.proto";
|
||||
import "google/ads/admanager/v1/ad_rule_slot_bumper_enum.proto";
|
||||
import "google/ads/admanager/v1/ad_rule_slot_midroll_frequency_type_enum.proto";
|
||||
import "google/ads/admanager/v1/targeting.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 = "AdRuleMessagesProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// An AdRule contains data that the ad server will use to generate a playlist of
|
||||
// video ads.
|
||||
message AdRule {
|
||||
option (google.api.resource) = {
|
||||
type: "admanager.googleapis.com/AdRule"
|
||||
pattern: "networks/{network_code}/adRules/{ad_rule}"
|
||||
plural: "adRules"
|
||||
singular: "adRule"
|
||||
};
|
||||
|
||||
// Identifier. The resource name of the `AdRule`.
|
||||
// Format: `networks/{network_code}/adRules/{ad_rule_id}`
|
||||
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
||||
|
||||
// Required. The unique name of the AdRule. This attribute is required to
|
||||
// create an ad rule and has a maximum length of 255 characters.
|
||||
optional string display_name = 2 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Optional. The priority of the AdRule. This attribute is required and can
|
||||
// range from 1 to 1000, with 1 being the highest possible priority.
|
||||
//
|
||||
// Changing an ad rule's priority can affect the priorities of other ad rules.
|
||||
// For example,
|
||||
// increasing an ad rule's priority from 5 to 1 will shift the ad rules that
|
||||
// were previously in
|
||||
// priority positions 1 through 4 down one.
|
||||
optional int32 priority = 3 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Required. The start time of the AdRule. This attribute is required and must
|
||||
// be a date in the future for new ad rules.
|
||||
optional google.protobuf.Timestamp start_time = 13
|
||||
[(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Optional. This end time of the AdRule. This attribute is required
|
||||
// unless
|
||||
// [end_time_unlimited][google.ads.admanager.v1.AdRule.end_time_unlimited] is
|
||||
// set to true. If specified, it must be after the
|
||||
// [start_time][google.ads.admanager.v1.AdRule.start_time].
|
||||
optional google.protobuf.Timestamp end_time = 14
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Specifies whether or not the AdRule has an end time. This
|
||||
// attribute is optional and defaults to false.
|
||||
optional bool end_time_unlimited = 15
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Output only. The AdRuleStatus of the AdRule. This attribute is read-only
|
||||
// and defaults to [AdRuleStatus.INACTIVE][].
|
||||
optional AdRuleStatusEnum.AdRuleStatus status = 4
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Optional. The FrequencyCapBehavior of the AdRule. This attribute is
|
||||
// optional and defaults to [FrequencyCapBehavior.DEFER][].
|
||||
optional AdRuleFrequencyCapBehaviorEnum.AdRuleFrequencyCapBehavior
|
||||
frequency_cap_behavior = 5 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. This AdRule object's frequency cap for the maximum impressions
|
||||
// per stream. This attribute is optional and defaults to 0.
|
||||
optional int32 max_impressions_per_line_item_per_stream = 6
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. This AdRule object's frequency cap for the maximum impressions
|
||||
// per pod. This attribute is optional and defaults to 0.
|
||||
optional int32 max_impressions_per_line_item_per_pod = 7
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Required. This AdRule object's pre-roll slot. This attribute is required.
|
||||
optional AdRuleSlot preroll = 8 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Required. This AdRule object's video mid-roll slots. This attribute is
|
||||
// required, and there must be at least one mid-roll.
|
||||
repeated AdRuleSlot midrolls = 9 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Required. This AdRule object's post-roll slot. This attribute is required.
|
||||
optional AdRuleSlot postroll = 10 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Required. The targeting of the `AdRule`.
|
||||
optional Targeting targeting = 11 [(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// Simple object representing an ad slot within an AdRule. Ad rule slots contain
|
||||
// information about the types/number of ads to display, as well as additional
|
||||
// information on how the ad server will generate playlists.
|
||||
message AdRuleSlot {
|
||||
// Optional. The AdRuleSlotBehavior for video ads for this slot. This
|
||||
// attribute is optional and defaults to [AdRuleSlotBehavior.DEFER][].
|
||||
// Indicates whether video ads are allowed for this slot, or if the decision
|
||||
// is deferred to alower-priority ad rule.
|
||||
optional AdRuleSlotBehaviorEnum.AdRuleSlotBehavior slot_behavior = 1
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The maximum duration in milliseconds of video ads within this
|
||||
// slot. This attribute is optional and defaults to 0.
|
||||
optional google.protobuf.Duration max_video_ad_duration = 4
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The frequency type for video ads in this ad rule slot. This
|
||||
// attribute is required for mid-rolls, but if this is not a mid-roll, the
|
||||
// value is set to [AdRuleSlotMidrollFrequencyType.NONE][].
|
||||
optional AdRuleSlotMidrollFrequencyTypeEnum.AdRuleSlotMidrollFrequencyType
|
||||
video_midroll_frequency_type = 5 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The mid-roll frequency of this ad rule slot for video ads. This
|
||||
// attribute is required for mid-rolls, but if MidrollFrequencyType is set to
|
||||
// [AdRuleSlotMidrollFrequencyType.NONE][], this value should be ignored. For
|
||||
// example, if this slot has a frequency type of
|
||||
// [AdRuleSlotMidrollFrequencyType.EVERY_N_SECONDS][] and
|
||||
// # videoMidrollFrequency = "60", this would mean "play a mid-roll every 60
|
||||
//
|
||||
// seconds."
|
||||
optional string video_midroll_frequency = 6
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The AdRuleSlotBumper for this slot. This attribute is optional
|
||||
// and defaults to [AdRuleSlotBumper.NONE][].
|
||||
optional AdRuleSlotBumperEnum.AdRuleSlotBumper bumper = 7
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The maximum duration of bumper ads within this slot. This
|
||||
// attribute is optional and defaults to 0.
|
||||
optional google.protobuf.Duration max_bumper_duration = 8
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The maximum pod duration for this slot. This attribute is
|
||||
// optional and defaults to 0.
|
||||
optional google.protobuf.Duration max_pod_duration = 9
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The maximum number of ads allowed in a pod in this slot. This
|
||||
// attribute is optional and defaults to 0.
|
||||
optional int32 pod_max_ad_count = 10 [(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
353
google/ads/admanager/v1/ad_rule_service.proto
Normal file
353
google/ads/admanager/v1/ad_rule_service.proto
Normal file
|
|
@ -0,0 +1,353 @@
|
|||
// Copyright 2026 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_rule_messages.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/empty.proto";
|
||||
import "google/protobuf/field_mask.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 = "AdRuleServiceProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// Provides methods for handling `AdRule` objects.
|
||||
service AdRuleService {
|
||||
option (google.api.default_host) = "admanager.googleapis.com";
|
||||
option (google.api.oauth_scopes) =
|
||||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// Retrieves an `AdRule` object.
|
||||
rpc GetAdRule(GetAdRuleRequest) returns (AdRule) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{name=networks/*/adRules/*}"
|
||||
};
|
||||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// Lists `AdRule` objects.
|
||||
rpc ListAdRules(ListAdRulesRequest) returns (ListAdRulesResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{parent=networks/*}/adRules"
|
||||
};
|
||||
option (google.api.method_signature) = "parent";
|
||||
}
|
||||
|
||||
// Creates a `AdRule` object.
|
||||
rpc CreateAdRule(CreateAdRuleRequest) returns (AdRule) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/adRules"
|
||||
body: "ad_rule"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,ad_rule";
|
||||
}
|
||||
|
||||
// Batch creates `AdRule` objects.
|
||||
rpc BatchCreateAdRules(BatchCreateAdRulesRequest)
|
||||
returns (BatchCreateAdRulesResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/adRules:batchCreate"
|
||||
body: "*"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,requests";
|
||||
}
|
||||
|
||||
// Updates a `AdRule` object.
|
||||
rpc UpdateAdRule(UpdateAdRuleRequest) returns (AdRule) {
|
||||
option (google.api.http) = {
|
||||
patch: "/v1/{ad_rule.name=networks/*/adRules/*}"
|
||||
body: "ad_rule"
|
||||
};
|
||||
option (google.api.method_signature) = "ad_rule,update_mask";
|
||||
}
|
||||
|
||||
// Batch updates `AdRule` objects.
|
||||
rpc BatchUpdateAdRules(BatchUpdateAdRulesRequest)
|
||||
returns (BatchUpdateAdRulesResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/adRules:batchUpdate"
|
||||
body: "*"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,requests";
|
||||
}
|
||||
|
||||
// Activates a list of `AdRule` objects.
|
||||
rpc BatchActivateAdRules(BatchActivateAdRulesRequest)
|
||||
returns (BatchActivateAdRulesResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/adRules:batchActivate"
|
||||
body: "*"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,names";
|
||||
}
|
||||
|
||||
// Deactivates a list of `AdRule` objects.
|
||||
rpc BatchDeactivateAdRules(BatchDeactivateAdRulesRequest)
|
||||
returns (BatchDeactivateAdRulesResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/adRules:batchDeactivate"
|
||||
body: "*"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,names";
|
||||
}
|
||||
|
||||
// Deletes a list of `AdRule` objects.
|
||||
rpc BatchDeleteAdRules(BatchDeleteAdRulesRequest)
|
||||
returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/adRules:batchDelete"
|
||||
body: "*"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,names";
|
||||
}
|
||||
}
|
||||
|
||||
// Request object for `GetAdRule` method.
|
||||
message GetAdRuleRequest {
|
||||
// Required. The resource name of the AdRule.
|
||||
// Format: `networks/{network_code}/adRules/{ad_rule_id}`
|
||||
string name = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/AdRule"
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
// Request object for `ListAdRules` method.
|
||||
message ListAdRulesRequest {
|
||||
// Required. The parent, which owns this collection of AdRules.
|
||||
// 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 `AdRules` to return. The service may return
|
||||
// fewer than this value. If unspecified, at most 50 `AdRules` will be
|
||||
// returned. The maximum value is 1000; values greater than 1000 will be
|
||||
// coerced to 1000.
|
||||
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. A page token, received from a previous `ListAdRules` call.
|
||||
// Provide this to retrieve the subsequent page.
|
||||
//
|
||||
// When paginating, all other parameters provided to `ListAdRules` 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
|
||||
//
|
||||
// <b>Filterable fields:</b>
|
||||
// <ul style="list-style-type:none">
|
||||
// <li><code>displayName</code></li>
|
||||
// <li><code>name</code></li>
|
||||
// <li><code>priority</code></li>
|
||||
// <li><code>status</code></li>
|
||||
// </ul>
|
||||
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 `ListAdRulesRequest` containing matching `AdRule`
|
||||
// objects.
|
||||
message ListAdRulesResponse {
|
||||
// The `AdRule` objects from the specified network.
|
||||
repeated AdRule ad_rules = 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 `AdRule` objects.
|
||||
// If a filter was included in the request, this reflects the total number
|
||||
// after the filtering is applied.
|
||||
//
|
||||
// `total_size` won't 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;
|
||||
}
|
||||
|
||||
// Request object for `CreateAdRule` method.
|
||||
message CreateAdRuleRequest {
|
||||
// Required. The parent resource where this `AdRule` will be created.
|
||||
// Format: `networks/{network_code}`
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The `AdRule` to create.
|
||||
AdRule ad_rule = 2 [(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// Request object for `BatchCreateAdRules` method.
|
||||
message BatchCreateAdRulesRequest {
|
||||
// Required. The parent resource where `AdRules` will be created.
|
||||
// Format: `networks/{network_code}`
|
||||
// The parent field in the CreateAdRuleRequest must match this
|
||||
// field.
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The `AdRule` objects to create.
|
||||
// A maximum of 100 objects can be created in a batch.
|
||||
repeated CreateAdRuleRequest requests = 2
|
||||
[(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// Response object for `BatchCreateAdRules` method.
|
||||
message BatchCreateAdRulesResponse {
|
||||
// The `AdRule` objects created.
|
||||
repeated AdRule ad_rules = 1;
|
||||
}
|
||||
|
||||
// Request object for `UpdateAdRule` method.
|
||||
message UpdateAdRuleRequest {
|
||||
// Required. The `AdRule` to update.
|
||||
//
|
||||
// The `AdRule`'s `name` is used to identify the `AdRule` to update.
|
||||
AdRule ad_rule = 1 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Optional. The list of fields to update.
|
||||
google.protobuf.FieldMask update_mask = 2
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// Request object for `BatchUpdateAdRules` method.
|
||||
message BatchUpdateAdRulesRequest {
|
||||
// Required. The parent resource where `AdRules` will be updated.
|
||||
// Format: `networks/{network_code}`
|
||||
// The parent field in the UpdateAdRuleRequest must match this
|
||||
// field.
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The `AdRule` objects to update.
|
||||
// A maximum of 100 objects can be updated in a batch.
|
||||
repeated UpdateAdRuleRequest requests = 2
|
||||
[(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// Response object for `BatchUpdateAdRules` method.
|
||||
message BatchUpdateAdRulesResponse {
|
||||
// The `AdRule` objects updated.
|
||||
repeated AdRule ad_rules = 1;
|
||||
}
|
||||
|
||||
// Request object for `BatchActivateAdRules` method.
|
||||
message BatchActivateAdRulesRequest {
|
||||
// Required. Format: `networks/{network_code}`
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. Resource names for the AdRule.
|
||||
// Format:
|
||||
// `networks/{network_code}/adRules/{ad_rule}`
|
||||
repeated string names = 2 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/AdRule"
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
// Response object for `BatchActivateAdRules` method.
|
||||
message BatchActivateAdRulesResponse {}
|
||||
|
||||
// Request object for `BatchDeactivateAdRules` method.
|
||||
message BatchDeactivateAdRulesRequest {
|
||||
// Required. Format: `networks/{network_code}`
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. Resource names for the AdRule.
|
||||
// Format:
|
||||
// `networks/{network_code}/adRules/{ad_rule}`
|
||||
repeated string names = 2 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/AdRule"
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
// Response object for `BatchDeactivateAdRules` method.
|
||||
message BatchDeactivateAdRulesResponse {}
|
||||
|
||||
// Request object for `BatchDeleteAdRules` method.
|
||||
message BatchDeleteAdRulesRequest {
|
||||
// Required. Format: `networks/{network_code}`
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. Resource names for the AdRule.
|
||||
// Format:
|
||||
// `networks/{network_code}/adRules/{ad_rule}`
|
||||
repeated string names = 2 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/AdRule"
|
||||
}
|
||||
];
|
||||
}
|
||||
45
google/ads/admanager/v1/ad_rule_slot_behavior_enum.proto
Normal file
45
google/ads/admanager/v1/ad_rule_slot_behavior_enum.proto
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
// Copyright 2026 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;
|
||||
|
||||
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 = "AdRuleSlotBehaviorEnumProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// Wrapper message for
|
||||
// [AdRuleSlotBehavior][google.ads.admanager.v1.AdRuleSlotBehaviorEnum.AdRuleSlotBehavior]
|
||||
message AdRuleSlotBehaviorEnum {
|
||||
// The types of behaviors for ads within a BaseAdRuleSlot ad rule slot.
|
||||
enum AdRuleSlotBehavior {
|
||||
// Default value. This value is unused.
|
||||
AD_RULE_SLOT_BEHAVIOR_UNSPECIFIED = 0;
|
||||
|
||||
// This ad rule always includes this slot's ads.
|
||||
ALWAYS_SHOW = 1;
|
||||
|
||||
// Defer to lower priority rules. This ad rule doesn't specify guidelines
|
||||
// for this slot's ads.
|
||||
DEFER = 2;
|
||||
|
||||
// This ad rule never includes this slot's ads.
|
||||
NEVER_SHOW = 3;
|
||||
}
|
||||
}
|
||||
47
google/ads/admanager/v1/ad_rule_slot_bumper_enum.proto
Normal file
47
google/ads/admanager/v1/ad_rule_slot_bumper_enum.proto
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
// Copyright 2026 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;
|
||||
|
||||
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 = "AdRuleSlotBumperEnumProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// Wrapper message for
|
||||
// [AdRuleSlotBumper][google.ads.admanager.v1.AdRuleSlotBumperEnum.AdRuleSlotBumper]
|
||||
message AdRuleSlotBumperEnum {
|
||||
// Types of bumper ads on an ad rule slot.
|
||||
enum AdRuleSlotBumper {
|
||||
// Default value. This value is unused.
|
||||
AD_RULE_SLOT_BUMPER_UNSPECIFIED = 0;
|
||||
|
||||
// Show a bumper ad after the slot's other ads.
|
||||
AFTER = 1;
|
||||
|
||||
// Show a bumper ad before the slot's other ads.
|
||||
BEFORE = 2;
|
||||
|
||||
// Show a bumper before and after the slot's other ads.
|
||||
BEFORE_AND_AFTER = 3;
|
||||
|
||||
// Do not show a bumper ad.
|
||||
NONE = 4;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
// Copyright 2026 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;
|
||||
|
||||
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 = "AdRuleSlotMidrollFrequencyTypeEnumProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// Wrapper message for
|
||||
// [AdRuleSlotMidrollFrequencyType][google.ads.admanager.v1.AdRuleSlotMidrollFrequencyTypeEnum.AdRuleSlotMidrollFrequencyType]
|
||||
message AdRuleSlotMidrollFrequencyTypeEnum {
|
||||
// Frequency types for mid-roll BaseAdRuleSlot ad rule slots.
|
||||
enum AdRuleSlotMidrollFrequencyType {
|
||||
// Default value. This value is unused.
|
||||
AD_RULE_SLOT_MIDROLL_FREQUENCY_TYPE_UNSPECIFIED = 0;
|
||||
|
||||
// MidrollFrequency is a cue point interval and is a single integer value,
|
||||
// such as "5", which means "play a mid-roll every 5th cue point".
|
||||
EVERY_N_CUEPOINTS = 1;
|
||||
|
||||
// MidrollFrequency is a time interval and mentioned as a single numeric
|
||||
// value in seconds. For example, "100" would mean "play a mid-roll every
|
||||
// 100 seconds".
|
||||
EVERY_N_SECONDS = 2;
|
||||
|
||||
// Same as `FIXED_TIME`, except the values represent the ordinal cue
|
||||
// points ("1,3,5", for example).
|
||||
FIXED_CUE_POINTS = 3;
|
||||
|
||||
// MidrollFrequency is a comma-delimited list of points in time
|
||||
// (in seconds) when an ad should play. For example, "100,300" would mean
|
||||
// "play an ad at 100 seconds and 300 seconds".
|
||||
FIXED_TIME = 4;
|
||||
|
||||
// The ad rule slot is not a mid-roll and MidrollFrequency
|
||||
// should be ignored.
|
||||
NONE = 5;
|
||||
|
||||
// After all other frequency type is applied and the number of midrolls are
|
||||
// settled, this slot setting will override the mid-roll defined by
|
||||
// ReverseMidrollIndex.
|
||||
REVERSE_MIDROLL_INDEX = 6;
|
||||
}
|
||||
}
|
||||
112
google/ads/admanager/v1/ad_spot_messages.proto
Normal file
112
google/ads/admanager/v1/ad_spot_messages.proto
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
// Copyright 2026 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_spot_targeting_type_enum.proto";
|
||||
import "google/ads/admanager/v1/line_item_enums.proto";
|
||||
import "google/api/field_behavior.proto";
|
||||
import "google/api/resource.proto";
|
||||
import "google/protobuf/duration.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 = "AdSpotMessagesProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// An AdSpot is a targetable entity used in the creation of AdRule objects. A ad
|
||||
// spot contains a variable number of ads and has constraints (ad duration,
|
||||
// reservation type, etc) on the ads that can appear in it.
|
||||
message AdSpot {
|
||||
option (google.api.resource) = {
|
||||
type: "admanager.googleapis.com/AdSpot"
|
||||
pattern: "networks/{network_code}/adSpots/{ad_spot}"
|
||||
plural: "adSpots"
|
||||
singular: "adSpot"
|
||||
};
|
||||
|
||||
// Identifier. The resource name of the `AdSpot`.
|
||||
// Format: `networks/{network_code}/adSpots/{ad_spot_id}`
|
||||
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
||||
|
||||
// Optional. Name of the AdSpot. The name is case insensitive and can be
|
||||
// referenced in ad tags. This value is required if `customSpot` is true, and
|
||||
// cannot be set otherwise. You can use alphanumeric characters and symbols
|
||||
// other than the following: ", ', =, !, +, #, , ~, ;, ^, (, ), <, >, [, ],
|
||||
// the white space character.
|
||||
optional string canonical_display_name = 2
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Descriptive name for the `AdSpot`.This value is optional if
|
||||
// `customSpot` is true, and cannot be set otherwise.
|
||||
optional string display_name = 3 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Whether this ad spot is a custom spot. This field is optional and
|
||||
// defaults to false. Custom spots can be reused and targeted in the targeting
|
||||
// picker.
|
||||
optional bool custom_spot = 4 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Whether this ad spot is a flexible spot. This field is optional
|
||||
// and defaults to false. Flexible spots are allowed to have no max number of
|
||||
// ads.
|
||||
optional bool flexible = 5 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The maximum total duration for this AdSpot. This field is
|
||||
// optional, defaults to 0, and supports precision to the nearest second.
|
||||
optional google.protobuf.Duration max_duration = 6
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The minimum allowed duration for ads in the AdSpot. This field is
|
||||
// optional and defaults to 0.
|
||||
optional google.protobuf.Duration min_ad_duration = 12
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Required. The maximum allowed duration for ads in the `AdSpot`. This field
|
||||
// is required and must be greater than
|
||||
// [min_ad_duration][google.ads.admanager.v1.AdSpot.min_ad_duration].
|
||||
optional google.protobuf.Duration max_ad_duration = 13
|
||||
[(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Optional. The maximum number of ads allowed in the AdSpot. This field is
|
||||
// optional and defaults to 0. A value of 0 means that there is no maximum for
|
||||
// the number of ads in the ad spot. No max ads is only supported for ad spots
|
||||
// that have flexible set to true.
|
||||
optional int32 max_ads = 7 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The AdSpot TargetingType determines how this ad spot can be
|
||||
// targeted. This field is required.
|
||||
optional AdSpotTargetingTypeEnum.AdSpotTargetingType targeting_type = 8
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Whether backfill is blocked in this ad spot. This field is
|
||||
// optional and defaults to false.
|
||||
optional bool backfill_blocked = 9 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The set of line item types that may appear in the ad spot. This
|
||||
// field is optional and defaults to an empty set, which means that all types
|
||||
// are allowed. Note, backfill reservation types are controlled by the
|
||||
// `backfillBlocked` field.
|
||||
repeated LineItemTypeEnum.LineItemType allowed_line_item_types = 10
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Whether inventory sharing is blocked in this ad spot. This field
|
||||
// is optional and defaults to false.
|
||||
optional bool inventory_sharing_blocked = 11
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
254
google/ads/admanager/v1/ad_spot_service.proto
Normal file
254
google/ads/admanager/v1/ad_spot_service.proto
Normal file
|
|
@ -0,0 +1,254 @@
|
|||
// Copyright 2026 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_spot_messages.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/field_mask.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 = "AdSpotServiceProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// Provides methods for handling `AdSpot` objects.
|
||||
service AdSpotService {
|
||||
option (google.api.default_host) = "admanager.googleapis.com";
|
||||
option (google.api.oauth_scopes) =
|
||||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// Retrieves an `AdSpot` object.
|
||||
rpc GetAdSpot(GetAdSpotRequest) returns (AdSpot) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{name=networks/*/adSpots/*}"
|
||||
};
|
||||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// Lists `AdSpot` objects.
|
||||
rpc ListAdSpots(ListAdSpotsRequest) returns (ListAdSpotsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{parent=networks/*}/adSpots"
|
||||
};
|
||||
option (google.api.method_signature) = "parent";
|
||||
}
|
||||
|
||||
// Creates an `AdSpot` object.
|
||||
rpc CreateAdSpot(CreateAdSpotRequest) returns (AdSpot) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/adSpots"
|
||||
body: "ad_spot"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,ad_spot";
|
||||
}
|
||||
|
||||
// Batch creates `AdSpot` objects.
|
||||
rpc BatchCreateAdSpots(BatchCreateAdSpotsRequest)
|
||||
returns (BatchCreateAdSpotsResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/adSpots:batchCreate"
|
||||
body: "*"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,requests";
|
||||
}
|
||||
|
||||
// Updates an `AdSpot` object.
|
||||
rpc UpdateAdSpot(UpdateAdSpotRequest) returns (AdSpot) {
|
||||
option (google.api.http) = {
|
||||
patch: "/v1/{ad_spot.name=networks/*/adSpots/*}"
|
||||
body: "ad_spot"
|
||||
};
|
||||
option (google.api.method_signature) = "ad_spot,update_mask";
|
||||
}
|
||||
|
||||
// Batch updates `AdSpot` objects.
|
||||
rpc BatchUpdateAdSpots(BatchUpdateAdSpotsRequest)
|
||||
returns (BatchUpdateAdSpotsResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/adSpots:batchUpdate"
|
||||
body: "*"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,requests";
|
||||
}
|
||||
}
|
||||
|
||||
// Request object for `GetAdSpot` method.
|
||||
message GetAdSpotRequest {
|
||||
// Required. The resource name of the AdSpot.
|
||||
// Format: `networks/{network_code}/adSpots/{ad_spot_id}`
|
||||
string name = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/AdSpot"
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
// Request object for `ListAdSpots` method.
|
||||
message ListAdSpotsRequest {
|
||||
// Required. The parent, which owns this collection of AdSpots.
|
||||
// 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 `AdSpots` to return. The service may return
|
||||
// fewer than this value. If unspecified, at most 50 `AdSpots` will be
|
||||
// returned. The maximum value is 1000; values greater than 1000 will be
|
||||
// coerced to 1000.
|
||||
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. A page token, received from a previous `ListAdSpots` call.
|
||||
// Provide this to retrieve the subsequent page.
|
||||
//
|
||||
// When paginating, all other parameters provided to `ListAdSpots` 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
|
||||
//
|
||||
// <b>Filterable fields:</b>
|
||||
// <ul style="list-style-type:none">
|
||||
// <li><code>canonicalDisplayName</code></li>
|
||||
// <li><code>customSpot</code></li>
|
||||
// <li><code>displayName</code></li>
|
||||
// <li><code>flexible</code></li>
|
||||
// <li><code>name</code></li>
|
||||
// </ul>
|
||||
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 `ListAdSpotsRequest` containing matching `AdSpot`
|
||||
// objects.
|
||||
message ListAdSpotsResponse {
|
||||
// The `AdSpot` objects from the specified network.
|
||||
repeated AdSpot ad_spots = 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 `AdSpot` objects.
|
||||
// If a filter was included in the request, this reflects the total number
|
||||
// after the filtering is applied.
|
||||
//
|
||||
// `total_size` won't 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;
|
||||
}
|
||||
|
||||
// Request object for `CreateAdSpot` method.
|
||||
message CreateAdSpotRequest {
|
||||
// Required. The parent resource where this `AdSpot` will be created.
|
||||
// Format: `networks/{network_code}`
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The `AdSpot` to create.
|
||||
AdSpot ad_spot = 2 [(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// Request object for `BatchCreateAdSpots` method.
|
||||
message BatchCreateAdSpotsRequest {
|
||||
// Required. The parent resource where `AdSpots` will be created.
|
||||
// Format: `networks/{network_code}`
|
||||
// The parent field in the CreateAdSpotRequest must match this
|
||||
// field.
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The `AdSpot` objects to create.
|
||||
// A maximum of 100 objects can be created in a batch.
|
||||
repeated CreateAdSpotRequest requests = 2
|
||||
[(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// Response object for `BatchCreateAdSpots` method.
|
||||
message BatchCreateAdSpotsResponse {
|
||||
// The `AdSpot` objects created.
|
||||
repeated AdSpot ad_spots = 1;
|
||||
}
|
||||
|
||||
// Request object for `UpdateAdSpot` method.
|
||||
message UpdateAdSpotRequest {
|
||||
// Required. The `AdSpot` to update.
|
||||
//
|
||||
// The `AdSpot`'s `name` is used to identify the `AdSpot` to update.
|
||||
AdSpot ad_spot = 1 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Optional. The list of fields to update.
|
||||
google.protobuf.FieldMask update_mask = 2
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// Request object for `BatchUpdateAdSpots` method.
|
||||
message BatchUpdateAdSpotsRequest {
|
||||
// Required. The parent resource where `AdSpots` will be updated.
|
||||
// Format: `networks/{network_code}`
|
||||
// The parent field in the UpdateAdSpotRequest must match this
|
||||
// field.
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The `AdSpot` objects to update.
|
||||
// A maximum of 100 objects can be updated in a batch.
|
||||
repeated UpdateAdSpotRequest requests = 2
|
||||
[(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// Response object for `BatchUpdateAdSpots` method.
|
||||
message BatchUpdateAdSpotsResponse {
|
||||
// The `AdSpot` objects updated.
|
||||
repeated AdSpot ad_spots = 1;
|
||||
}
|
||||
47
google/ads/admanager/v1/ad_spot_targeting_type_enum.proto
Normal file
47
google/ads/admanager/v1/ad_spot_targeting_type_enum.proto
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
// Copyright 2026 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;
|
||||
|
||||
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 = "AdSpotTargetingTypeEnumProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// Wrapper message for
|
||||
// [AdSpotTargetingType][google.ads.admanager.v1.AdSpotTargetingTypeEnum.AdSpotTargetingType]
|
||||
message AdSpotTargetingTypeEnum {
|
||||
// Defines the targeting behavior of an ad spot.
|
||||
enum AdSpotTargetingType {
|
||||
// Default value. This value is unused.
|
||||
AD_SPOT_TARGETING_TYPE_UNSPECIFIED = 0;
|
||||
|
||||
// Only line items targeting this ad spots explicitly may serve in it
|
||||
EXPLICITLY_TARGETED = 1;
|
||||
|
||||
// If house ads are an allowed reservation type, they may serve in the ad
|
||||
// spot regardless of whether they explicitly target it. Ads of other
|
||||
// reservation types (whose type is allowed in the ad spot), may serve in
|
||||
// the ad spot only if explicitly targeted.
|
||||
EXPLICITLY_TARGETED_EXCEPT_HOUSE = 2;
|
||||
|
||||
// Line items not targeting this ad spot explicitly may serve in it.
|
||||
NOT_REQUIRED = 3;
|
||||
}
|
||||
}
|
||||
|
|
@ -38,7 +38,7 @@ service AdUnitService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve an AdUnit object.
|
||||
// Retrieves an `AdUnit` object.
|
||||
rpc GetAdUnit(GetAdUnitRequest) returns (AdUnit) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{name=networks/*/adUnits/*}"
|
||||
|
|
@ -46,7 +46,7 @@ service AdUnitService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of AdUnit objects.
|
||||
// Lists `AdUnit` objects.
|
||||
rpc ListAdUnits(ListAdUnitsRequest) returns (ListAdUnitsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{parent=networks/*}/adUnits"
|
||||
|
|
@ -54,7 +54,7 @@ service AdUnitService {
|
|||
option (google.api.method_signature) = "parent";
|
||||
}
|
||||
|
||||
// API to retrieve a list of AdUnitSize objects.
|
||||
// Lists `AdUnitSize` objects.
|
||||
rpc ListAdUnitSizes(ListAdUnitSizesRequest)
|
||||
returns (ListAdUnitSizesResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -63,7 +63,7 @@ service AdUnitService {
|
|||
option (google.api.method_signature) = "parent";
|
||||
}
|
||||
|
||||
// API to create an `AdUnit` object.
|
||||
// Creates an `AdUnit` object.
|
||||
rpc CreateAdUnit(CreateAdUnitRequest) returns (AdUnit) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/adUnits"
|
||||
|
|
@ -72,7 +72,7 @@ service AdUnitService {
|
|||
option (google.api.method_signature) = "parent,ad_unit";
|
||||
}
|
||||
|
||||
// API to update an `AdUnit` object.
|
||||
// Updates an `AdUnit` object.
|
||||
rpc UpdateAdUnit(UpdateAdUnitRequest) returns (AdUnit) {
|
||||
option (google.api.http) = {
|
||||
patch: "/v1/{ad_unit.name=networks/*/adUnits/*}"
|
||||
|
|
@ -81,7 +81,7 @@ service AdUnitService {
|
|||
option (google.api.method_signature) = "ad_unit,update_mask";
|
||||
}
|
||||
|
||||
// API to batch create `AdUnit` objects.
|
||||
// Creates `AdUnit` objects.
|
||||
rpc BatchCreateAdUnits(BatchCreateAdUnitsRequest)
|
||||
returns (BatchCreateAdUnitsResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -91,7 +91,7 @@ service AdUnitService {
|
|||
option (google.api.method_signature) = "parent,requests";
|
||||
}
|
||||
|
||||
// API to batch update `AdUnit` objects.
|
||||
// Batch updates `AdUnit` objects.
|
||||
rpc BatchUpdateAdUnits(BatchUpdateAdUnitsRequest)
|
||||
returns (BatchUpdateAdUnitsResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -101,7 +101,7 @@ service AdUnitService {
|
|||
option (google.api.method_signature) = "parent,requests";
|
||||
}
|
||||
|
||||
// API to batch activate `AdUnit` objects.
|
||||
// Batch activates `AdUnit` objects.
|
||||
rpc BatchActivateAdUnits(BatchActivateAdUnitsRequest)
|
||||
returns (BatchActivateAdUnitsResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
|
|||
|
|
@ -6,12 +6,15 @@ title: Google Ad Manager API
|
|||
apis:
|
||||
- name: google.ads.admanager.v1.AdBreakService
|
||||
- name: google.ads.admanager.v1.AdReviewCenterAdService
|
||||
- name: google.ads.admanager.v1.AdRuleService
|
||||
- name: google.ads.admanager.v1.AdSpotService
|
||||
- name: google.ads.admanager.v1.AdUnitService
|
||||
- name: google.ads.admanager.v1.ApplicationService
|
||||
- name: google.ads.admanager.v1.AudienceSegmentService
|
||||
- name: google.ads.admanager.v1.BandwidthGroupService
|
||||
- name: google.ads.admanager.v1.BrowserLanguageService
|
||||
- name: google.ads.admanager.v1.BrowserService
|
||||
- name: google.ads.admanager.v1.CdnConfigService
|
||||
- name: google.ads.admanager.v1.CmsMetadataKeyService
|
||||
- name: google.ads.admanager.v1.CmsMetadataValueService
|
||||
- name: google.ads.admanager.v1.CompanyService
|
||||
|
|
@ -31,6 +34,7 @@ apis:
|
|||
- name: google.ads.admanager.v1.LabelService
|
||||
- name: google.ads.admanager.v1.LineItemService
|
||||
- name: google.ads.admanager.v1.LinkedDeviceService
|
||||
- name: google.ads.admanager.v1.LiveStreamService
|
||||
- name: google.ads.admanager.v1.McmEarningsService
|
||||
- name: google.ads.admanager.v1.MobileCarrierService
|
||||
- name: google.ads.admanager.v1.MobileDeviceService
|
||||
|
|
@ -47,8 +51,11 @@ apis:
|
|||
- name: google.ads.admanager.v1.RichMediaAdsCompanyService
|
||||
- name: google.ads.admanager.v1.RoleService
|
||||
- name: google.ads.admanager.v1.SiteService
|
||||
- name: google.ads.admanager.v1.SuggestedAdUnitService
|
||||
- name: google.ads.admanager.v1.TargetingPresetService
|
||||
- name: google.ads.admanager.v1.TaxonomyCategoryService
|
||||
- name: google.ads.admanager.v1.TeamService
|
||||
- name: google.ads.admanager.v1.ThirdPartyCompanyService
|
||||
- name: google.ads.admanager.v1.UserService
|
||||
- name: google.longrunning.Operations
|
||||
|
||||
|
|
@ -105,6 +112,34 @@ authentication:
|
|||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/admanager,
|
||||
https://www.googleapis.com/auth/admanager.readonly
|
||||
- selector: 'google.ads.admanager.v1.AdRuleService.*'
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/admanager
|
||||
- selector: google.ads.admanager.v1.AdRuleService.GetAdRule
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/admanager,
|
||||
https://www.googleapis.com/auth/admanager.readonly
|
||||
- selector: google.ads.admanager.v1.AdRuleService.ListAdRules
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/admanager,
|
||||
https://www.googleapis.com/auth/admanager.readonly
|
||||
- selector: 'google.ads.admanager.v1.AdSpotService.*'
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/admanager
|
||||
- selector: google.ads.admanager.v1.AdSpotService.GetAdSpot
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/admanager,
|
||||
https://www.googleapis.com/auth/admanager.readonly
|
||||
- selector: google.ads.admanager.v1.AdSpotService.ListAdSpots
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/admanager,
|
||||
https://www.googleapis.com/auth/admanager.readonly
|
||||
- selector: 'google.ads.admanager.v1.AdUnitService.*'
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
|
|
@ -173,6 +208,20 @@ authentication:
|
|||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/admanager,
|
||||
https://www.googleapis.com/auth/admanager.readonly
|
||||
- selector: 'google.ads.admanager.v1.CdnConfigService.*'
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/admanager
|
||||
- selector: google.ads.admanager.v1.CdnConfigService.GetCdnConfig
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/admanager,
|
||||
https://www.googleapis.com/auth/admanager.readonly
|
||||
- selector: google.ads.admanager.v1.CdnConfigService.ListCdnConfigs
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/admanager,
|
||||
https://www.googleapis.com/auth/admanager.readonly
|
||||
- selector: google.ads.admanager.v1.CmsMetadataKeyService.BatchActivateCmsMetadataKeys
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
|
|
@ -301,6 +350,10 @@ authentication:
|
|||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/admanager,
|
||||
https://www.googleapis.com/auth/admanager.readonly
|
||||
- selector: 'google.ads.admanager.v1.CustomTargetingValueService.*'
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/admanager
|
||||
- selector: google.ads.admanager.v1.CustomTargetingValueService.GetCustomTargetingValue
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
|
|
@ -399,6 +452,20 @@ authentication:
|
|||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/admanager,
|
||||
https://www.googleapis.com/auth/admanager.readonly
|
||||
- selector: 'google.ads.admanager.v1.LiveStreamService.*'
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/admanager
|
||||
- selector: google.ads.admanager.v1.LiveStreamService.GetLiveStream
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/admanager,
|
||||
https://www.googleapis.com/auth/admanager.readonly
|
||||
- selector: google.ads.admanager.v1.LiveStreamService.ListLiveStreams
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/admanager,
|
||||
https://www.googleapis.com/auth/admanager.readonly
|
||||
- selector: google.ads.admanager.v1.McmEarningsService.FetchMcmEarnings
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
|
|
@ -581,6 +648,34 @@ authentication:
|
|||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/admanager,
|
||||
https://www.googleapis.com/auth/admanager.readonly
|
||||
- selector: google.ads.admanager.v1.SuggestedAdUnitService.BatchApproveSuggestedAdUnits
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/admanager
|
||||
- selector: google.ads.admanager.v1.SuggestedAdUnitService.GetSuggestedAdUnit
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/admanager,
|
||||
https://www.googleapis.com/auth/admanager.readonly
|
||||
- selector: google.ads.admanager.v1.SuggestedAdUnitService.ListSuggestedAdUnits
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/admanager,
|
||||
https://www.googleapis.com/auth/admanager.readonly
|
||||
- selector: 'google.ads.admanager.v1.TargetingPresetService.*'
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/admanager
|
||||
- selector: google.ads.admanager.v1.TargetingPresetService.GetTargetingPreset
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/admanager,
|
||||
https://www.googleapis.com/auth/admanager.readonly
|
||||
- selector: google.ads.admanager.v1.TargetingPresetService.ListTargetingPresets
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/admanager,
|
||||
https://www.googleapis.com/auth/admanager.readonly
|
||||
- selector: google.ads.admanager.v1.TaxonomyCategoryService.GetTaxonomyCategory
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
|
|
@ -605,6 +700,16 @@ authentication:
|
|||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/admanager,
|
||||
https://www.googleapis.com/auth/admanager.readonly
|
||||
- selector: google.ads.admanager.v1.ThirdPartyCompanyService.GetThirdPartyCompany
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/admanager,
|
||||
https://www.googleapis.com/auth/admanager.readonly
|
||||
- selector: google.ads.admanager.v1.ThirdPartyCompanyService.ListThirdPartyCompanies
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/admanager,
|
||||
https://www.googleapis.com/auth/admanager.readonly
|
||||
- selector: google.ads.admanager.v1.UserService.GetUser
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ service ApplicationService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `Application` object.
|
||||
// Retrieves a `Application` object.
|
||||
rpc GetApplication(GetApplicationRequest) returns (Application) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{name=networks/*/applications/*}"
|
||||
|
|
@ -46,7 +46,7 @@ service ApplicationService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `Application` objects.
|
||||
// Lists `Application` objects.
|
||||
rpc ListApplications(ListApplicationsRequest)
|
||||
returns (ListApplicationsResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -55,7 +55,7 @@ service ApplicationService {
|
|||
option (google.api.method_signature) = "parent";
|
||||
}
|
||||
|
||||
// API to create a `Application` object.
|
||||
// Creates a `Application` object.
|
||||
rpc CreateApplication(CreateApplicationRequest) returns (Application) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/applications"
|
||||
|
|
@ -64,7 +64,7 @@ service ApplicationService {
|
|||
option (google.api.method_signature) = "parent,application";
|
||||
}
|
||||
|
||||
// API to batch create `Application` objects.
|
||||
// Creates `Application` objects.
|
||||
rpc BatchCreateApplications(BatchCreateApplicationsRequest)
|
||||
returns (BatchCreateApplicationsResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -74,7 +74,7 @@ service ApplicationService {
|
|||
option (google.api.method_signature) = "parent,requests";
|
||||
}
|
||||
|
||||
// API to update a `Application` object.
|
||||
// Updates a `Application` object.
|
||||
rpc UpdateApplication(UpdateApplicationRequest) returns (Application) {
|
||||
option (google.api.http) = {
|
||||
patch: "/v1/{application.name=networks/*/applications/*}"
|
||||
|
|
@ -83,7 +83,7 @@ service ApplicationService {
|
|||
option (google.api.method_signature) = "application,update_mask";
|
||||
}
|
||||
|
||||
// API to batch update `Application` objects.
|
||||
// Batch updates `Application` objects.
|
||||
rpc BatchUpdateApplications(BatchUpdateApplicationsRequest)
|
||||
returns (BatchUpdateApplicationsResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -93,7 +93,7 @@ service ApplicationService {
|
|||
option (google.api.method_signature) = "parent,requests";
|
||||
}
|
||||
|
||||
// / API to batch archive `Application` objects.
|
||||
// Batch archives `Application` objects.
|
||||
rpc BatchArchiveApplications(BatchArchiveApplicationsRequest)
|
||||
returns (BatchArchiveApplicationsResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -103,7 +103,7 @@ service ApplicationService {
|
|||
option (google.api.method_signature) = "parent,names";
|
||||
}
|
||||
|
||||
// / API to batch unarchive `Application` objects.
|
||||
// Batch unarchives `Application` objects.
|
||||
rpc BatchUnarchiveApplications(BatchUnarchiveApplicationsRequest)
|
||||
returns (BatchUnarchiveApplicationsResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ service BandwidthGroupService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `BandwidthGroup` object.
|
||||
// Retrieves a `BandwidthGroup` object.
|
||||
rpc GetBandwidthGroup(GetBandwidthGroupRequest) returns (BandwidthGroup) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{name=networks/*/bandwidthGroups/*}"
|
||||
|
|
@ -45,7 +45,7 @@ service BandwidthGroupService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `BandwidthGroup` objects.
|
||||
// Lists `BandwidthGroup` objects.
|
||||
rpc ListBandwidthGroups(ListBandwidthGroupsRequest)
|
||||
returns (ListBandwidthGroupsResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ service BrowserLanguageService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `BrowserLanguage` object.
|
||||
// Retrieves a `BrowserLanguage` object.
|
||||
rpc GetBrowserLanguage(GetBrowserLanguageRequest) returns (BrowserLanguage) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{name=networks/*/browserLanguages/*}"
|
||||
|
|
@ -45,7 +45,7 @@ service BrowserLanguageService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `BrowserLanguage` objects.
|
||||
// Lists `BrowserLanguage` objects.
|
||||
rpc ListBrowserLanguages(ListBrowserLanguagesRequest)
|
||||
returns (ListBrowserLanguagesResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ service BrowserService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `Browser` object.
|
||||
// Retrieves a `Browser` object.
|
||||
rpc GetBrowser(GetBrowserRequest) returns (Browser) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{name=networks/*/browsers/*}"
|
||||
|
|
@ -45,7 +45,7 @@ service BrowserService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `Browser` objects.
|
||||
// Lists `Browser` objects.
|
||||
rpc ListBrowsers(ListBrowsersRequest) returns (ListBrowsersResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{parent=networks/*}/browsers"
|
||||
|
|
|
|||
209
google/ads/admanager/v1/cdn_config_messages.proto
Normal file
209
google/ads/admanager/v1/cdn_config_messages.proto
Normal file
|
|
@ -0,0 +1,209 @@
|
|||
// Copyright 2026 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/cdn_config_status_enum.proto";
|
||||
import "google/ads/admanager/v1/cdn_config_type_enum.proto";
|
||||
import "google/ads/admanager/v1/cdn_security_policy_enum.proto";
|
||||
import "google/ads/admanager/v1/cdn_security_policy_origin_forwarding_enum.proto";
|
||||
import "google/api/field_behavior.proto";
|
||||
import "google/api/resource.proto";
|
||||
import "google/protobuf/duration.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 = "CdnConfigMessagesProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// A CdnConfig encapsulates information about where and how to ingest and
|
||||
// deliver content enabled for DAI (Dynamic Ad Insertion).
|
||||
message CdnConfig {
|
||||
option (google.api.resource) = {
|
||||
type: "admanager.googleapis.com/CdnConfig"
|
||||
pattern: "networks/{network_code}/cdnConfigs/{cdn_config}"
|
||||
plural: "cdnConfigs"
|
||||
singular: "cdnConfig"
|
||||
};
|
||||
|
||||
// Identifier. The resource name of the `CdnConfig`.
|
||||
// Format: `networks/{network_code}/cdnConfigs/{cdn_config_id}`
|
||||
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
||||
|
||||
// Required. The name of the CdnConfig. This value is required to create a CDN
|
||||
// config and has a maximum length of 255 characters.
|
||||
optional string display_name = 2 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Required. The type of CDN config represented by this CdnConfig.
|
||||
optional CdnConfigTypeEnum.CdnConfigType cdn_config_type = 3
|
||||
[(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Optional. Parameters about this CDN config as a source of content. This
|
||||
// facilitates fetching the original content for conditioning and delivering
|
||||
// the original content as part of a modified stream.
|
||||
SourceContentConfig source_content_config = 4
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Config of CDN to deliver ad media.
|
||||
AdMediaDeliveryConfig ad_media_delivery_config = 6
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Output only. The status of the CDN config.
|
||||
optional CdnConfigStatusEnum.CdnConfigStatus cdn_config_status = 7
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
}
|
||||
|
||||
// A set of security requirements to authenticate against in order to access
|
||||
// video content. Different locations (e.g. different CDNs) can have different
|
||||
// security policies.
|
||||
message CdnSecurityPolicy {
|
||||
// Required. Type of security policy. This determines which other fields
|
||||
// should be populated. This value is required for a valid security policy.
|
||||
optional CdnSecurityPolicyTypeEnum.CdnSecurityPolicyType
|
||||
security_policy_type = 1 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Optional. Shared security key used to generate the Akamai HMAC token for
|
||||
// authenticating requests. Only applicable when the value of
|
||||
// `CdnSecurityPolicyType` is equal to `CdnSecurityPolicyType.AKAMAI` and will
|
||||
// be set to null otherwise. Required when the `CdnConfig.cdnConfigType` is
|
||||
// equal to `CdnConfigType.LIVE_STREAM_SOURCE_CONTENT` and this
|
||||
// `CdnSecurityPolicy` is being configured for
|
||||
// `SourceContentConfig.ingestSettings`.
|
||||
optional string token_authentication_key = 2
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Whether the segment URLs should be signed using the
|
||||
// #tokenAuthenticationKey on the server. This is only applicable for delivery
|
||||
// media locations that have token authentication enabled.
|
||||
optional bool server_side_url_signing_disabled = 3
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The type of origin forwarding used to support Akamai
|
||||
// authentication policies for the parent playlist. Not applicable to ingest
|
||||
// locations, and is only applicable to delivery media locations with the
|
||||
// `securityPolicyType` set to `CdnSecurityPolicyType.AKAMAI`. If set
|
||||
// elsewhere it will be reset to null.
|
||||
optional
|
||||
CdnSecurityPolicyOriginForwardingEnum.CdnSecurityPolicyOriginForwarding
|
||||
origin_forwarding_type = 5 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The origin path prefix provided by the publisher for the parent
|
||||
// playlist. Only applicable for delivery media locations with the value of
|
||||
// `originForwardingType` set to
|
||||
// `CdnSecurityPolicyOriginForwarding.CONVENTIONAL`, and will be set to null
|
||||
// otherwise.
|
||||
optional string origin_path_prefix = 6
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The type of origin forwarding used to support Akamai
|
||||
// authentication policies for media playlists. This setting can only be used
|
||||
// with CDN configs with a `cdnConfigType` of
|
||||
// `CdnConfigType.LIVE_STREAM_SOURCE_CONTENT`, is not applicable to ingest
|
||||
// locations, and is only applicable to delivery media locations with the
|
||||
// `CdnSecurityPolicyType` set to `CdnSecurityPolicyType.AKAMAI`. Valid
|
||||
// options are `CdnSecurityPolicyOriginForwarding.NONE` or
|
||||
// `CdnSecurityPolicyOriginForwarding.ORIGIN_PATH`. This setting can only be
|
||||
// used with CDN configs with a `cdnConfigType` of
|
||||
// `CdnConfigType.LIVE_STREAM_SOURCE_CONTENT`.
|
||||
optional
|
||||
CdnSecurityPolicyOriginForwardingEnum.CdnSecurityPolicyOriginForwarding
|
||||
media_playlist_origin_forwarding_type = 7
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The origin path prefix provided by the publisher for the media
|
||||
// playlists. Only applicable for delivery media locations with the value of
|
||||
// `mediaPlaylistOriginForwardingType` set to
|
||||
// `CdnSecurityPolicyOriginForwarding.CONVENTIONAL`, and will be set to null
|
||||
// otherwise.
|
||||
optional string media_playlist_origin_path_prefix = 8
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The name of the EdgeCacheKeyset on the Media CDN config that will
|
||||
// be used to validate signed requests from DAI to ingest content.
|
||||
optional string keyset = 10 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The duration for which a request signed with a short token
|
||||
// will be valid. Only required if `signedRequestMaximumExpirationTtl` has
|
||||
// been set in the Media CDN config.
|
||||
optional google.protobuf.Duration signed_request_expiration_ttl = 11
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// Parameters about this CDN config of a CDN used for delivering ad media.
|
||||
message AdMediaDeliveryConfig {
|
||||
// Optional. Whether to override the default delivery CDN. If false,
|
||||
// `deliverySettings` must be null.
|
||||
optional bool override_default_delivery_settings = 4
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Config for the delivery location that will override the default.
|
||||
// From MediaLocationDto, the URL prefix field represents the hostname of the
|
||||
// external CDN and the security policy will be ignored. Null if
|
||||
// `overrideDefaultDeliverySettings` is false.
|
||||
MediaLocation delivery_settings = 5 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. List of additional delivery locations. From MediaLocationDto, the
|
||||
// URL prefix field represents the hostname of the external CDN and the
|
||||
// security policy will be ignored. In your stream create request, you can set
|
||||
// the value of the `dai-dlid` parameter to the name of the MediaLocation you
|
||||
// want to use.
|
||||
repeated MediaLocation additional_delivery_settings = 3
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// Parameters about this CDN config as a source of content. This
|
||||
// facilitates fetching the original content for conditioning and delivering the
|
||||
// original content as part of a modified stream.
|
||||
message SourceContentConfig {
|
||||
// Required. Config for how DAI should ingest media. At ingest time, we match
|
||||
// the URL prefix of media in a stream's playlist with an ingest location and
|
||||
// use the authentication credentials from the corresponding ingest settings
|
||||
// to download the media. This value is required for a valid source content
|
||||
// config.
|
||||
MediaLocation ingest_settings = 1 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Required. Default config for how DAI should deliver the non-modified media
|
||||
// segments. At delivery time, we replace the ingest location's URL prefix
|
||||
// with the delivery location's URL prefix and use the security policy from
|
||||
// the delivery settings to determine how DAI needs to deliver the media so
|
||||
// that users can access it. This value is required for a valid source content
|
||||
// config.
|
||||
MediaLocation default_delivery_settings = 2
|
||||
[(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// Config that associates a media location with a security policy and the
|
||||
// authentication credentials needed to access the content.
|
||||
message MediaLocation {
|
||||
// Output only. The name of the media location. This value is read-only and is
|
||||
// assigned by Google.
|
||||
optional string display_name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Required. The URL prefix of the media location. This value is required for
|
||||
// a valid media location.
|
||||
optional string url_prefix = 2 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Optional. The security policy and authentication credentials needed to
|
||||
// access the content in this media location. Optional; if omitted, no
|
||||
// security policy will be applied (indicating a public/unprotected location).
|
||||
// Must NOT be configured for ad media delivery locations (doing so will
|
||||
// trigger a validation error).
|
||||
CdnSecurityPolicy security_policy = 3
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
321
google/ads/admanager/v1/cdn_config_service.proto
Normal file
321
google/ads/admanager/v1/cdn_config_service.proto
Normal file
|
|
@ -0,0 +1,321 @@
|
|||
// Copyright 2026 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/cdn_config_messages.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/field_mask.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 = "CdnConfigServiceProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// Provides methods for handling `CdnConfig` objects.
|
||||
service CdnConfigService {
|
||||
option (google.api.default_host) = "admanager.googleapis.com";
|
||||
option (google.api.oauth_scopes) =
|
||||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// Retrieves a `CdnConfig` object.
|
||||
rpc GetCdnConfig(GetCdnConfigRequest) returns (CdnConfig) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{name=networks/*/cdnConfigs/*}"
|
||||
};
|
||||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// Lists `CdnConfig` objects.
|
||||
rpc ListCdnConfigs(ListCdnConfigsRequest) returns (ListCdnConfigsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{parent=networks/*}/cdnConfigs"
|
||||
};
|
||||
option (google.api.method_signature) = "parent";
|
||||
}
|
||||
|
||||
// Creates a `CdnConfig` object.
|
||||
rpc CreateCdnConfig(CreateCdnConfigRequest) returns (CdnConfig) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/cdnConfigs"
|
||||
body: "cdn_config"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,cdn_config";
|
||||
}
|
||||
|
||||
// Batch creates `CdnConfig` objects.
|
||||
rpc BatchCreateCdnConfigs(BatchCreateCdnConfigsRequest)
|
||||
returns (BatchCreateCdnConfigsResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/cdnConfigs:batchCreate"
|
||||
body: "*"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,requests";
|
||||
}
|
||||
|
||||
// Updates a `CdnConfig` object.
|
||||
rpc UpdateCdnConfig(UpdateCdnConfigRequest) returns (CdnConfig) {
|
||||
option (google.api.http) = {
|
||||
patch: "/v1/{cdn_config.name=networks/*/cdnConfigs/*}"
|
||||
body: "cdn_config"
|
||||
};
|
||||
option (google.api.method_signature) = "cdn_config,update_mask";
|
||||
}
|
||||
|
||||
// Batch updates `CdnConfig` objects.
|
||||
rpc BatchUpdateCdnConfigs(BatchUpdateCdnConfigsRequest)
|
||||
returns (BatchUpdateCdnConfigsResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/cdnConfigs:batchUpdate"
|
||||
body: "*"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,requests";
|
||||
}
|
||||
|
||||
// Batch activates `CdnConfig` objects.
|
||||
rpc BatchActivateCdnConfigs(BatchActivateCdnConfigsRequest)
|
||||
returns (BatchActivateCdnConfigsResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/cdnConfigs:batchActivate"
|
||||
body: "*"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,names";
|
||||
}
|
||||
|
||||
// Batch archives `CdnConfig` objects.
|
||||
rpc BatchArchiveCdnConfigs(BatchArchiveCdnConfigsRequest)
|
||||
returns (BatchArchiveCdnConfigsResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/cdnConfigs:batchArchive"
|
||||
body: "*"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,names";
|
||||
}
|
||||
}
|
||||
|
||||
// Request object for `GetCdnConfig` method.
|
||||
message GetCdnConfigRequest {
|
||||
// Required. The resource name of the CdnConfig.
|
||||
// Format: `networks/{network_code}/cdnConfigs/{cdn_config_id}`
|
||||
string name = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/CdnConfig"
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
// Request object for `ListCdnConfigs` method.
|
||||
message ListCdnConfigsRequest {
|
||||
// Required. The parent, which owns this collection of CdnConfigs.
|
||||
// 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 `CdnConfigs` to return. The service may
|
||||
// return fewer than this value. If unspecified, at most 50 `CdnConfigs` will
|
||||
// be returned. The maximum value is 1000; values greater than 1000 will be
|
||||
// coerced to 1000.
|
||||
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. A page token, received from a previous `ListCdnConfigs` call.
|
||||
// Provide this to retrieve the subsequent page.
|
||||
//
|
||||
// When paginating, all other parameters provided to `ListCdnConfigs`
|
||||
// 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
|
||||
//
|
||||
// <b>Filterable fields:</b>
|
||||
// <ul style="list-style-type:none">
|
||||
// <li><code>cdnConfigStatus</code></li>
|
||||
// <li><code>cdnConfigType</code></li>
|
||||
// <li><code>displayName</code></li>
|
||||
// <li><code>name</code></li>
|
||||
// <li><code>sourceContentConfig.ingestSettings.urlPrefix</code></li>
|
||||
// </ul>
|
||||
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 `ListCdnConfigsRequest` containing matching
|
||||
// `CdnConfig` objects.
|
||||
message ListCdnConfigsResponse {
|
||||
// The `CdnConfig` objects from the specified network.
|
||||
repeated CdnConfig cdn_configs = 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 `CdnConfig` objects.
|
||||
// If a filter was included in the request, this reflects the total number
|
||||
// after the filtering is applied.
|
||||
//
|
||||
// `total_size` won't 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;
|
||||
}
|
||||
|
||||
// Request object for `CreateCdnConfig` method.
|
||||
message CreateCdnConfigRequest {
|
||||
// Required. The parent resource where this `CdnConfig` will be created.
|
||||
// Format: `networks/{network_code}`
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The `CdnConfig` to create.
|
||||
CdnConfig cdn_config = 2 [(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// Request object for `BatchCreateCdnConfigs` method.
|
||||
message BatchCreateCdnConfigsRequest {
|
||||
// Required. The parent resource where `CdnConfigs` will be created.
|
||||
// Format: `networks/{network_code}`
|
||||
// The parent field in the CreateCdnConfigRequest must match this
|
||||
// field.
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The `CdnConfig` objects to create.
|
||||
// A maximum of 100 objects can be created in a batch.
|
||||
repeated CreateCdnConfigRequest requests = 2
|
||||
[(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// Response object for `BatchCreateCdnConfigs` method.
|
||||
message BatchCreateCdnConfigsResponse {
|
||||
// The `CdnConfig` objects created.
|
||||
repeated CdnConfig cdn_configs = 1;
|
||||
}
|
||||
|
||||
// Request object for `UpdateCdnConfig` method.
|
||||
message UpdateCdnConfigRequest {
|
||||
// Required. The `CdnConfig` to update.
|
||||
//
|
||||
// The `CdnConfig`'s `name` is used to identify the `CdnConfig`
|
||||
// to update.
|
||||
CdnConfig cdn_config = 1 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Optional. The list of fields to update.
|
||||
google.protobuf.FieldMask update_mask = 2
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// Request object for `BatchUpdateCdnConfigs` method.
|
||||
message BatchUpdateCdnConfigsRequest {
|
||||
// Required. The parent resource where `CdnConfigs` will be updated.
|
||||
// Format: `networks/{network_code}`
|
||||
// The parent field in the UpdateCdnConfigRequest must match this
|
||||
// field.
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The `CdnConfig` objects to update.
|
||||
// A maximum of 100 objects can be updated in a batch.
|
||||
repeated UpdateCdnConfigRequest requests = 2
|
||||
[(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// Response object for `BatchUpdateCdnConfigs` method.
|
||||
message BatchUpdateCdnConfigsResponse {
|
||||
// The `CdnConfig` objects updated.
|
||||
repeated CdnConfig cdn_configs = 1;
|
||||
}
|
||||
|
||||
// Request message to activate `CdnConfig` objects.
|
||||
message BatchActivateCdnConfigsRequest {
|
||||
// Required. Format: `networks/{network_code}`
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The resource names of the `CdnConfig` objects to activate.
|
||||
// Format: `networks/{network_code}/cdnConfigs/{cdn_config_id}`
|
||||
repeated string names = 2 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/CdnConfig"
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
// Response message for `BatchActivateCdnConfigs` method.
|
||||
message BatchActivateCdnConfigsResponse {}
|
||||
|
||||
// Request message to archive `CdnConfig` objects.
|
||||
message BatchArchiveCdnConfigsRequest {
|
||||
// Required. Format: `networks/{network_code}`
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The resource names of the `CdnConfig` objects to archive.
|
||||
// Format: `networks/{network_code}/cdnConfigs/{cdn_config_id}`
|
||||
repeated string names = 2 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/CdnConfig"
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
// Response object for `BatchArchiveCdnConfigs` method.
|
||||
message BatchArchiveCdnConfigsResponse {}
|
||||
41
google/ads/admanager/v1/cdn_config_status_enum.proto
Normal file
41
google/ads/admanager/v1/cdn_config_status_enum.proto
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
// Copyright 2026 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;
|
||||
|
||||
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 = "CdnConfigStatusEnumProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// Wrapper message for
|
||||
// [CdnConfigStatus][google.ads.admanager.v1.CdnConfigStatusEnum.CdnConfigStatus]
|
||||
message CdnConfigStatusEnum {
|
||||
// Indicates the status of the CdnConfiguration.
|
||||
enum CdnConfigStatus {
|
||||
// Default value. This value is unused.
|
||||
CDN_CONFIG_STATUS_UNSPECIFIED = 0;
|
||||
|
||||
// The CDN configuration is in use.
|
||||
ACTIVE = 1;
|
||||
|
||||
// The CDN configuration is no longer used.
|
||||
ARCHIVED = 2;
|
||||
}
|
||||
}
|
||||
51
google/ads/admanager/v1/cdn_config_type_enum.proto
Normal file
51
google/ads/admanager/v1/cdn_config_type_enum.proto
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
// Copyright 2026 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;
|
||||
|
||||
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 = "CdnConfigTypeEnumProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// Wrapper message for
|
||||
// [CdnConfigType][google.ads.admanager.v1.CdnConfigTypeEnum.CdnConfigType]
|
||||
message CdnConfigTypeEnum {
|
||||
// Indicates the type of CDN configuration for CdnConfiguration.
|
||||
enum CdnConfigType {
|
||||
// Default value. This value is unused.
|
||||
CDN_CONFIG_TYPE_UNSPECIFIED = 0;
|
||||
|
||||
// A configuration that specifies a publisher-provided CDN for delivering ad
|
||||
// media.
|
||||
AD_MEDIA_DELIVERY = 1;
|
||||
|
||||
// A configuration that specifies where and how `LiveStreamEvent`
|
||||
// content should be ingested and delivered.
|
||||
LIVE_STREAM_SOURCE_CONTENT = 2;
|
||||
|
||||
// A configuration that specifies where and how split content should be
|
||||
// uploaded and delivered.
|
||||
MIDROLL = 3;
|
||||
|
||||
// A configuration that specifies where and how video on demand content
|
||||
// should be ingested and delivered.
|
||||
VOD_SOURCE_CONTENT = 4;
|
||||
}
|
||||
}
|
||||
46
google/ads/admanager/v1/cdn_security_policy_enum.proto
Normal file
46
google/ads/admanager/v1/cdn_security_policy_enum.proto
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
// Copyright 2026 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;
|
||||
|
||||
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 = "CdnSecurityPolicyEnumProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// Wrapper message for
|
||||
// [CdnSecurityPolicy][google.ads.admanager.v1.CdnSecurityPolicy]
|
||||
message CdnSecurityPolicyTypeEnum {
|
||||
// Indicates the type of security policy associated with access to a CDN.
|
||||
// Different security policies require different parameters in a
|
||||
// SecurityPolicy.
|
||||
enum CdnSecurityPolicyType {
|
||||
// Default value. This value is unused.
|
||||
CDN_SECURITY_POLICY_TYPE_UNSPECIFIED = 0;
|
||||
|
||||
// Security policy for accessing content on the Akamai CDN.
|
||||
AKAMAI = 1;
|
||||
|
||||
// Security policy for access content on Google Cloud Media CDN.
|
||||
CLOUD_MEDIA = 2;
|
||||
|
||||
// Indicates that no authentication is necessary.
|
||||
NONE = 3;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
// Copyright 2026 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;
|
||||
|
||||
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 = "CdnSecurityPolicyOriginForwardingEnumProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// Wrapper message for
|
||||
// [CdnSecurityPolicyOriginForwarding][google.ads.admanager.v1.CdnSecurityPolicyOriginForwardingEnum.CdnSecurityPolicyOriginForwarding]
|
||||
message CdnSecurityPolicyOriginForwardingEnum {
|
||||
// Indicates the type of origin forwarding used to support Akamai
|
||||
// authentication policies for `LiveStreamEvent`.
|
||||
enum CdnSecurityPolicyOriginForwarding {
|
||||
// Default value. This value is unused.
|
||||
CDN_SECURITY_POLICY_ORIGIN_FORWARDING_UNSPECIFIED = 0;
|
||||
|
||||
// Indicates that conventional origin forwarding is used.
|
||||
CONVENTIONAL = 1;
|
||||
|
||||
// Indicates that origin forwarding is not being used.
|
||||
NONE = 2;
|
||||
|
||||
// Indicates that origin forwarding is set up by passing an origin path
|
||||
// query string parameter (necessary for Akamai dynamic packaging to work).
|
||||
ORIGIN_PATH = 3;
|
||||
}
|
||||
}
|
||||
|
|
@ -37,7 +37,7 @@ service CmsMetadataKeyService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `CmsMetadataKey` object.
|
||||
// Retrieves a `CmsMetadataKey` object.
|
||||
rpc GetCmsMetadataKey(GetCmsMetadataKeyRequest) returns (CmsMetadataKey) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{name=networks/*/cmsMetadataKeys/*}"
|
||||
|
|
@ -45,7 +45,7 @@ service CmsMetadataKeyService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `CmsMetadataKey` objects.
|
||||
// Lists `CmsMetadataKey` objects.
|
||||
rpc ListCmsMetadataKeys(ListCmsMetadataKeysRequest)
|
||||
returns (ListCmsMetadataKeysResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -54,7 +54,7 @@ service CmsMetadataKeyService {
|
|||
option (google.api.method_signature) = "parent";
|
||||
}
|
||||
|
||||
// API to activate a list of `CmsMetadataKey` objects.
|
||||
// Activates a list of `CmsMetadataKey` objects.
|
||||
rpc BatchActivateCmsMetadataKeys(BatchActivateCmsMetadataKeysRequest)
|
||||
returns (BatchActivateCmsMetadataKeysResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -64,7 +64,7 @@ service CmsMetadataKeyService {
|
|||
option (google.api.method_signature) = "parent,names";
|
||||
}
|
||||
|
||||
// API to deactivate a list of `CmsMetadataKey` objects.
|
||||
// Deactivates a list of `CmsMetadataKey` objects.
|
||||
rpc BatchDeactivateCmsMetadataKeys(BatchDeactivateCmsMetadataKeysRequest)
|
||||
returns (BatchDeactivateCmsMetadataKeysResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ service CmsMetadataValueService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `CmsMetadataValue` object.
|
||||
// Retrieves a `CmsMetadataValue` object.
|
||||
rpc GetCmsMetadataValue(GetCmsMetadataValueRequest)
|
||||
returns (CmsMetadataValue) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -46,7 +46,7 @@ service CmsMetadataValueService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `CmsMetadataValue` objects.
|
||||
// Lists `CmsMetadataValue` objects.
|
||||
rpc ListCmsMetadataValues(ListCmsMetadataValuesRequest)
|
||||
returns (ListCmsMetadataValuesResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -55,7 +55,7 @@ service CmsMetadataValueService {
|
|||
option (google.api.method_signature) = "parent";
|
||||
}
|
||||
|
||||
// API to activate a list of `CmsMetadataValue` objects.
|
||||
// Activates a list of `CmsMetadataValue` objects.
|
||||
rpc BatchActivateCmsMetadataValues(BatchActivateCmsMetadataValuesRequest)
|
||||
returns (BatchActivateCmsMetadataValuesResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -65,7 +65,7 @@ service CmsMetadataValueService {
|
|||
option (google.api.method_signature) = "parent,names";
|
||||
}
|
||||
|
||||
// API to deactivate a list of `CmsMetadataValue` objects.
|
||||
// Deactivates a list of `CmsMetadataValue` objects.
|
||||
rpc BatchDeactivateCmsMetadataValues(BatchDeactivateCmsMetadataValuesRequest)
|
||||
returns (BatchDeactivateCmsMetadataValuesResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
|
|||
44
google/ads/admanager/v1/content_bundle_enums.proto
Normal file
44
google/ads/admanager/v1/content_bundle_enums.proto
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
// Copyright 2026 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;
|
||||
|
||||
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 = "ContentBundleEnumsProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// Wrapper message for
|
||||
// [ContentBundleStatus][google.ads.admanager.v1.ContentBundleStatusEnum.ContentBundleStatus]
|
||||
message ContentBundleStatusEnum {
|
||||
// Status for ContentBundle objects.
|
||||
enum ContentBundleStatus {
|
||||
// Default value. This value is unused.
|
||||
CONTENT_BUNDLE_STATUS_UNSPECIFIED = 0;
|
||||
|
||||
// The object is active and stats are collected.
|
||||
ACTIVE = 1;
|
||||
|
||||
// The object has been archived.
|
||||
ARCHIVED = 2;
|
||||
|
||||
// The object is no longer active and no stats collected.
|
||||
INACTIVE = 3;
|
||||
}
|
||||
}
|
||||
|
|
@ -16,8 +16,10 @@ syntax = "proto3";
|
|||
|
||||
package google.ads.admanager.v1;
|
||||
|
||||
import "google/ads/admanager/v1/content_bundle_enums.proto";
|
||||
import "google/api/field_behavior.proto";
|
||||
import "google/api/resource.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";
|
||||
|
|
@ -50,4 +52,14 @@ message ContentBundle {
|
|||
// [ContentBundle][google.ads.admanager.v1.ContentBundle]. This attribute is
|
||||
// required and has a maximum length of 255 characters.
|
||||
string display_name = 3 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Output only. The ContentBundleStatus of the
|
||||
// [ContentBundle][google.ads.admanager.v1.ContentBundle]. This attribute is
|
||||
// read-only and defaults to [ContentBundleStatus.INACTIVE][].
|
||||
ContentBundleStatusEnum.ContentBundleStatus status = 4
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. The time the `ContentBundle` was last modified.
|
||||
google.protobuf.Timestamp update_time = 7
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ service ContentBundleService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `ContentBundle` object.
|
||||
// Retrieves a `ContentBundle` object.
|
||||
rpc GetContentBundle(GetContentBundleRequest) returns (ContentBundle) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{name=networks/*/contentBundles/*}"
|
||||
|
|
@ -45,7 +45,7 @@ service ContentBundleService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `ContentBundle` objects.
|
||||
// Lists `ContentBundle` objects.
|
||||
rpc ListContentBundles(ListContentBundlesRequest)
|
||||
returns (ListContentBundlesResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -99,6 +99,8 @@ message ListContentBundlesRequest {
|
|||
// <ul style="list-style-type:none">
|
||||
// <li><code>displayName</code></li>
|
||||
// <li><code>name</code></li>
|
||||
// <li><code>status</code></li>
|
||||
// <li><code>updateTime</code></li>
|
||||
// </ul>
|
||||
string filter = 4 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
|
|
|
|||
376
google/ads/admanager/v1/content_enums.proto
Normal file
376
google/ads/admanager/v1/content_enums.proto
Normal file
|
|
@ -0,0 +1,376 @@
|
|||
// Copyright 2026 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;
|
||||
|
||||
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 = "ContentEnumsProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// Wrapper message for
|
||||
// [ContentStatus][google.ads.admanager.v1.ContentStatusEnum.ContentStatus]
|
||||
message ContentStatusEnum {
|
||||
// Describes the status of a
|
||||
// [Content][google.ads.admanager.v1.Content] object.
|
||||
enum ContentStatus {
|
||||
// Default value. This value is unused.
|
||||
CONTENT_STATUS_UNSPECIFIED = 0;
|
||||
|
||||
// Indicates the `Content` has been created and is eligible to have ads
|
||||
// served against it.
|
||||
ACTIVE = 1;
|
||||
|
||||
// Indicates the `Content` has been deactivated and cannot have ads served
|
||||
// against it.
|
||||
INACTIVE = 2;
|
||||
|
||||
// Indicates the `Content` has been archived; user-visible.
|
||||
ARCHIVED = 3;
|
||||
|
||||
// Indicates the `Content` has been removed from an external CMS.
|
||||
DELETED = 4;
|
||||
|
||||
// Indicates the `Content` is a duplicate of another piece of content.
|
||||
DUPLICATED = 5;
|
||||
}
|
||||
}
|
||||
|
||||
// Wrapper message for
|
||||
// [ContentStatusSource][google.ads.admanager.v1.ContentStatusSourceEnum.ContentStatusSource]
|
||||
message ContentStatusSourceEnum {
|
||||
// Describes who defined the status of the
|
||||
// [Content][google.ads.admanager.v1.Content] object.
|
||||
enum ContentStatusSource {
|
||||
// Default value. This value is unused.
|
||||
CONTENT_STATUS_SOURCE_UNSPECIFIED = 0;
|
||||
|
||||
// Indicates that the status of the `Content` is defined by the CMS.
|
||||
CMS = 1;
|
||||
|
||||
// Indicates that the status of the `Content` is defined by the user.
|
||||
USER = 2;
|
||||
}
|
||||
}
|
||||
|
||||
// Wrapper message for
|
||||
// [DaiIngestStatus][google.ads.admanager.v1.DaiIngestStatusEnum.DaiIngestStatus]
|
||||
message DaiIngestStatusEnum {
|
||||
// The status of the Dynamic Ad Insertion (DAI) ingestion process. Only
|
||||
// [Content][google.ads.admanager.v1.Content] with a status of
|
||||
// SUCCESS will be available for DAI.
|
||||
enum DaiIngestStatus {
|
||||
// Default value. This value is unused.
|
||||
DAI_INGEST_STATUS_UNSPECIFIED = 0;
|
||||
|
||||
// The `Content` was successfully ingested for DAI.
|
||||
SUCCESS = 1;
|
||||
|
||||
// There was a non-fatal issue during the DAI ingestion process.
|
||||
WARNING = 2;
|
||||
|
||||
// The preconditioned `Content` was successfully ingested for DAI.
|
||||
INGESTED = 3;
|
||||
|
||||
// There was a non-fatal issue during the DAI ingestion process on
|
||||
// preconditioned `Content`.
|
||||
INGESTED_WITH_WARNINGS = 4;
|
||||
|
||||
// The unconditioned `Content` was successfully conditioned for DAI.
|
||||
CONDITIONED = 5;
|
||||
|
||||
// There was a non-fatal issue during the DAI conditioning process on
|
||||
// originally unconditioned `Content`.
|
||||
CONDITIONED_WITH_WARNINGS = 6;
|
||||
|
||||
// There was a non-fatal issue during the DAI ingestion process and the
|
||||
// `Content` is not available for dynamic ad insertion.
|
||||
FAILURE = 7;
|
||||
}
|
||||
}
|
||||
|
||||
// Wrapper message for
|
||||
// [DaiIngestErrorReason][google.ads.admanager.v1.DaiIngestErrorReasonEnum.DaiIngestErrorReason]
|
||||
message DaiIngestErrorReasonEnum {
|
||||
// Represents an error associated with a Dynamic Ad Insertion (DAI)
|
||||
// [Content's][google.ads.admanager.v1.Content] status.
|
||||
enum DaiIngestErrorReason {
|
||||
// Default value. This value is unused.
|
||||
DAI_INGEST_ERROR_REASON_UNSPECIFIED = 0;
|
||||
|
||||
// The ingest URL provided in the publisher's `Content` source feed is
|
||||
// invalid. The trigger for this error is the ingest URL specified in the
|
||||
// publisher's feed.
|
||||
INVALID_INGEST_URL = 1;
|
||||
|
||||
// The closed caption URL provided in the publisher's `Content` source feed
|
||||
// is invalid.
|
||||
INVALID_CLOSED_CAPTION_URL = 2;
|
||||
|
||||
// There is no closed caption URL for a `Content` in the publisher's
|
||||
// `Content` source feed. There is no trigger for this error.
|
||||
MISSING_CLOSED_CAPTION_URL = 3;
|
||||
|
||||
// There was an error while trying to fetch the HLS from the specified
|
||||
// ingest URL. The trigger for this error is the ingest URL specified in the
|
||||
// publisher's feed.
|
||||
COULD_NOT_FETCH_HLS = 4;
|
||||
|
||||
// There was an error while trying to fetch the subtitles from the specified
|
||||
// closed caption url. The trigger for this error is the closed caption URL
|
||||
// specified in the publisher's feed.
|
||||
COULD_NOT_FETCH_SUBTITLES = 5;
|
||||
|
||||
// One of the subtitles from the closed caption URL is missing a language.
|
||||
// The trigger for this error is the closed caption URL that does not have a
|
||||
// language associated with it.
|
||||
MISSING_SUBTITLE_LANGUAGE = 6;
|
||||
|
||||
// Error fetching the media files from the URLs specified in the master HLS
|
||||
// playlist. The trigger for this error is a media playlist URL within the
|
||||
// publisher's HLS playlist that could not be fetched.
|
||||
COULD_NOT_FETCH_MEDIA = 7;
|
||||
|
||||
// The media from the publisher's CDN is malformed and cannot be
|
||||
// conditioned. The trigger for this error is a media playlist URL within
|
||||
// the publisher's HLS playlist that is malformed.
|
||||
MALFORMED_MEDIA_BYTES = 8;
|
||||
|
||||
// A chapter time for the `Content` is outside of the range of the
|
||||
// `Content`'s duration. The trigger for this error is the chapter time (a
|
||||
// parsable long representing the time in ms) that is out of bounds.
|
||||
CHAPTER_TIME_OUT_OF_BOUNDS = 9;
|
||||
|
||||
// An internal error occurred. There is no trigger for this error.
|
||||
INTERNAL_ERROR = 10;
|
||||
|
||||
// The `Content` has chapter times but the `Content`'s source has no CDN
|
||||
// settings for midrolls. There is no trigger for this error.
|
||||
CONTENT_HAS_CHAPTER_TIMES_BUT_NO_MIDROLL_SETTINGS = 11;
|
||||
|
||||
// There is bad/missing/malformed data in a media playlist. The trigger for
|
||||
// this error is the URL that points to the malformed media playlist.
|
||||
MALFORMED_MEDIA_PLAYLIST = 12;
|
||||
|
||||
// Multiple ways of denoting ad breaks were detected in a media playlist
|
||||
// (e.g. placement opportunity tags, cue markers, etc.)
|
||||
MIXED_AD_BREAK_TAGS = 13;
|
||||
|
||||
// The ad break tags in the preconditioned `Content` are not in the same
|
||||
// locations across all variant playlists.
|
||||
AD_BREAK_TAGS_INCONSISTENT_ACROSS_VARIANTS = 14;
|
||||
|
||||
// There is bad/missing/malformed data in a subtitles file. The trigger for
|
||||
// this error is the URL that points to the malformed subtitles.
|
||||
MALFORMED_SUBTITLES = 15;
|
||||
|
||||
// The subtitles sent to DAI are too large. The trigger for this error is
|
||||
// the URL that points to the master playlist.
|
||||
SUBTITLES_TOO_LARGE = 16;
|
||||
|
||||
// A playlist item has a URL that does not begin with the ingest common path
|
||||
// provided in the DAI settings. The trigger for this error is the playlist
|
||||
// item URL.
|
||||
PLAYLIST_ITEM_URL_DOES_NOT_MATCH_INGEST_COMMON_PATH = 17;
|
||||
|
||||
// Uploading split media segments failed due to an authentication error.
|
||||
COULD_NOT_UPLOAD_SPLIT_MEDIA_AUTHENTICATION_FAILED = 18;
|
||||
|
||||
// Uploading spit media segments failed due to a connection error.
|
||||
COULD_NOT_UPLOAD_SPLIT_MEDIA_CONNECTION_FAILED = 19;
|
||||
|
||||
// Uploading split media segments failed due to a write error.
|
||||
COULD_NOT_UPLOAD_SPLIT_MEDIA_WRITE_FAILED = 20;
|
||||
|
||||
// Variants in a playlist do not have the same number of discontinuities.
|
||||
// The trigger for this error is the master playlist URI.
|
||||
PLAYLISTS_HAVE_DIFFERENT_NUMBER_OF_DISCONTINUITIES = 21;
|
||||
|
||||
// The playlist does not have a starting PTS value. The trigger for this
|
||||
// error is the master playlist URI.
|
||||
PLAYLIST_HAS_NO_STARTING_PTS_VALUE = 22;
|
||||
|
||||
// The PTS at a discontinuity varies too much between the different
|
||||
// variants. The trigger for this error is the master playlist URI.
|
||||
PLAYLIST_DISCONTINUITY_PTS_VALUES_DIFFER_TOO_MUCH = 23;
|
||||
|
||||
// A media segment has no PTS. The trigger for this error is the segment
|
||||
// data URI.
|
||||
SEGMENT_HAS_NO_PTS = 24;
|
||||
|
||||
// The language in the subtitles file does not match the language specified
|
||||
// in the feed. The trigger for this error is the feed language and the
|
||||
// parsed language separated by a semi-colon, e.g. "en;sp".
|
||||
SUBTITLE_LANGUAGE_DOES_NOT_MATCH_LANGUAGE_IN_FEED = 25;
|
||||
|
||||
// There are multiple subtitles files at the closed caption URI, and none of
|
||||
// them match the language defined in the feed.
|
||||
CANNOT_DETERMINE_CORRECT_SUBTITLES_FOR_LANGUAGE = 26;
|
||||
|
||||
// No CDN configuration found for the `Content`. The trigger for this error
|
||||
// is the `Content`'s master playlist URI.
|
||||
NO_CDN_CONFIG_FOUND = 27;
|
||||
|
||||
// The `Content` has midrolls but there was no split `Content` config on the
|
||||
// CDN configuration for that `Content` so the `Content` was not
|
||||
// conditioned. There is no trigger for this error.
|
||||
CONTENT_HAS_MIDROLLS_BUT_NO_SPLIT_CONTENT_CONFIG = 28;
|
||||
|
||||
// The `Content` has midrolls but the source the `Content` was ingested from
|
||||
// has mid-rolls disabled, so the `Content` was not conditioned. There is no
|
||||
// trigger for this error.
|
||||
CONTENT_HAS_MIDROLLS_BUT_SOURCE_HAS_MIDROLLS_DISABLED = 29;
|
||||
|
||||
// Error parsing ADTS while splitting the `Content`. The trigger for this
|
||||
// error is the variant URL and the cue-point separated by a semi-colon,
|
||||
// e.g. "www.variant2.com;5000".
|
||||
ADTS_PARSE_ERROR = 30;
|
||||
|
||||
// Error splitting an AAC segment. The trigger for this error is the variant
|
||||
// URL and the cue-point separated by a semi-colon, e.g.
|
||||
// "www.variant2.com;5000".
|
||||
AAC_SPLIT_ERROR = 31;
|
||||
|
||||
// Error parsing an AAC file while splitting the `Content`. The trigger for
|
||||
// this error is the variant URL and the cue-point separated by a
|
||||
// semi-colon, e.g. "www.variant2.com;5000".
|
||||
AAC_PARSE_ERROR = 32;
|
||||
|
||||
// Error parsing a TS file while splitting the `Content`. The trigger for
|
||||
// this error is the variant URL and the cue-point separated by a
|
||||
// semi-colon, e.g. "www.variant2.com;5000".
|
||||
TS_PARSE_ERROR = 33;
|
||||
|
||||
// Error splitting a TS file while splitting the `Content`. The trigger for
|
||||
// this error is the variant URL and the cue-point separated by a
|
||||
// semi-colon, e.g. "www.variant2.com;5000".
|
||||
TS_SPLIT_ERROR = 34;
|
||||
|
||||
// Encountered an unsupported container format while splitting the
|
||||
// `Content`. The trigger for this error is the variant URL and the
|
||||
// cue-point separated by a semi-colon, e.g. "www.variant2.com;5000".
|
||||
UNSUPPORTED_CONTAINER_FORMAT = 35;
|
||||
|
||||
// Encountered multiple elementary streams of the same media type (audio,
|
||||
// video) within a transport stream. The trigger for this error is the
|
||||
// variant URL and the cue-point separated by a semi-colon, e.g.
|
||||
// "www.variant2.com;5000".
|
||||
MULTIPLE_ELEMENTARY_STREAMS_OF_SAME_MEDIA_TYPE_IN_TS = 36;
|
||||
|
||||
// Encountered an unsupported TS media format while splitting the `Content`.
|
||||
// The trigger for this error is the variant URL and the cue-point separated
|
||||
// by a semi-colon, e.g. "www.variant2.com;5000".
|
||||
UNSUPPORTED_TS_MEDIA_FORMAT = 37;
|
||||
|
||||
// Error splitting because there were no i-frames near the target split
|
||||
// point. The trigger for this error is the variant URL and the cue-point
|
||||
// separated by a semi-colon, e.g. "www.variant2.com;5000".
|
||||
NO_IFRAMES_NEAR_CUE_POINT = 38;
|
||||
|
||||
// Error splitting an AC-3 segment. The trigger for this error is the
|
||||
// variant URL and the cue-point separated by a semi-colon, e.g.
|
||||
// "www.variant2.com;5000".
|
||||
AC3_SPLIT_ERROR = 39;
|
||||
|
||||
// Error parsing an AC-3 file while splitting the `Content`. The trigger for
|
||||
// this error is the variant URL and the cue-point separated by a
|
||||
// semi-colon, e.g. "www.variant2.com;5000".
|
||||
AC3_PARSE_ERROR = 40;
|
||||
|
||||
// Error splitting an E-AC-3 segment. The trigger for this error is the
|
||||
// variant URL and the cue-point separated by a semi-colon, e.g.
|
||||
// "www.variant2.com;5000".
|
||||
EAC3_SPLIT_ERROR = 41;
|
||||
|
||||
// Error caused by an invalid encryption key. The trigger for this error is
|
||||
// a media playlist URL within the publisher's HLS playlist that has the
|
||||
// invalid encryption key.
|
||||
INVALID_ENCRYPTION_KEY = 42;
|
||||
|
||||
// Error parsing an E-AC-3 file while splitting the `Content`. The trigger
|
||||
// for this error is the variant URL and the cue-point separated by a
|
||||
// semi-colon, e.g. "www.variant2.com;5000".
|
||||
EAC3_PARSE_ERROR = 43;
|
||||
|
||||
// Error caused by the number of PTS being a different value than the number
|
||||
// of cue points + 1.
|
||||
CUE_POINT_COUNT_DOES_NOT_MATCH_PTS_COUNT = 44;
|
||||
|
||||
// Error caused by the number of PTS being a different value than the number
|
||||
// of discontinuity tags + 1.
|
||||
DISCONTINUITY_COUNT_DOES_NOT_MATCH_PTS_COUNT = 45;
|
||||
|
||||
// The DASH `Content` has cue points but they do not match the Event
|
||||
// durations from the DASH manifest EventStream, if present.
|
||||
DASH_CUE_POINT_EVENT_MISMATCH = 46;
|
||||
|
||||
// The DASH manifest cannot be conditioned for midrolls.
|
||||
DASH_MANIFEST_CONDITIONING_FAILED = 47;
|
||||
|
||||
// The DASH manifest cannot be conditioned for midrolls because one or more
|
||||
// of the cue points do not lie on a media segment boundary.
|
||||
DASH_MANIFEST_CONDITIONING_SEGMENT_BOUNDARY_ERROR = 48;
|
||||
|
||||
// The subtitle language code should not contain "$$$$$".
|
||||
CLOSED_CAPTION_LANGUAGE_VALUE_INVALID = 49;
|
||||
|
||||
// The subtitle name should not contain "$$$$$".
|
||||
CLOSED_CAPTION_NAME_VALUE_INVALID = 50;
|
||||
|
||||
// The common subtitle characteristics values listed in the HLS spec are:
|
||||
// 1)"public.accessibility.transcribes-spoken-dialog",
|
||||
// 2)"public.accessibility.describes-music-and-sound",
|
||||
// 3)"public.easy-to-read";
|
||||
CLOSED_CAPTION_CHARACTERISTICS_VALUE_UNEXPECTED = 51;
|
||||
|
||||
// Closed captions for a `Content` should be unique by 'language + name'.
|
||||
CLOSED_CAPTIONS_WITH_DUPLICATE_KEYS = 52;
|
||||
|
||||
// Subtitles are defined in the `Content` source feed as well as inside the
|
||||
// stream manifest. Only feed subtitles will be ingested.
|
||||
SUBTITLES_PRESENT_IN_FEED_AND_MANIFEST = 53;
|
||||
|
||||
// The media profile is invalid due to missing data.
|
||||
INVALID_MEDIA_PROFILE = 54;
|
||||
|
||||
// Error caused when the PTS values do not align across chapters.
|
||||
CHAPTER_PTS_MISMATCH = 55;
|
||||
|
||||
// Error occurred while chaptering renditions in the `Content`.
|
||||
CHAPTER_RENDITION_ERROR = 56;
|
||||
|
||||
// Error during notification processing: invalid transcoding request.
|
||||
INVALID_TRANSCODING_REQUEST = 57;
|
||||
|
||||
// Error during notification processing: transcode failed.
|
||||
TRANSCODE_FAILED = 58;
|
||||
|
||||
// Error during playlist generation.
|
||||
PLAYLIST_GENERATION_FAILED = 59;
|
||||
|
||||
// Error during DASH ingest: could not fetch DASH manifest.
|
||||
COULD_NOT_FETCH_DASH = 60;
|
||||
|
||||
// Error during DASH ingest: malformed DASH manifest.
|
||||
MALFORMED_DASH = 61;
|
||||
|
||||
// Error during DASH ingest: DASH conditioning not supported.
|
||||
DASH_CONDITIONING_NOT_SUPPORTED = 62;
|
||||
}
|
||||
}
|
||||
|
|
@ -37,7 +37,7 @@ service ContentLabelService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `ContentLabel` object.
|
||||
// Retrieves a `ContentLabel` object.
|
||||
rpc GetContentLabel(GetContentLabelRequest) returns (ContentLabel) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{name=networks/*/contentLabels/*}"
|
||||
|
|
@ -45,7 +45,7 @@ service ContentLabelService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `ContentLabel` objects.
|
||||
// Lists `ContentLabel` objects.
|
||||
rpc ListContentLabels(ListContentLabelsRequest)
|
||||
returns (ListContentLabelsResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
|
|||
|
|
@ -16,8 +16,11 @@ syntax = "proto3";
|
|||
|
||||
package google.ads.admanager.v1;
|
||||
|
||||
import "google/ads/admanager/v1/content_enums.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";
|
||||
|
|
@ -26,6 +29,12 @@ option java_outer_classname = "ContentMessagesProto";
|
|||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
option (google.api.resource_definition) = {
|
||||
type: "admanager.googleapis.com/ContentSource"
|
||||
pattern: "networks/{network_code}/contentSources/{content_source}"
|
||||
plural: "contentSources"
|
||||
singular: "contentSource"
|
||||
};
|
||||
|
||||
// A piece of `Content` from a Publisher's CMS.
|
||||
message Content {
|
||||
|
|
@ -42,4 +51,130 @@ message Content {
|
|||
|
||||
// Output only. The name of the `Content`.
|
||||
optional string display_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. The status of this `Content`.
|
||||
optional ContentStatusEnum.ContentStatus status = 3
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. Whether the content status was defined by the user, or by the
|
||||
// source CMS from which the `Content` was ingested.
|
||||
optional ContentStatusSourceEnum.ContentStatusSource content_status_source = 4
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. The current DAI ingest status of the HLS media for the
|
||||
// `Content`. This attribute is unset if the `Content` is not eligible for
|
||||
// dynamic ad insertion or if the `Content` does not have HLS media.
|
||||
optional DaiIngestStatusEnum.DaiIngestStatus hls_ingest_status = 5
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. The list of any errors that occurred during the most recent
|
||||
// DAI ingestion process of the HLS media. This attribute will be empty if the
|
||||
// hlsIngestStatus is [DaiIngestStatus.SUCCESS][] or if the `Content` is
|
||||
// not eligible for dynamic ad insertion or if the `Content` does not have
|
||||
// HLS media.
|
||||
repeated DaiIngestError hls_ingest_errors = 6
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. The timestamp at which this `Content`'s HLS media was last
|
||||
// ingested for DAI. This attribute will be unset if the `Content` is not
|
||||
// eligible for dynamic ad insertion or if the `Content` does not have HLS
|
||||
// media.
|
||||
optional google.protobuf.Timestamp last_hls_ingest_time = 7
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. The current DAI ingest status of the DASH media for the
|
||||
// `Content`. This attribute is unset if the `Content` is not eligible for
|
||||
// dynamic ad insertion or if the `Content` does not have DASH media.
|
||||
optional DaiIngestStatusEnum.DaiIngestStatus dash_ingest_status = 8
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. The list of any errors that occurred during the most recent
|
||||
// DAI ingestion process of the DASH media. This attribute will be empty if
|
||||
// the hlsIngestStatus is [DaiIngestStatus.SUCCESS][] or if the `Content` is
|
||||
// not eligible for dynamic ad insertion or if the `Content` does not have
|
||||
// DASH media.
|
||||
repeated DaiIngestError dash_ingest_errors = 9
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. The timestamp at which this `Content`'s DASH media was last
|
||||
// ingested for DAI. This attribute will be unset if the `Content` is not
|
||||
// eligible for dynamic ad insertion or if the `Content` does not have DASH
|
||||
// media.
|
||||
optional google.protobuf.Timestamp last_dash_ingest_time = 10
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. The timestamp at which this `Content` was published.
|
||||
optional google.protobuf.Timestamp import_time = 11
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. The timestamp at which this `Content` was last modified.
|
||||
// The last modified date time will always be updated when a
|
||||
// [ContentBundle][google.ads.admanager.v1.ContentBundle]
|
||||
// association is changed, but will not always be updated when a
|
||||
// [CmsMetadataValue][google.ads.admanager.v1.CmsMetadataValue]
|
||||
// value is changed.
|
||||
optional google.protobuf.Timestamp update_time = 12
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. Information about the `Content` from the CMS it was ingested
|
||||
// from.
|
||||
repeated CmsContent cms_sources = 13
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. The resource names of the
|
||||
// [ContentBundles][google.ads.admanager.v1.ContentBundle] of
|
||||
// which this `Content` is a member.
|
||||
repeated string content_bundles = 14 [
|
||||
(google.api.field_behavior) = OUTPUT_ONLY,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/ContentBundle"
|
||||
}
|
||||
];
|
||||
|
||||
// Output only. The resource names of the [CmsMetadataValues]
|
||||
// [google.ads.admanager.v1.CmsMetadataValue] that
|
||||
// are associated with this `Content`.
|
||||
repeated string cms_metadata_values = 15 [
|
||||
(google.api.field_behavior) = OUTPUT_ONLY,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/CmsMetadataValue"
|
||||
}
|
||||
];
|
||||
|
||||
// Output only. The duration of the `Content`.
|
||||
optional google.protobuf.Duration duration = 16
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
}
|
||||
|
||||
// Represents an error associated with a Dynamic Ad Insertion (DAI) `Content`'s
|
||||
// status.
|
||||
message DaiIngestError {
|
||||
// The error associated with the content.
|
||||
optional DaiIngestErrorReasonEnum.DaiIngestErrorReason reason = 1;
|
||||
|
||||
// Output only. The field, if any, that triggered the error.
|
||||
optional string trigger = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
}
|
||||
|
||||
// Contains information about the `Content` from the CMS it was ingested from.
|
||||
message CmsContent {
|
||||
// Output only. The resource name of the
|
||||
// [ContentSource][google.ads.admanager.v1.ContentSource] this
|
||||
// content was ingested from.
|
||||
optional string content_source = 1 [
|
||||
(google.api.field_behavior) = OUTPUT_ONLY,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/ContentSource"
|
||||
}
|
||||
];
|
||||
|
||||
// Output only. The display name of the
|
||||
// [ContentSource][google.ads.admanager.v1.ContentSource] this
|
||||
// content was ingested from.
|
||||
optional string content_source_display_name = 2
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// The ID of the `Content` in the CMS. This ID will be a 3rd party ID,
|
||||
// usually the ID of the content in a CMS (Content Management System).
|
||||
optional string cms_content_id = 3;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ service ContentService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `Content` object.
|
||||
// Retrieves a `Content` object.
|
||||
rpc GetContent(GetContentRequest) returns (Content) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{name=networks/*/content/*}"
|
||||
|
|
@ -45,7 +45,7 @@ service ContentService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `Content` objects.
|
||||
// Lists `Content` objects.
|
||||
rpc ListContent(ListContentRequest) returns (ListContentResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{parent=networks/*}/content"
|
||||
|
|
@ -96,8 +96,21 @@ message ListContentRequest {
|
|||
//
|
||||
// <b>Filterable fields:</b>
|
||||
// <ul style="list-style-type:none">
|
||||
// <li><code>cmsMetadataValues</code></li>
|
||||
// <li><code>cmsSources.contentSource</code></li>
|
||||
// <li><code>cmsSources.contentSourceDisplayName</code></li>
|
||||
// <li><code>contentBundles</code></li>
|
||||
// <li><code>contentStatusSource</code></li>
|
||||
// <li><code>dashIngestStatus</code></li>
|
||||
// <li><code>displayName</code></li>
|
||||
// <li><code>duration</code></li>
|
||||
// <li><code>hlsIngestStatus</code></li>
|
||||
// <li><code>importTime</code></li>
|
||||
// <li><code>lastDashIngestTime</code></li>
|
||||
// <li><code>lastHlsIngestTime</code></li>
|
||||
// <li><code>name</code></li>
|
||||
// <li><code>status</code></li>
|
||||
// <li><code>updateTime</code></li>
|
||||
// </ul>
|
||||
string filter = 4 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ service CreativeTemplateService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `CreativeTemplate` object.
|
||||
// Retrieves a `CreativeTemplate` object.
|
||||
rpc GetCreativeTemplate(GetCreativeTemplateRequest)
|
||||
returns (CreativeTemplate) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -46,7 +46,7 @@ service CreativeTemplateService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `CreativeTemplate` objects.
|
||||
// Lists `CreativeTemplate` objects.
|
||||
rpc ListCreativeTemplates(ListCreativeTemplatesRequest)
|
||||
returns (ListCreativeTemplatesResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ service CustomFieldService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `CustomField` object.
|
||||
// Retrieves a `CustomField` object.
|
||||
rpc GetCustomField(GetCustomFieldRequest) returns (CustomField) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{name=networks/*/customFields/*}"
|
||||
|
|
@ -46,7 +46,7 @@ service CustomFieldService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `CustomField` objects.
|
||||
// Lists `CustomField` objects.
|
||||
rpc ListCustomFields(ListCustomFieldsRequest)
|
||||
returns (ListCustomFieldsResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -55,7 +55,7 @@ service CustomFieldService {
|
|||
option (google.api.method_signature) = "parent";
|
||||
}
|
||||
|
||||
// API to create a `CustomField` object.
|
||||
// Creates a `CustomField` object.
|
||||
rpc CreateCustomField(CreateCustomFieldRequest) returns (CustomField) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/customFields"
|
||||
|
|
@ -64,7 +64,7 @@ service CustomFieldService {
|
|||
option (google.api.method_signature) = "parent,custom_field";
|
||||
}
|
||||
|
||||
// API to batch create `CustomField` objects.
|
||||
// Creates `CustomField` objects.
|
||||
rpc BatchCreateCustomFields(BatchCreateCustomFieldsRequest)
|
||||
returns (BatchCreateCustomFieldsResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -74,7 +74,7 @@ service CustomFieldService {
|
|||
option (google.api.method_signature) = "parent,requests";
|
||||
}
|
||||
|
||||
// API to update a `CustomField` object.
|
||||
// Updates a `CustomField` object.
|
||||
rpc UpdateCustomField(UpdateCustomFieldRequest) returns (CustomField) {
|
||||
option (google.api.http) = {
|
||||
patch: "/v1/{custom_field.name=networks/*/customFields/*}"
|
||||
|
|
@ -83,7 +83,7 @@ service CustomFieldService {
|
|||
option (google.api.method_signature) = "custom_field,update_mask";
|
||||
}
|
||||
|
||||
// API to batch update `CustomField` objects.
|
||||
// Batch updates `CustomField` objects.
|
||||
rpc BatchUpdateCustomFields(BatchUpdateCustomFieldsRequest)
|
||||
returns (BatchUpdateCustomFieldsResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ service CustomTargetingKeyService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `CustomTargetingKey` object.
|
||||
// Retrieves a `CustomTargetingKey` object.
|
||||
rpc GetCustomTargetingKey(GetCustomTargetingKeyRequest)
|
||||
returns (CustomTargetingKey) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -47,7 +47,7 @@ service CustomTargetingKeyService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `CustomTargetingKey` objects.
|
||||
// Lists `CustomTargetingKey` objects.
|
||||
rpc ListCustomTargetingKeys(ListCustomTargetingKeysRequest)
|
||||
returns (ListCustomTargetingKeysResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -56,7 +56,7 @@ service CustomTargetingKeyService {
|
|||
option (google.api.method_signature) = "parent";
|
||||
}
|
||||
|
||||
// API to create a `CustomTargetingKey` object.
|
||||
// Creates a `CustomTargetingKey` object.
|
||||
rpc CreateCustomTargetingKey(CreateCustomTargetingKeyRequest)
|
||||
returns (CustomTargetingKey) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -66,7 +66,7 @@ service CustomTargetingKeyService {
|
|||
option (google.api.method_signature) = "parent,custom_targeting_key";
|
||||
}
|
||||
|
||||
// API to batch create `CustomTargetingKey` objects.
|
||||
// Creates `CustomTargetingKey` objects.
|
||||
rpc BatchCreateCustomTargetingKeys(BatchCreateCustomTargetingKeysRequest)
|
||||
returns (BatchCreateCustomTargetingKeysResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -76,7 +76,7 @@ service CustomTargetingKeyService {
|
|||
option (google.api.method_signature) = "parent,requests";
|
||||
}
|
||||
|
||||
// API to update a `CustomTargetingKey` object.
|
||||
// Updates a `CustomTargetingKey` object.
|
||||
rpc UpdateCustomTargetingKey(UpdateCustomTargetingKeyRequest)
|
||||
returns (CustomTargetingKey) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -86,7 +86,7 @@ service CustomTargetingKeyService {
|
|||
option (google.api.method_signature) = "custom_targeting_key,update_mask";
|
||||
}
|
||||
|
||||
// API to batch update `CustomTargetingKey` objects.
|
||||
// Batch updates `CustomTargetingKey` objects.
|
||||
rpc BatchUpdateCustomTargetingKeys(BatchUpdateCustomTargetingKeysRequest)
|
||||
returns (BatchUpdateCustomTargetingKeysResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -96,7 +96,7 @@ service CustomTargetingKeyService {
|
|||
option (google.api.method_signature) = "parent,requests";
|
||||
}
|
||||
|
||||
// API to batch activate `CustomTargetingKey` objects.
|
||||
// Batch activates `CustomTargetingKey` objects.
|
||||
rpc BatchActivateCustomTargetingKeys(BatchActivateCustomTargetingKeysRequest)
|
||||
returns (BatchActivateCustomTargetingKeysResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ import "google/api/annotations.proto";
|
|||
import "google/api/client.proto";
|
||||
import "google/api/field_behavior.proto";
|
||||
import "google/api/resource.proto";
|
||||
import "google/protobuf/field_mask.proto";
|
||||
|
||||
option csharp_namespace = "Google.Ads.AdManager.V1";
|
||||
option go_package = "google.golang.org/genproto/googleapis/ads/admanager/v1;admanager";
|
||||
|
|
@ -37,7 +38,7 @@ service CustomTargetingValueService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `CustomTargetingValue` object.
|
||||
// Retrieves a `CustomTargetingValue` object.
|
||||
rpc GetCustomTargetingValue(GetCustomTargetingValueRequest)
|
||||
returns (CustomTargetingValue) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -49,7 +50,7 @@ service CustomTargetingValueService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `CustomTargetingValue` objects.
|
||||
// Lists `CustomTargetingValue` objects.
|
||||
rpc ListCustomTargetingValues(ListCustomTargetingValuesRequest)
|
||||
returns (ListCustomTargetingValuesResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -60,6 +61,68 @@ service CustomTargetingValueService {
|
|||
};
|
||||
option (google.api.method_signature) = "parent";
|
||||
}
|
||||
|
||||
// Creates a `CustomTargetingValue` object.
|
||||
rpc CreateCustomTargetingValue(CreateCustomTargetingValueRequest)
|
||||
returns (CustomTargetingValue) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/customTargetingValues"
|
||||
body: "custom_targeting_value"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,custom_targeting_value";
|
||||
}
|
||||
|
||||
// Creates `CustomTargetingValue` objects.
|
||||
rpc BatchCreateCustomTargetingValues(BatchCreateCustomTargetingValuesRequest)
|
||||
returns (BatchCreateCustomTargetingValuesResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/customTargetingValues:batchCreate"
|
||||
body: "*"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,requests";
|
||||
}
|
||||
|
||||
// Updates a `CustomTargetingValue` object.
|
||||
rpc UpdateCustomTargetingValue(UpdateCustomTargetingValueRequest)
|
||||
returns (CustomTargetingValue) {
|
||||
option (google.api.http) = {
|
||||
patch: "/v1/{custom_targeting_value.name=networks/*/customTargetingValues/*}"
|
||||
body: "custom_targeting_value"
|
||||
};
|
||||
option (google.api.method_signature) = "custom_targeting_value,update_mask";
|
||||
}
|
||||
|
||||
// Batch updates `CustomTargetingValue` objects.
|
||||
rpc BatchUpdateCustomTargetingValues(BatchUpdateCustomTargetingValuesRequest)
|
||||
returns (BatchUpdateCustomTargetingValuesResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/customTargetingValues:batchUpdate"
|
||||
body: "*"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,requests";
|
||||
}
|
||||
|
||||
// Batch activates `CustomTargetingValue` objects.
|
||||
rpc BatchActivateCustomTargetingValues(
|
||||
BatchActivateCustomTargetingValuesRequest)
|
||||
returns (BatchActivateCustomTargetingValuesResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/customTargetingValues:batchActivate"
|
||||
body: "*"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,requests";
|
||||
}
|
||||
|
||||
// Deactivates a list of `CustomTargetingValue` objects.
|
||||
rpc BatchDeactivateCustomTargetingValues(
|
||||
BatchDeactivateCustomTargetingValuesRequest)
|
||||
returns (BatchDeactivateCustomTargetingValuesResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/customTargetingValues:batchDeactivate"
|
||||
body: "*"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,requests";
|
||||
}
|
||||
}
|
||||
|
||||
// Request object for `GetCustomTargetingValue` method.
|
||||
|
|
@ -149,3 +212,149 @@ message ListCustomTargetingValuesResponse {
|
|||
// https://developers.google.com/ad-manager/api/beta/field-masks
|
||||
int32 total_size = 3;
|
||||
}
|
||||
|
||||
// Request object for `CreateCustomTargetingValue` method.
|
||||
message CreateCustomTargetingValueRequest {
|
||||
// Required. The parent, which owns this collection of CustomTargetingValues.
|
||||
// Format:
|
||||
// `networks/{network_code}`
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The `CustomTargetingValue` to create.
|
||||
CustomTargetingValue custom_targeting_value = 2
|
||||
[(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// Request object for `BatchCreateCustomTargetingValues` method.
|
||||
message BatchCreateCustomTargetingValuesRequest {
|
||||
// Required. The parent, which owns this collection of CustomTargetingValues.
|
||||
// Format:
|
||||
// `networks/{network_code}`
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The `CustomTargetingValue` objects to create.
|
||||
// A maximum of 100 objects can be created in a batch.
|
||||
repeated CreateCustomTargetingValueRequest requests = 2
|
||||
[(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// Response object for `BatchCreateCustomTargetingValues` method.
|
||||
message BatchCreateCustomTargetingValuesResponse {
|
||||
// The `CustomTargetingValue` objects created.
|
||||
repeated CustomTargetingValue custom_targeting_values = 1;
|
||||
}
|
||||
|
||||
// Request object for `UpdateCustomTargetingValue` method.
|
||||
message UpdateCustomTargetingValueRequest {
|
||||
// Required. The `CustomTargetingValue` to update.
|
||||
//
|
||||
// The `CustomTargetingValue`'s `name` is used to identify the
|
||||
// `CustomTargetingValue` to update.
|
||||
CustomTargetingValue custom_targeting_value = 1
|
||||
[(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Optional. The list of fields to update.
|
||||
google.protobuf.FieldMask update_mask = 2
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// Request object for `BatchUpdateCustomTargetingValues` method.
|
||||
message BatchUpdateCustomTargetingValuesRequest {
|
||||
// Required. The parent, which owns this collection of CustomTargetingValues.
|
||||
// Format:
|
||||
// `networks/{network_code}`
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The `CustomTargetingValue` objects to update.
|
||||
// A maximum of 100 objects can be updated in a batch.
|
||||
repeated UpdateCustomTargetingValueRequest requests = 2
|
||||
[(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// Response object for `BatchUpdateCustomTargetingValues` method.
|
||||
message BatchUpdateCustomTargetingValuesResponse {
|
||||
// The `CustomTargetingValue` objects updated.
|
||||
repeated CustomTargetingValue custom_targeting_values = 1;
|
||||
}
|
||||
|
||||
// Request message to activate a CustomTargetingValue.
|
||||
message ActivateCustomTargetingValueRequest {
|
||||
// Required. The resource name of the CustomTargetingValue.
|
||||
// Format:
|
||||
// `networks/{network_code}/customTargetingValues/{custom_targeting_value_id}`
|
||||
string name = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/CustomTargetingValue"
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
// Request object for `BatchActivateCustomTargetingValues` method.
|
||||
message BatchActivateCustomTargetingValuesRequest {
|
||||
// Required. The parent, which owns this collection of CustomTargetingValues.
|
||||
// Format:
|
||||
// `networks/{network_code}`
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The `CustomTargetingValue` objects to activate.
|
||||
// A maximum of 100 objects can be activated in a batch.
|
||||
repeated ActivateCustomTargetingValueRequest requests = 2
|
||||
[(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// Response object for `BatchActivateCustomTargetingValues` method.
|
||||
message BatchActivateCustomTargetingValuesResponse {}
|
||||
|
||||
// Request message to deactivate a CustomTargetingValue.
|
||||
message DeactivateCustomTargetingValueRequest {
|
||||
// Required. The resource name of the CustomTargetingValue.
|
||||
// Format:
|
||||
// `networks/{network_code}/customTargetingValues/{custom_targeting_value_id}`
|
||||
string name = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/CustomTargetingValue"
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
// Request message for `BatchDeactivateCustomTargetingValues` method.
|
||||
message BatchDeactivateCustomTargetingValuesRequest {
|
||||
// Required. The parent, which owns this collection of CustomTargetingValues.
|
||||
// Format:
|
||||
// `networks/{network_code}/`
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The `CustomTargetingValue` objects to deactivate.
|
||||
repeated DeactivateCustomTargetingValueRequest requests = 2
|
||||
[(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// Response object for `BatchDeactivateCustomTargetingValues` method.
|
||||
message BatchDeactivateCustomTargetingValuesResponse {}
|
||||
|
|
|
|||
65
google/ads/admanager/v1/deal_priority_tier_enum.proto
Normal file
65
google/ads/admanager/v1/deal_priority_tier_enum.proto
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
// Copyright 2026 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;
|
||||
|
||||
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 = "DealPriorityTierEnumProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// Wrapper message for
|
||||
// [DealPriorityTier][google.ads.admanager.v1.DealPriorityTierEnum.DealPriorityTier].
|
||||
message DealPriorityTierEnum {
|
||||
// Priority tier of non guaranteed deal products.
|
||||
enum DealPriorityTier {
|
||||
// No value specified.
|
||||
DEAL_PRIORITY_TIER_UNSPECIFIED = 0;
|
||||
|
||||
// Tier 1
|
||||
TIER1 = 1;
|
||||
|
||||
// Tier 2
|
||||
TIER2 = 2;
|
||||
|
||||
// Tier 3
|
||||
TIER3 = 3;
|
||||
|
||||
// Tier 4
|
||||
TIER4 = 4;
|
||||
|
||||
// Tier 5
|
||||
TIER5 = 5;
|
||||
|
||||
// Tier 6
|
||||
TIER6 = 6;
|
||||
|
||||
// Tier 7
|
||||
TIER7 = 7;
|
||||
|
||||
// Tier 8
|
||||
TIER8 = 8;
|
||||
|
||||
// Tier 9
|
||||
TIER9 = 9;
|
||||
|
||||
// Open Auction optimized tier
|
||||
OPTIMIZED = 1000;
|
||||
}
|
||||
}
|
||||
|
|
@ -37,7 +37,7 @@ service DeviceCapabilityService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `DeviceCapability` object.
|
||||
// Retrieves a `DeviceCapability` object.
|
||||
rpc GetDeviceCapability(GetDeviceCapabilityRequest)
|
||||
returns (DeviceCapability) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -46,7 +46,7 @@ service DeviceCapabilityService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `DeviceCapability` objects.
|
||||
// Lists `DeviceCapability` objects.
|
||||
rpc ListDeviceCapabilities(ListDeviceCapabilitiesRequest)
|
||||
returns (ListDeviceCapabilitiesResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ service DeviceCategoryService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `DeviceCategory` object.
|
||||
// Retrieves a `DeviceCategory` object.
|
||||
rpc GetDeviceCategory(GetDeviceCategoryRequest) returns (DeviceCategory) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{name=networks/*/deviceCategories/*}"
|
||||
|
|
@ -45,7 +45,7 @@ service DeviceCategoryService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `DeviceCategory` objects.
|
||||
// Lists `DeviceCategory` objects.
|
||||
rpc ListDeviceCategories(ListDeviceCategoriesRequest)
|
||||
returns (ListDeviceCategoriesResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ service DeviceManufacturerService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `DeviceManufacturer` object.
|
||||
// Retrieves a `DeviceManufacturer` object.
|
||||
rpc GetDeviceManufacturer(GetDeviceManufacturerRequest)
|
||||
returns (DeviceManufacturer) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -46,7 +46,7 @@ service DeviceManufacturerService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `DeviceManufacturer` objects.
|
||||
// Lists `DeviceManufacturer` objects.
|
||||
rpc ListDeviceManufacturers(ListDeviceManufacturersRequest)
|
||||
returns (ListDeviceManufacturersResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ service GeoTargetService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `GeoTarget` object.
|
||||
// Retrieves a `GeoTarget` object.
|
||||
rpc GetGeoTarget(GetGeoTargetRequest) returns (GeoTarget) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{name=networks/*/geoTargets/*}"
|
||||
|
|
@ -45,7 +45,7 @@ service GeoTargetService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `GeoTarget` objects.
|
||||
// Lists `GeoTarget` objects.
|
||||
rpc ListGeoTargets(ListGeoTargetsRequest) returns (ListGeoTargetsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{parent=networks/*}/geoTargets"
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ service LabelService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `Label` object.
|
||||
// Retrieves a `Label` object.
|
||||
rpc GetLabel(GetLabelRequest) returns (Label) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{name=networks/*/labels/*}"
|
||||
|
|
@ -46,7 +46,7 @@ service LabelService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `Label` objects.
|
||||
// Lists `Label` objects.
|
||||
rpc ListLabels(ListLabelsRequest) returns (ListLabelsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{parent=networks/*}/labels"
|
||||
|
|
@ -54,7 +54,7 @@ service LabelService {
|
|||
option (google.api.method_signature) = "parent";
|
||||
}
|
||||
|
||||
// API to create a `Label` object.
|
||||
// Creates a `Label` object.
|
||||
rpc CreateLabel(CreateLabelRequest) returns (Label) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/labels"
|
||||
|
|
@ -63,7 +63,7 @@ service LabelService {
|
|||
option (google.api.method_signature) = "parent,label";
|
||||
}
|
||||
|
||||
// API to batch create `Label` objects.
|
||||
// Creates `Label` objects.
|
||||
rpc BatchCreateLabels(BatchCreateLabelsRequest)
|
||||
returns (BatchCreateLabelsResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -73,7 +73,7 @@ service LabelService {
|
|||
option (google.api.method_signature) = "parent,requests";
|
||||
}
|
||||
|
||||
// API to update a `Label` object.
|
||||
// Updates a `Label` object.
|
||||
rpc UpdateLabel(UpdateLabelRequest) returns (Label) {
|
||||
option (google.api.http) = {
|
||||
patch: "/v1/{label.name=networks/*/labels/*}"
|
||||
|
|
@ -82,7 +82,7 @@ service LabelService {
|
|||
option (google.api.method_signature) = "label,update_mask";
|
||||
}
|
||||
|
||||
// API to batch update `Label` objects.
|
||||
// Batch updates `Label` objects.
|
||||
rpc BatchUpdateLabels(BatchUpdateLabelsRequest)
|
||||
returns (BatchUpdateLabelsResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -92,7 +92,7 @@ service LabelService {
|
|||
option (google.api.method_signature) = "parent,requests";
|
||||
}
|
||||
|
||||
// API to activate `Label` objects.
|
||||
// Activates `Label` objects.
|
||||
rpc BatchActivateLabels(BatchActivateLabelsRequest)
|
||||
returns (BatchActivateLabelsResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -102,7 +102,7 @@ service LabelService {
|
|||
option (google.api.method_signature) = "parent,names";
|
||||
}
|
||||
|
||||
// API to deactivate `Label` objects.
|
||||
// Deactivates `Label` objects.
|
||||
rpc BatchDeactivateLabels(BatchDeactivateLabelsRequest)
|
||||
returns (BatchDeactivateLabelsResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ service LineItemService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `LineItem` object.
|
||||
// Retrieves a `LineItem` object.
|
||||
rpc GetLineItem(GetLineItemRequest) returns (LineItem) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{name=networks/*/lineItems/*}"
|
||||
|
|
@ -45,7 +45,7 @@ service LineItemService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `LineItem` objects.
|
||||
// Lists `LineItem` objects.
|
||||
rpc ListLineItems(ListLineItemsRequest) returns (ListLineItemsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{parent=networks/*}/lineItems"
|
||||
|
|
|
|||
195
google/ads/admanager/v1/live_stream_event_enums.proto
Normal file
195
google/ads/admanager/v1/live_stream_event_enums.proto
Normal file
|
|
@ -0,0 +1,195 @@
|
|||
// Copyright 2026 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;
|
||||
|
||||
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 = "LiveStreamEventEnumsProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// Wrapper message for
|
||||
// [LiveStreamEventStatus][google.ads.admanager.v1.LiveStreamEventStatusEnum.LiveStreamEventStatus]
|
||||
message LiveStreamEventStatusEnum {
|
||||
// Describes the status of a LiveStreamEvent object.
|
||||
enum LiveStreamEventStatus {
|
||||
// Default value. This value is unused.
|
||||
LIVE_STREAM_EVENT_STATUS_UNSPECIFIED = 0;
|
||||
|
||||
// Indicates the LiveStreamEvent has been created and is eligible
|
||||
// for streaming.
|
||||
ACTIVE = 1;
|
||||
|
||||
// Indicates that the stream is still being served, but ad insertion should
|
||||
// be paused temporarily.
|
||||
ADS_PAUSED = 2;
|
||||
|
||||
// Indicates the LiveStreamEvent has been archived.
|
||||
ARCHIVED = 3;
|
||||
|
||||
// Indicates the LiveStreamEvent has been paused. This
|
||||
// can be made #ACTIVE at later time.
|
||||
PAUSED = 4;
|
||||
}
|
||||
}
|
||||
|
||||
// Wrapper message for
|
||||
// [AdBreakMarkupType][google.ads.admanager.v1.AdBreakMarkupTypeEnum.AdBreakMarkupType]
|
||||
message AdBreakMarkupTypeEnum {
|
||||
// Describes the SCTE ad break markups for a LiveStreamEvent.
|
||||
enum AdBreakMarkupType {
|
||||
// Default value. This value is unused.
|
||||
AD_BREAK_MARKUP_TYPE_UNSPECIFIED = 0;
|
||||
|
||||
// The DATERANGE ad break marker type. This mark up type is only
|
||||
// applicable for HLS live streams.
|
||||
HLS_DATERANGE_SPLICE = 1;
|
||||
|
||||
// The CUE-OUT/CUE-IN ad break marker type. This mark up type is only
|
||||
// applicable for HLS live streams.
|
||||
HLS_EXT_CUE = 2;
|
||||
|
||||
// The CUE (Adobe/Azure Prime Time) ad break marker type. This mark up type
|
||||
// is only applicable for HLS live streams.
|
||||
HLS_PRIMETIME_SPLICE = 3;
|
||||
|
||||
// The SCTE35 Binary Time Signal: Break Start/End ad break marker type. This
|
||||
// mark up type is only applicable for HLS and DASH live streams.
|
||||
SCTE35_BINARY_BREAK_START_END = 4;
|
||||
|
||||
// The SCTE35 Binary Time Signal: Provider Ad Start/End ad break marker
|
||||
// type. This mark up type is only applicable for HLS and DASH live streams.
|
||||
SCTE35_BINARY_PROVIDER_AD_START_END = 5;
|
||||
|
||||
// The SCTE35 Binary Time Signal: Provider Placement Opportunity Start/End
|
||||
// ad break marker type. This mark up type is only applicable for HLS and
|
||||
// DASH live streams.
|
||||
SCTE35_BINARY_PROVIDER_PLACEMENT_OP_START_END = 6;
|
||||
|
||||
// The SCTE35 Binary Splice Insert ad break marker type. This mark up type
|
||||
// is only applicable for HLS and DASH live streams.
|
||||
SCTE35_BINARY_SPLICE_INSERT = 7;
|
||||
|
||||
// The SCTE35 XML Splice In/Out ad break marker type. This markup type is
|
||||
// only applicable for DASH live streams.
|
||||
SCTE35_XML_SPLICE_INSERT = 11;
|
||||
}
|
||||
}
|
||||
|
||||
// Wrapper message for
|
||||
// [LiveStreamEventStreamingFormat][google.ads.admanager.v1.LiveStreamEventStreamingFormatEnum.LiveStreamEventStreamingFormat]
|
||||
message LiveStreamEventStreamingFormatEnum {
|
||||
// The LiveStreamEvent streaming format.
|
||||
enum LiveStreamEventStreamingFormat {
|
||||
// Default value. This value is unused.
|
||||
LIVE_STREAM_EVENT_STREAMING_FORMAT_UNSPECIFIED = 0;
|
||||
|
||||
// The format of the live stream media is MPEG-DASH.
|
||||
DASH = 1;
|
||||
|
||||
// The format of the live stream media is HTTP Live Streaming.
|
||||
HLS = 2;
|
||||
}
|
||||
}
|
||||
|
||||
// Wrapper message for
|
||||
// [DynamicAdInsertionType][google.ads.admanager.v1.DynamicAdInsertionTypeEnum.DynamicAdInsertionType]
|
||||
message DynamicAdInsertionTypeEnum {
|
||||
// Describes how the live stream will have ads dynamically inserted into
|
||||
// playlists.
|
||||
enum DynamicAdInsertionType {
|
||||
// Default value. This value is unused.
|
||||
DYNAMIC_AD_INSERTION_TYPE_UNSPECIFIED = 0;
|
||||
|
||||
// Content manifest is served by Google DAI. Content and ads are stitched
|
||||
// together into a unique video manifest per user.
|
||||
LINEAR = 1;
|
||||
|
||||
// Ads manifest is served by Google DAI, containing unique ad pod segments
|
||||
// for the video player to switch to from the content stream, or for the
|
||||
// partner to stitch directly into the user content manifest.
|
||||
POD_SERVING_MANIFEST = 2;
|
||||
|
||||
// Content manifest is served by the partner, embedding Google DAI ad
|
||||
// segment URLs which redirect to unique Google DAI ad segments per user.
|
||||
POD_SERVING_REDIRECT = 3;
|
||||
}
|
||||
}
|
||||
|
||||
// Wrapper message for
|
||||
// [HlsSettingsPlaylistType][google.ads.admanager.v1.HlsSettingsPlaylistTypeEnum.HlsSettingsPlaylistType]
|
||||
message HlsSettingsPlaylistTypeEnum {
|
||||
// Describes the type of the playlist associated with this live stream. This
|
||||
// is analogous to the EXT-X-PLAYLIST-TYPE HLS tag. Use
|
||||
// HlsSettingsPlaylistType.EVENT for streams with the value
|
||||
// "#EXT-X-PLAYLIST-TYPE:EVENT" and use HlsSettingsPlaylistType.LIVE for
|
||||
// streams without the tag.
|
||||
enum HlsSettingsPlaylistType {
|
||||
// Default value. This value is unused.
|
||||
HLS_SETTINGS_PLAYLIST_TYPE_UNSPECIFIED = 0;
|
||||
|
||||
// The playlist is an event, which means that media segments can only be
|
||||
// added to the end of the playlist. This allows viewers to scrub back to
|
||||
// the beginning of the playlist.
|
||||
EVENT = 1;
|
||||
|
||||
// The playlist is a live stream and there are no restrictions on whether
|
||||
// media segments can be removed from the beginning of the playlist.
|
||||
LIVE = 2;
|
||||
}
|
||||
}
|
||||
|
||||
// Wrapper message for
|
||||
// [HlsMasterPlaylistRefreshType][google.ads.admanager.v1.HlsMasterPlaylistRefreshTypeEnum.HlsMasterPlaylistRefreshType]
|
||||
message HlsMasterPlaylistRefreshTypeEnum {
|
||||
// Enumerates the different ways an HLS master playlist on a live stream will
|
||||
// can be refreshed.
|
||||
enum HlsMasterPlaylistRefreshType {
|
||||
// Default value. This value is unused.
|
||||
HLS_MASTER_PLAYLIST_REFRESH_TYPE_UNSPECIFIED = 0;
|
||||
|
||||
// The master playlist will automatically be refreshed.
|
||||
AUTOMATIC = 1;
|
||||
|
||||
// The master playlist will only be refreshed when requested.
|
||||
MANUAL = 2;
|
||||
}
|
||||
}
|
||||
|
||||
// Wrapper message for
|
||||
// [AdBreakFillType][google.ads.admanager.v1.AdBreakFillTypeEnum.AdBreakFillType]
|
||||
message AdBreakFillTypeEnum {
|
||||
// Describes what should be used to fill an empty or underfilled ad break
|
||||
// during a live stream.
|
||||
enum AdBreakFillType {
|
||||
// Default value. This value is unused.
|
||||
AD_BREAK_FILL_TYPE_UNSPECIFIED = 0;
|
||||
|
||||
// Ad break should be filled with mostly underlying content. When ad content
|
||||
// can't be aligned with underlying content during transition, the gap will
|
||||
// be bridged with slate to maintain the timeline.
|
||||
MINIMIZE_SLATE = 1;
|
||||
|
||||
// Ad break should be filled with slate.
|
||||
SLATE = 2;
|
||||
|
||||
// Ad break should be filled with underlying content.
|
||||
UNDERLYING_CONTENT = 3;
|
||||
}
|
||||
}
|
||||
342
google/ads/admanager/v1/live_stream_messages.proto
Normal file
342
google/ads/admanager/v1/live_stream_messages.proto
Normal file
|
|
@ -0,0 +1,342 @@
|
|||
// Copyright 2026 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/live_stream_event_enums.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 = "LiveStreamMessagesProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// A LiveStream encapsulates all the information necessary to enable DAI
|
||||
// (Dynamic Ad Insertion) into a live video stream. This includes information
|
||||
// such as the start and expected end time of the live stream, the URL of the
|
||||
// actual content for Ad Manager to pull and insert ads into, as well as the
|
||||
// metadata necessary to generate ad requests during the live stream.
|
||||
message LiveStream {
|
||||
option (google.api.resource) = {
|
||||
type: "admanager.googleapis.com/LiveStream"
|
||||
pattern: "networks/{network_code}/liveStreams/{live_stream}"
|
||||
plural: "liveStreams"
|
||||
singular: "liveStream"
|
||||
};
|
||||
|
||||
// Identifier. The resource name of the `LiveStream`.
|
||||
// Format: `networks/{network_code}/liveStreams/{live_stream_id}`
|
||||
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
||||
|
||||
// Required. The name of the LiveStream. This value has a maximum length of
|
||||
// 255 characters.
|
||||
optional string display_name = 2 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Output only. The status of this LiveStream. Live stream events are created
|
||||
// in the
|
||||
// [PAUSED][google.ads.admanager.v1.LiveStreamEventStatusEnum.LiveStreamEventStatus.PAUSED]
|
||||
// state.
|
||||
optional LiveStreamEventStatusEnum.LiveStreamEventStatus status = 3
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. The date and time this LiveStream was created.
|
||||
google.protobuf.Timestamp create_time = 4
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. The date and time this LiveStream was last modified.
|
||||
google.protobuf.Timestamp update_time = 5
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Optional. The start date and time of this LiveStream. Modifying this
|
||||
// attribute for an active live stream can impact traffic.
|
||||
google.protobuf.Timestamp start_time = 6
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The scheduled end date and time of this LiveStream. This
|
||||
// attribute is required if `unlimitedEndDateTime` is false and ignored if
|
||||
// `unlimitedEndDateTime` is true. Modifying this attribute for an active live
|
||||
// stream can impact traffic.
|
||||
google.protobuf.Timestamp end_time = 7
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Whether the LiveStream has an end time. Defaults to false. If
|
||||
// this field is true, `endDateTime` is ignored.
|
||||
optional bool end_time_unlimited = 8 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Required. The list of URLs pointing to the live stream content in Content
|
||||
// Delivery Network. Can be modified when the live stream is in a
|
||||
// [PAUSED][google.ads.admanager.v1.LiveStreamEventStatusEnum.LiveStreamEventStatus.PAUSED]
|
||||
// state.
|
||||
repeated string content_urls = 9 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Required. The list of Ad Manager ad tag URLs generated by the Ad Manager
|
||||
// trafficking workflow that are associated with this live stream. Currently,
|
||||
// the list includes only one element: the master ad tag.
|
||||
repeated string ad_tags = 10 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Output only. The code used in constructing a live stream master playlist
|
||||
// URL.
|
||||
optional string asset_key = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Optional. Whether the live stream's requests to the IMA SDK API will be
|
||||
// authenticated using the DAI authentication keys.
|
||||
optional bool enable_dai_authentication_keys = 14
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The type of content that should be used to fill an empty ad
|
||||
// break. Defaults to
|
||||
// [SLATE][google.ads.admanager.v1.AdBreakFillTypeEnum.AdBreakFillType.SLATE].
|
||||
optional AdBreakFillTypeEnum.AdBreakFillType ad_break_fill_type = 15
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The type of content that should be used to fill the time
|
||||
// remaining in the ad break when there are not enough ads to fill the entire
|
||||
// break. Defaults to
|
||||
// [SLATE][google.ads.admanager.v1.AdBreakFillTypeEnum.AdBreakFillType.SLATE].
|
||||
// To set this field a network needs to have the "Live stream ad break
|
||||
// underfill type" feature enabled.
|
||||
optional AdBreakFillTypeEnum.AdBreakFillType underfill_ad_break_fill_type = 16
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The duration, starting from the time the user enters the DAI
|
||||
// stream, for which mid-roll decisioning will be skipped. This field is only
|
||||
// applicable when an ad holiday is requested in the stream create request.
|
||||
// Defaults to 0.
|
||||
optional google.protobuf.Duration ad_holiday_duration = 17
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Whether there will be max filler duration in this live stream. If
|
||||
// true, maxFillerDuration should be specified. Defaults to false.
|
||||
optional bool enable_max_filler_duration = 18
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The maximum duration that can be used to fill this ad pod, either
|
||||
// with a slate or underlying content, depending on your settings. If more
|
||||
// time needs to be filled, the ad pod will instead be dropped and the
|
||||
// underlying content will be served.
|
||||
optional google.protobuf.Duration max_filler_duration = 19
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The duration that can be used when stitching ads for each
|
||||
// livestream event. This attribute is only available for Pod Serving HLS
|
||||
// Segment Redirect and Pod Serving Dash Segment Redirect.
|
||||
optional google.protobuf.Duration pod_serving_segment_duration = 20
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Whether there will be durationless ad breaks in this live stream.
|
||||
// If true, `defaultAdBreakDuration` should be specified. Defaults to false.
|
||||
optional bool enable_durationless_ad_breaks = 21
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The default ad pod duration that will be requested when an ad
|
||||
// break cue-out does not specify a duration. Defaults to 0.
|
||||
optional google.protobuf.Duration default_ad_break_duration = 22
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The list of CdnConfigurations that provide settings for ingesting
|
||||
// and delivering the videos associated with this source. Modifying settings
|
||||
// for an active live stream may break the stream for some users. Exercise
|
||||
// caution.
|
||||
// Format: "networks/{network_code}/cdnConfigs/{cdn_config_id}"
|
||||
repeated string source_content_configurations = 26 [
|
||||
(google.api.field_behavior) = OPTIONAL,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/CdnConfig"
|
||||
}
|
||||
];
|
||||
|
||||
// Optional. The CdnConfiguration that provide settings for delivering ad
|
||||
// media associated with this source. Format:
|
||||
// "networks/{network_code}/cdnConfigs/{cdn_config_id}"
|
||||
optional string ad_media_delivery_config = 27 [
|
||||
(google.api.field_behavior) = OPTIONAL,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/CdnConfig"
|
||||
}
|
||||
];
|
||||
|
||||
// Optional. The settings specific to Preroll ad breaks. If
|
||||
// null, this livestream does not have prerolls enabled.
|
||||
PrerollSettings preroll_settings = 28
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The settings that are specific to HTTPS live streaming (HLS)
|
||||
// protocol. If it is not set will use the default HLS settings.
|
||||
HlsSettings hls_settings = 29 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Whether specific allowlisted IP addresses should be used to
|
||||
// access this live stream. Will default to false. To set this field a network
|
||||
// needs to have the "Video live allowlisted IPS enabled" feature enabled.
|
||||
// Modifying this field for an active live stream can impact traffic.
|
||||
optional bool allowlisted_ips_enabled = 30
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Immutable. The method of dynamic ad insertion that is used to insert ads
|
||||
// into this live stream. Defaults to DynamicAdInsertionType.LINEAR.
|
||||
optional DynamicAdInsertionTypeEnum.DynamicAdInsertionType
|
||||
dynamic_ad_insertion_type = 31 [(google.api.field_behavior) = IMMUTABLE];
|
||||
|
||||
// Optional. Whether the served playlists can include relative URLs. Defaults
|
||||
// to false. To set this field a network needs to have the "Video live stream
|
||||
// relative playlist URLs" feature enabled. This field can be modified when
|
||||
// the live stream is in a LiveStreamEventStatus#PAUSED state.
|
||||
optional bool relative_playlist_delivery_enabled = 33
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Immutable. The streaming format of the LiveStream media.
|
||||
optional LiveStreamEventStreamingFormatEnum.LiveStreamEventStreamingFormat
|
||||
streaming_format = 34 [(google.api.field_behavior) = IMMUTABLE];
|
||||
|
||||
// Optional. Indicates whether the option to prefetch ad requests is enabled.
|
||||
optional bool prefetch_enabled = 35 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The information needed to prefetch ad requests for an ad break.
|
||||
PrefetchSettings prefetch_settings = 36
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Whether live stream placement opportunities without `#EXT-CUE-IN`
|
||||
// markers should be force closed. Defaults to false. To set this field a
|
||||
// network needs to have the "Video live stream forced cue in" feature
|
||||
// enabled.
|
||||
optional bool forced_cue_in_enabled = 37
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Whether segments shorter than 1 second at the end of an ad pod
|
||||
// should be dropped. Defaults to false. To set this field a network needs to
|
||||
// have the "Video live stream short segment dropping" feature enabled.
|
||||
optional bool short_segment_dropping_enabled = 38
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Immutable. An additional code that can be used in constructing live stream
|
||||
// event URLs. Can only be set for pod serving live streams. The custom asset
|
||||
// key may be at most 64 characters and can contain alphanumeric characters
|
||||
// and symbols other than the following:
|
||||
// ", ', =, !, +, #, *, ~, ;, ^, (, ), <, >, [, ], the white space character.
|
||||
optional string custom_asset_key = 39
|
||||
[(google.api.field_behavior) = IMMUTABLE];
|
||||
|
||||
// Optional. The formats that will be recognized as ad break start/end
|
||||
// markers. This field is ignored if `adBreakMarkupTypesEnabled` is false.
|
||||
repeated AdBreakMarkupTypeEnum.AdBreakMarkupType ad_break_markups = 42
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Whether this LiveStream is specifying a subset of supported
|
||||
// `adBreakMarkups`. If this field is false, all supported formats will be
|
||||
// treated as ad break start/end markers.
|
||||
optional bool ad_break_markup_types_enabled = 43
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The conditioning to apply to this LiveStream.
|
||||
LiveStreamConditioning live_stream_conditioning = 46
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Indicates whether multi-break scheduling via Early Break
|
||||
// Notification (EBN) is enabled for this LiveStream.
|
||||
optional bool early_break_notification_multi_break_scheduling_enabled = 54
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The maximum amount of time by which a stitched ad pod is
|
||||
// allowed to be trimmed before whole ads are dropped instead.
|
||||
google.protobuf.Duration ad_pod_trim_tolerance = 55
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Output only. The effective asset key of the live stream. This is the
|
||||
// user-defined custom_asset_key if specified; otherwise, it falls back to the
|
||||
// autogenerated asset_key.
|
||||
optional string effective_asset_key = 56
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Optional. The auxiliary ad tag settings for this live stream.
|
||||
AuxiliaryAdSettings auxiliary_ad_settings = 57
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// The information needed to prefetch ad requests for an ad break.
|
||||
message PrefetchSettings {
|
||||
// Optional. The duration of the part of the break to be prefetched.
|
||||
optional google.protobuf.Duration stage_one_ad_request_duration = 1
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// Settings to specify all types of conditioning to apply to the associated
|
||||
// LiveStream.
|
||||
message LiveStreamConditioning {
|
||||
// Optional. Specifies DASH Bridge single-period to multi-period MPD
|
||||
// conditioning.
|
||||
DashBridge dash_bridge = 1 [(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// LiveStream settings that are specific to the HTTP live streaming (HLS)
|
||||
// protocol.
|
||||
message HlsSettings {
|
||||
// Immutable. Indicates the type of the playlist associated with this live
|
||||
// stream. The playlist type is analogous to the `EXT-X-PLAYLIST-TYPE` HLS
|
||||
// tag. Will default to
|
||||
// [LIVE][google.ads.admanager.v1.HlsSettingsPlaylistTypeEnum.HlsSettingsPlaylistType.LIVE].
|
||||
optional HlsSettingsPlaylistTypeEnum.HlsSettingsPlaylistType playlist_type = 1
|
||||
[(google.api.field_behavior) = IMMUTABLE];
|
||||
|
||||
// Optional. The settings for the master playlist. If it is
|
||||
// not set will default to a `MasterPlaylistSettings` with a refresh type of
|
||||
// [AUTOMATIC][google.ads.admanager.v1.HlsMasterPlaylistRefreshTypeEnum.HlsMasterPlaylistRefreshType.AUTOMATIC].
|
||||
MasterPlaylistSettings master_playlist_settings = 2
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// A DashBridge is used to decide when to apply DASH Bridge single-period to
|
||||
// multi-period MPD conditioning. This should always be enabled when the DASH
|
||||
// manifest type is single-period.
|
||||
message DashBridge {
|
||||
// Optional. Specifies whether to apply DASH Bridge single-period to
|
||||
// multi-period MPD conditioning.
|
||||
optional bool enabled = 2 [(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// Settings for ad breaks on a livestream that are specific to preroll.
|
||||
message PrerollSettings {
|
||||
// Required. The Ad Manager ad tag URL generated by the Ad Manager trafficking
|
||||
// workflow that is associated with this live stream.
|
||||
optional string ad_tag = 1 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Required. The maximum duration for an ad break.
|
||||
optional google.protobuf.Duration max_ad_pod_duration = 2
|
||||
[(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// Settings for auxiliary ads (e.g. pause ads) on a live stream.
|
||||
message AuxiliaryAdSettings {
|
||||
// Required. The ad tag URL used to request auxiliary ads (such as pause ads).
|
||||
// This can be a Google Ad Manager ad tag or a third-party ad tag.
|
||||
// Publishers are responsible for ensuring the correctness of the URL.
|
||||
optional string ad_tag_url = 1 [(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// Settings for the HLS (HTTP Live Streaming) master playlist.
|
||||
message MasterPlaylistSettings {
|
||||
// Optional. Indicates how the master playlist gets refreshed. Defaults to
|
||||
// [AUTOMATIC][google.ads.admanager.v1.HlsMasterPlaylistRefreshTypeEnum.HlsMasterPlaylistRefreshType.AUTOMATIC].
|
||||
// This field can only be modified when the live stream is in a
|
||||
// [PAUSED][google.ads.admanager.v1.LiveStreamEventStatusEnum.LiveStreamEventStatus.PAUSED]
|
||||
// state.
|
||||
optional HlsMasterPlaylistRefreshTypeEnum.HlsMasterPlaylistRefreshType
|
||||
refresh_type = 1 [(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
428
google/ads/admanager/v1/live_stream_service.proto
Normal file
428
google/ads/admanager/v1/live_stream_service.proto
Normal file
|
|
@ -0,0 +1,428 @@
|
|||
// Copyright 2026 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/live_stream_messages.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/field_mask.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 = "LiveStreamServiceProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// Provides methods for handling `LiveStream` objects.
|
||||
service LiveStreamService {
|
||||
option (google.api.default_host) = "admanager.googleapis.com";
|
||||
option (google.api.oauth_scopes) =
|
||||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// Retrieves a `LiveStream` object.
|
||||
rpc GetLiveStream(GetLiveStreamRequest) returns (LiveStream) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{name=networks/*/liveStreams/*}"
|
||||
};
|
||||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// Lists `LiveStream` objects.
|
||||
rpc ListLiveStreams(ListLiveStreamsRequest)
|
||||
returns (ListLiveStreamsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{parent=networks/*}/liveStreams"
|
||||
};
|
||||
option (google.api.method_signature) = "parent";
|
||||
}
|
||||
|
||||
// Creates a `LiveStream` object.
|
||||
rpc CreateLiveStream(CreateLiveStreamRequest) returns (LiveStream) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/liveStreams"
|
||||
body: "live_stream"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,live_stream";
|
||||
}
|
||||
|
||||
// Batch creates `LiveStream` objects.
|
||||
rpc BatchCreateLiveStreams(BatchCreateLiveStreamsRequest)
|
||||
returns (BatchCreateLiveStreamsResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/liveStreams:batchCreate"
|
||||
body: "*"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,requests";
|
||||
}
|
||||
|
||||
// Updates a `LiveStream` object.
|
||||
rpc UpdateLiveStream(UpdateLiveStreamRequest) returns (LiveStream) {
|
||||
option (google.api.http) = {
|
||||
patch: "/v1/{live_stream.name=networks/*/liveStreams/*}"
|
||||
body: "live_stream"
|
||||
};
|
||||
option (google.api.method_signature) = "live_stream,update_mask";
|
||||
}
|
||||
|
||||
// Batch updates `LiveStream` objects.
|
||||
rpc BatchUpdateLiveStreams(BatchUpdateLiveStreamsRequest)
|
||||
returns (BatchUpdateLiveStreamsResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/liveStreams:batchUpdate"
|
||||
body: "*"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,requests";
|
||||
}
|
||||
|
||||
// Batch activates `LiveStream` objects.
|
||||
rpc BatchActivateLiveStreams(BatchActivateLiveStreamsRequest)
|
||||
returns (BatchActivateLiveStreamsResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/liveStreams:batchActivate"
|
||||
body: "*"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,names";
|
||||
}
|
||||
|
||||
// Batch pauses `LiveStream` objects.
|
||||
rpc BatchPauseLiveStreams(BatchPauseLiveStreamsRequest)
|
||||
returns (BatchPauseLiveStreamsResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/liveStreams:batchPause"
|
||||
body: "*"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,names";
|
||||
}
|
||||
|
||||
// Batch archives `LiveStream` objects.
|
||||
rpc BatchArchiveLiveStreams(BatchArchiveLiveStreamsRequest)
|
||||
returns (BatchArchiveLiveStreamsResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/liveStreams:batchArchive"
|
||||
body: "*"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,names";
|
||||
}
|
||||
|
||||
// Batch pauses ads on `LiveStream` objects.
|
||||
rpc BatchPauseAdsLiveStreams(BatchPauseAdsLiveStreamsRequest)
|
||||
returns (BatchPauseAdsLiveStreamsResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/liveStreams:batchPauseAds"
|
||||
body: "*"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,names";
|
||||
}
|
||||
|
||||
// Batch refreshes master playlists on `LiveStream` objects.
|
||||
rpc BatchRefreshMasterPlaylists(BatchRefreshMasterPlaylistsRequest)
|
||||
returns (BatchRefreshMasterPlaylistsResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/liveStreams:batchRefreshMasterPlaylists"
|
||||
body: "*"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,names";
|
||||
}
|
||||
}
|
||||
|
||||
// Request object for `GetLiveStream` method.
|
||||
message GetLiveStreamRequest {
|
||||
// Required. The resource name of the LiveStream.
|
||||
// Format: `networks/{network_code}/liveStreams/{live_stream_id}`
|
||||
string name = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/LiveStream"
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
// Request object for `ListLiveStreams` method.
|
||||
message ListLiveStreamsRequest {
|
||||
// Required. The parent, which owns this collection of LiveStreams.
|
||||
// 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 `LiveStreams` to return. The service may
|
||||
// return fewer than this value. If unspecified, at most 50 `LiveStreams` will
|
||||
// be returned. The maximum value is 1000; values greater than 1000 will be
|
||||
// coerced to 1000.
|
||||
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. A page token, received from a previous `ListLiveStreams` call.
|
||||
// Provide this to retrieve the subsequent page.
|
||||
//
|
||||
// When paginating, all other parameters provided to `ListLiveStreams` 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
|
||||
//
|
||||
// <b>Filterable fields:</b>
|
||||
// <ul style="list-style-type:none">
|
||||
// <li><code>assetKey</code></li>
|
||||
// <li><code>createTime</code></li>
|
||||
// <li><code>customAssetKey</code></li>
|
||||
// <li><code>displayName</code></li>
|
||||
// <li><code>dynamicAdInsertionType</code></li>
|
||||
// <li><code>effectiveAssetKey</code></li>
|
||||
// <li><code>endTime</code></li>
|
||||
// <li><code>sourceContentConfigurations</code></li>
|
||||
// <li><code>startTime</code></li>
|
||||
// <li><code>status</code></li>
|
||||
// <li><code>streamingFormat</code></li>
|
||||
// <li><code>updateTime</code></li>
|
||||
// </ul>
|
||||
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 `ListLiveStreamsRequest` containing matching `LiveStream`
|
||||
// objects.
|
||||
message ListLiveStreamsResponse {
|
||||
// The `LiveStream` objects from the specified network.
|
||||
repeated LiveStream live_streams = 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 `LiveStream` objects.
|
||||
// If a filter was included in the request, this reflects the total number
|
||||
// after the filtering is applied.
|
||||
//
|
||||
// `total_size` won't 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;
|
||||
}
|
||||
|
||||
// Request object for `CreateLiveStream` method.
|
||||
message CreateLiveStreamRequest {
|
||||
// Required. The parent resource where this `LiveStream` will be created.
|
||||
// Format: `networks/{network_code}`
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The `LiveStream` to create.
|
||||
LiveStream live_stream = 2 [(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// Request object for `BatchCreateLiveStreams` method.
|
||||
message BatchCreateLiveStreamsRequest {
|
||||
// Required. The parent resource where `LiveStreams` will be created.
|
||||
// Format: `networks/{network_code}`
|
||||
// The parent field in the CreateLiveStreamRequest must match this
|
||||
// field.
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The `LiveStream` objects to create.
|
||||
// A maximum of 100 objects can be created in a batch.
|
||||
repeated CreateLiveStreamRequest requests = 2
|
||||
[(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// Response object for `BatchCreateLiveStreams` method.
|
||||
message BatchCreateLiveStreamsResponse {
|
||||
// The `LiveStream` objects created.
|
||||
repeated LiveStream live_streams = 1;
|
||||
}
|
||||
|
||||
// Request object for `UpdateLiveStream` method.
|
||||
message UpdateLiveStreamRequest {
|
||||
// Required. The `LiveStream` to update.
|
||||
//
|
||||
// The `LiveStream`'s `name` is used to identify the `LiveStream` to update.
|
||||
LiveStream live_stream = 1 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Optional. The list of fields to update.
|
||||
google.protobuf.FieldMask update_mask = 2
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// Request object for `BatchUpdateLiveStreams` method.
|
||||
message BatchUpdateLiveStreamsRequest {
|
||||
// Required. The parent resource where `LiveStreams` will be updated.
|
||||
// Format: `networks/{network_code}`
|
||||
// The parent field in the UpdateLiveStreamRequest must match this
|
||||
// field.
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The `LiveStream` objects to update.
|
||||
// A maximum of 100 objects can be updated in a batch.
|
||||
repeated UpdateLiveStreamRequest requests = 2
|
||||
[(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// Response object for `BatchUpdateLiveStreams` method.
|
||||
message BatchUpdateLiveStreamsResponse {
|
||||
// The `LiveStream` objects updated.
|
||||
repeated LiveStream live_streams = 1;
|
||||
}
|
||||
|
||||
// Request object for `BatchActivateLiveStreams` method.
|
||||
message BatchActivateLiveStreamsRequest {
|
||||
// Required. Format: `networks/{network_code}`
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The resource names of the `LiveStream`s to activate.
|
||||
// Format: `networks/{network_code}/liveStreams/{live_stream_id}`
|
||||
repeated string names = 2 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/LiveStream"
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
// Response object for `BatchActivateLiveStreams` method.
|
||||
message BatchActivateLiveStreamsResponse {}
|
||||
|
||||
// Request object for `BatchPauseLiveStreams` method.
|
||||
message BatchPauseLiveStreamsRequest {
|
||||
// Required. Format: `networks/{network_code}`
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The resource names of the `LiveStream`s to pause.
|
||||
// Format: `networks/{network_code}/liveStreams/{live_stream_id}`
|
||||
repeated string names = 2 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/LiveStream"
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
// Response object for `BatchPauseLiveStreams` method.
|
||||
message BatchPauseLiveStreamsResponse {}
|
||||
|
||||
// Request object for `BatchArchiveLiveStreams` method.
|
||||
message BatchArchiveLiveStreamsRequest {
|
||||
// Required. Format: `networks/{network_code}`
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The resource names of the `LiveStream`s to archive.
|
||||
// Format: `networks/{network_code}/liveStreams/{live_stream_id}`
|
||||
repeated string names = 2 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/LiveStream"
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
// Response object for `BatchArchiveLiveStreams` method.
|
||||
message BatchArchiveLiveStreamsResponse {}
|
||||
|
||||
// Request object for `BatchPauseAdsLiveStreams` method.
|
||||
message BatchPauseAdsLiveStreamsRequest {
|
||||
// Required. Format: `networks/{network_code}`
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The resource names of the `LiveStream`s to pause ads on.
|
||||
// Format: `networks/{network_code}/liveStreams/{live_stream_id}`
|
||||
repeated string names = 2 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/LiveStream"
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
// Response object for `BatchPauseAdsLiveStreams` method.
|
||||
message BatchPauseAdsLiveStreamsResponse {}
|
||||
|
||||
// Request object for `BatchRefreshMasterPlaylists` method.
|
||||
message BatchRefreshMasterPlaylistsRequest {
|
||||
// Required. Format: `networks/{network_code}`
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The resource names of the `LiveStream`s to refresh master
|
||||
// playlists on. Format:
|
||||
// `networks/{network_code}/liveStreams/{live_stream_id}`
|
||||
repeated string names = 2 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/LiveStream"
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
// Response object for `BatchRefreshMasterPlaylists` method.
|
||||
message BatchRefreshMasterPlaylistsResponse {}
|
||||
|
|
@ -37,7 +37,7 @@ service MobileCarrierService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `MobileCarrier` object.
|
||||
// Retrieves a `MobileCarrier` object.
|
||||
rpc GetMobileCarrier(GetMobileCarrierRequest) returns (MobileCarrier) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{name=networks/*/mobileCarriers/*}"
|
||||
|
|
@ -45,7 +45,7 @@ service MobileCarrierService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `MobileCarrier` objects.
|
||||
// Lists `MobileCarrier` objects.
|
||||
rpc ListMobileCarriers(ListMobileCarriersRequest)
|
||||
returns (ListMobileCarriersResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ service MobileDeviceService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `MobileDevice` object.
|
||||
// Retrieves a `MobileDevice` object.
|
||||
rpc GetMobileDevice(GetMobileDeviceRequest) returns (MobileDevice) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{name=networks/*/mobileDevices/*}"
|
||||
|
|
@ -45,7 +45,7 @@ service MobileDeviceService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `MobileDevice` objects.
|
||||
// Lists `MobileDevice` objects.
|
||||
rpc ListMobileDevices(ListMobileDevicesRequest)
|
||||
returns (ListMobileDevicesResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ service MobileDeviceSubmodelService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `MobileDeviceSubmodel` object.
|
||||
// Retrieves a `MobileDeviceSubmodel` object.
|
||||
rpc GetMobileDeviceSubmodel(GetMobileDeviceSubmodelRequest)
|
||||
returns (MobileDeviceSubmodel) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -46,7 +46,7 @@ service MobileDeviceSubmodelService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `MobileDeviceSubmodel` objects.
|
||||
// Lists `MobileDeviceSubmodel` objects.
|
||||
rpc ListMobileDeviceSubmodels(ListMobileDeviceSubmodelsRequest)
|
||||
returns (ListMobileDeviceSubmodelsResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
|
|||
37
google/ads/admanager/v1/non_guaranteed_deal_priority.proto
Normal file
37
google/ads/admanager/v1/non_guaranteed_deal_priority.proto
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
// Copyright 2026 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/deal_priority_tier_enum.proto";
|
||||
import "google/api/field_behavior.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 = "NonGuaranteedDealPriorityProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// Represents the priority settings to apply to non-guaranteed deals,
|
||||
// independently of their types.
|
||||
message NonGuaranteedDealPriority {
|
||||
// Required. Enables publishers to favor certain deals, even if their default
|
||||
// priorities are lower. For example, allowing a PA deal to beat a PD deal.
|
||||
optional DealPriorityTierEnum.DealPriorityTier priority_tier = 1
|
||||
[(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
|
@ -37,7 +37,7 @@ service OperatingSystemService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `OperatingSystem` object.
|
||||
// Retrieves a `OperatingSystem` object.
|
||||
rpc GetOperatingSystem(GetOperatingSystemRequest) returns (OperatingSystem) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{name=networks/*/operatingSystems/*}"
|
||||
|
|
@ -45,7 +45,7 @@ service OperatingSystemService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `OperatingSystem` objects.
|
||||
// Lists `OperatingSystem` objects.
|
||||
rpc ListOperatingSystems(ListOperatingSystemsRequest)
|
||||
returns (ListOperatingSystemsResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ service OperatingSystemVersionService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `OperatingSystemVersion` object.
|
||||
// Retrieves a `OperatingSystemVersion` object.
|
||||
rpc GetOperatingSystemVersion(GetOperatingSystemVersionRequest)
|
||||
returns (OperatingSystemVersion) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -46,7 +46,7 @@ service OperatingSystemVersionService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `OperatingSystemVersion` objects.
|
||||
// Lists `OperatingSystemVersion` objects.
|
||||
rpc ListOperatingSystemVersions(ListOperatingSystemVersionsRequest)
|
||||
returns (ListOperatingSystemVersionsResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ service OrderService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve an Order object.
|
||||
// Retrieves an `Order` object.
|
||||
rpc GetOrder(GetOrderRequest) returns (Order) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{name=networks/*/orders/*}"
|
||||
|
|
@ -45,7 +45,7 @@ service OrderService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `Order` objects.
|
||||
// Lists `Order` objects.
|
||||
//
|
||||
// Fields used for literal matching in filter string:
|
||||
// * `order_id`
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ service PlacementService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `Placement` object.
|
||||
// Retrieves a `Placement` object.
|
||||
rpc GetPlacement(GetPlacementRequest) returns (Placement) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{name=networks/*/placements/*}"
|
||||
|
|
@ -46,7 +46,7 @@ service PlacementService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `Placement` objects.
|
||||
// Lists `Placement` objects.
|
||||
rpc ListPlacements(ListPlacementsRequest) returns (ListPlacementsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{parent=networks/*}/placements"
|
||||
|
|
@ -54,7 +54,7 @@ service PlacementService {
|
|||
option (google.api.method_signature) = "parent";
|
||||
}
|
||||
|
||||
// API to create an `Placement` object.
|
||||
// Creates an `Placement` object.
|
||||
rpc CreatePlacement(CreatePlacementRequest) returns (Placement) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/placements"
|
||||
|
|
@ -63,7 +63,7 @@ service PlacementService {
|
|||
option (google.api.method_signature) = "parent,placement";
|
||||
}
|
||||
|
||||
// API to update an `Placement` object.
|
||||
// Updates an `Placement` object.
|
||||
rpc UpdatePlacement(UpdatePlacementRequest) returns (Placement) {
|
||||
option (google.api.http) = {
|
||||
patch: "/v1/{placement.name=networks/*/placements/*}"
|
||||
|
|
@ -72,7 +72,7 @@ service PlacementService {
|
|||
option (google.api.method_signature) = "placement,update_mask";
|
||||
}
|
||||
|
||||
// API to batch create `Placement` objects.
|
||||
// Creates `Placement` objects.
|
||||
rpc BatchCreatePlacements(BatchCreatePlacementsRequest)
|
||||
returns (BatchCreatePlacementsResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -82,7 +82,7 @@ service PlacementService {
|
|||
option (google.api.method_signature) = "parent,requests";
|
||||
}
|
||||
|
||||
// API to batch update `Placement` objects.
|
||||
// Batch updates `Placement` objects.
|
||||
rpc BatchUpdatePlacements(BatchUpdatePlacementsRequest)
|
||||
returns (BatchUpdatePlacementsResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ syntax = "proto3";
|
|||
package google.ads.admanager.v1;
|
||||
|
||||
import "google/ads/admanager/v1/deal_buyer_permission_type_enum.proto";
|
||||
import "google/ads/admanager/v1/non_guaranteed_deal_priority.proto";
|
||||
import "google/ads/admanager/v1/private_marketplace_enums.proto";
|
||||
import "google/ads/admanager/v1/size.proto";
|
||||
import "google/ads/admanager/v1/targeting.proto";
|
||||
|
|
@ -108,6 +109,10 @@ message PrivateAuctionDeal {
|
|||
// Optional. The buyer data required by the Marketplace API.
|
||||
optional BuyerData buyer_data = 14 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. The priority of the deal across all non-guaranteed deals.
|
||||
optional NonGuaranteedDealPriority deal_priority = 22
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Output only. The instant at which the `PrivateAuctionDeal` was created.
|
||||
optional google.protobuf.Timestamp create_time = 15
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ service PrivateAuctionDealService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `PrivateAuctionDeal` object.
|
||||
// Retrieves a `PrivateAuctionDeal` object.
|
||||
rpc GetPrivateAuctionDeal(GetPrivateAuctionDealRequest)
|
||||
returns (PrivateAuctionDeal) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -47,7 +47,7 @@ service PrivateAuctionDealService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `PrivateAuctionDeal` objects.
|
||||
// Lists `PrivateAuctionDeal` objects.
|
||||
rpc ListPrivateAuctionDeals(ListPrivateAuctionDealsRequest)
|
||||
returns (ListPrivateAuctionDealsResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -56,7 +56,7 @@ service PrivateAuctionDealService {
|
|||
option (google.api.method_signature) = "parent";
|
||||
}
|
||||
|
||||
// API to create a `PrivateAuctionDeal` object.
|
||||
// Creates a `PrivateAuctionDeal` object.
|
||||
rpc CreatePrivateAuctionDeal(CreatePrivateAuctionDealRequest)
|
||||
returns (PrivateAuctionDeal) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -66,7 +66,7 @@ service PrivateAuctionDealService {
|
|||
option (google.api.method_signature) = "parent,private_auction_deal";
|
||||
}
|
||||
|
||||
// API to update a `PrivateAuctionDeal` object.
|
||||
// Updates a `PrivateAuctionDeal` object.
|
||||
rpc UpdatePrivateAuctionDeal(UpdatePrivateAuctionDealRequest)
|
||||
returns (PrivateAuctionDeal) {
|
||||
option (google.api.http) = {
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ service PrivateAuctionService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `PrivateAuction` object.
|
||||
// Retrieves a `PrivateAuction` object.
|
||||
rpc GetPrivateAuction(GetPrivateAuctionRequest) returns (PrivateAuction) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{name=networks/*/privateAuctions/*}"
|
||||
|
|
@ -46,7 +46,7 @@ service PrivateAuctionService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `PrivateAuction` objects.
|
||||
// Lists `PrivateAuction` objects.
|
||||
rpc ListPrivateAuctions(ListPrivateAuctionsRequest)
|
||||
returns (ListPrivateAuctionsResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -55,7 +55,7 @@ service PrivateAuctionService {
|
|||
option (google.api.method_signature) = "parent";
|
||||
}
|
||||
|
||||
// API to create a `PrivateAuction` object.
|
||||
// Creates a `PrivateAuction` object.
|
||||
rpc CreatePrivateAuction(CreatePrivateAuctionRequest)
|
||||
returns (PrivateAuction) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -65,7 +65,7 @@ service PrivateAuctionService {
|
|||
option (google.api.method_signature) = "parent,private_auction";
|
||||
}
|
||||
|
||||
// API to update a `PrivateAuction` object.
|
||||
// Updates a `PrivateAuction` object.
|
||||
rpc UpdatePrivateAuction(UpdatePrivateAuctionRequest)
|
||||
returns (PrivateAuction) {
|
||||
option (google.api.http) = {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ service ProgrammaticBuyerService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `ProgrammaticBuyer` object.
|
||||
// Retrieves a `ProgrammaticBuyer` object.
|
||||
rpc GetProgrammaticBuyer(GetProgrammaticBuyerRequest)
|
||||
returns (ProgrammaticBuyer) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -46,7 +46,7 @@ service ProgrammaticBuyerService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `ProgrammaticBuyer` objects.
|
||||
// Lists `ProgrammaticBuyer` objects.
|
||||
rpc ListProgrammaticBuyers(ListProgrammaticBuyersRequest)
|
||||
returns (ListProgrammaticBuyersResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
|
|||
|
|
@ -500,7 +500,7 @@ message ReportDefinition {
|
|||
//
|
||||
//
|
||||
//
|
||||
// Corresponds to "Advertiser domain" in the Ad Manager UI.
|
||||
// Corresponds to "Landing page domain" in the Ad Manager UI.
|
||||
//
|
||||
// Compatible with the following report types: `HISTORICAL`
|
||||
//
|
||||
|
|
@ -2512,7 +2512,8 @@ message ReportDefinition {
|
|||
// Corresponds to "Creative or creative set value" in the Ad Manager UI
|
||||
// (when showing API fields).
|
||||
//
|
||||
// Compatible with the following report types: `HISTORICAL`
|
||||
// Compatible with the following report types: `HISTORICAL`,
|
||||
// `REAL_TIME_VIDEO`
|
||||
//
|
||||
// Data format: `ENUM`
|
||||
CREATIVE_OR_CREATIVE_SET = 682;
|
||||
|
|
@ -2524,7 +2525,8 @@ message ReportDefinition {
|
|||
//
|
||||
// Corresponds to "Creative or creative set" in the Ad Manager UI.
|
||||
//
|
||||
// Compatible with the following report types: `HISTORICAL`
|
||||
// Compatible with the following report types: `HISTORICAL`,
|
||||
// `REAL_TIME_VIDEO`
|
||||
//
|
||||
// Data format: `STRING`
|
||||
CREATIVE_OR_CREATIVE_SET_NAME = 683;
|
||||
|
|
@ -2929,6 +2931,17 @@ message ReportDefinition {
|
|||
// Data format: `STRING`
|
||||
DEAL_NAME = 437;
|
||||
|
||||
// The declared domain of the advertiser.
|
||||
//
|
||||
//
|
||||
//
|
||||
// Corresponds to "Declared advertiser domain" in the Ad Manager UI.
|
||||
//
|
||||
// Compatible with the following report types: `HISTORICAL`
|
||||
//
|
||||
// Data format: `STRING`
|
||||
DECLARED_ADVERTISER_DOMAIN = 796;
|
||||
|
||||
// The ID of the secure signals that were sent to the bidder who won the
|
||||
// impression.
|
||||
//
|
||||
|
|
@ -3684,7 +3697,8 @@ message ReportDefinition {
|
|||
//
|
||||
// Corresponds to "Key-values ID" in the Ad Manager UI.
|
||||
//
|
||||
// Compatible with the following report types: `HISTORICAL`
|
||||
// Compatible with the following report types: `HISTORICAL`,
|
||||
// `FUTURE_SELL_THROUGH`
|
||||
//
|
||||
// Data format: `IDENTIFIER`
|
||||
KEY_VALUES_ID = 214;
|
||||
|
|
@ -3695,7 +3709,8 @@ message ReportDefinition {
|
|||
//
|
||||
// Corresponds to "Key-values" in the Ad Manager UI.
|
||||
//
|
||||
// Compatible with the following report types: `HISTORICAL`
|
||||
// Compatible with the following report types: `HISTORICAL`,
|
||||
// `FUTURE_SELL_THROUGH`
|
||||
//
|
||||
// Data format: `STRING`
|
||||
KEY_VALUES_NAME = 215;
|
||||
|
|
@ -3706,7 +3721,7 @@ message ReportDefinition {
|
|||
//
|
||||
// Corresponds to "Key-values" in the Ad Manager UI.
|
||||
//
|
||||
// Compatible with the following report types: `FUTURE_SELL_THROUGH`
|
||||
// Compatible with the following report types:
|
||||
//
|
||||
// Data format: `STRING_LIST`
|
||||
KEY_VALUES_SET = 713;
|
||||
|
|
@ -6407,7 +6422,7 @@ message ReportDefinition {
|
|||
// Data format: `STRING`
|
||||
VIDEO_FALLBACK_POSITION = 530;
|
||||
|
||||
// The duration of the ad break in seconds for a live stream event.
|
||||
// The expected duration of the ad break in seconds for a live stream event.
|
||||
//
|
||||
//
|
||||
//
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ service RichMediaAdsCompanyService {
|
|||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `RichMediaAdsCompany` object.
|
||||
// Retrieves a `RichMediaAdsCompany` object.
|
||||
rpc GetRichMediaAdsCompany(GetRichMediaAdsCompanyRequest)
|
||||
returns (RichMediaAdsCompany) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -46,7 +46,7 @@ service RichMediaAdsCompanyService {
|
|||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `RichMediaAdsCompany` objects.
|
||||
// Lists `RichMediaAdsCompany` objects.
|
||||
rpc ListRichMediaAdsCompanies(ListRichMediaAdsCompaniesRequest)
|
||||
returns (ListRichMediaAdsCompaniesResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
|
|||
89
google/ads/admanager/v1/suggested_ad_unit_messages.proto
Normal file
89
google/ads/admanager/v1/suggested_ad_unit_messages.proto
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
// Copyright 2026 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_messages.proto";
|
||||
import "google/ads/admanager/v1/target_platform_enum.proto";
|
||||
import "google/api/field_behavior.proto";
|
||||
import "google/api/resource.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 = "SuggestedAdUnitMessagesProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// A read-only suggestion for a new ad unit based on an ad tag that has served
|
||||
// 10+ times in the past week for an undefined ad unit.
|
||||
message SuggestedAdUnit {
|
||||
option (google.api.resource) = {
|
||||
type: "admanager.googleapis.com/SuggestedAdUnit"
|
||||
pattern: "networks/{network_code}/suggestedAdUnits/{suggested_ad_unit}"
|
||||
plural: "suggestedAdUnits"
|
||||
singular: "suggestedAdUnit"
|
||||
};
|
||||
|
||||
// Identifier. Resource name of the `SuggestedAdUnit`.
|
||||
// Format: `networks/{network_code}/suggestedAdUnits/{suggested_ad_unit_id}`
|
||||
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
||||
|
||||
// Output only. Number of times the ad tag has been served in the past week.
|
||||
optional int64 weekly_request_count = 2
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. Path of suggested ad unit codes from the closest existing
|
||||
// ancestor ad unit that will all be created as ad units when the suggestion
|
||||
// is approved.
|
||||
//
|
||||
// Example:
|
||||
// If a -> b -> c are existing ad units with parent-child
|
||||
// relationships, and the suggested ad unit x is a child of c, the
|
||||
// `new_code_path` is (x).
|
||||
// If x is the grandchild of c, the `new_code_path` is (y, x)
|
||||
// where y is an ad unit that would be created as the parent ad unit of x (and
|
||||
// the child of c) if the suggestion is approved.
|
||||
repeated string new_code_path = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. Code path of ad units leading up to and including the parent
|
||||
// of the first suggested ad unit. Combined with the `new_code_path` field,
|
||||
// this represents the full path for the suggested ad unit if approved.
|
||||
//
|
||||
// Example:
|
||||
// If a -> b -> c are existing ad units with parent-child relationships, and
|
||||
// the suggested ad unit x is a child of c, the `existing_code_path` is (a,
|
||||
// b, c). If x is the grandchild of c, the `existing_code_path` is also (a,
|
||||
// b, c).
|
||||
repeated AdUnitParent existing_code_path = 4
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. Target window of the underlying ad tag which will be used in
|
||||
// the ad unit if the suggestion is approved.
|
||||
optional TargetWindowEnum.TargetWindow target_window = 5
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. Target platform for the browser that clicked the underlying ad
|
||||
// tag.
|
||||
optional TargetPlatformEnum.TargetPlatform target_platform = 6
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. Sizes associated with this suggested ad unit.
|
||||
repeated AdUnitSize ad_unit_sizes = 7
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
}
|
||||
177
google/ads/admanager/v1/suggested_ad_unit_service.proto
Normal file
177
google/ads/admanager/v1/suggested_ad_unit_service.proto
Normal file
|
|
@ -0,0 +1,177 @@
|
|||
// Copyright 2026 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/suggested_ad_unit_messages.proto";
|
||||
import "google/api/annotations.proto";
|
||||
import "google/api/client.proto";
|
||||
import "google/api/field_behavior.proto";
|
||||
import "google/api/resource.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 = "SuggestedAdUnitServiceProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// Provides methods for handling `SuggestedAdUnit` objects.
|
||||
service SuggestedAdUnitService {
|
||||
option (google.api.default_host) = "admanager.googleapis.com";
|
||||
option (google.api.oauth_scopes) =
|
||||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// Get a `SuggestedAdUnit` object.
|
||||
rpc GetSuggestedAdUnit(GetSuggestedAdUnitRequest) returns (SuggestedAdUnit) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{name=networks/*/suggestedAdUnits/*}"
|
||||
};
|
||||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// Retrieve a list of `SuggestedAdUnit` objects.
|
||||
rpc ListSuggestedAdUnits(ListSuggestedAdUnitsRequest)
|
||||
returns (ListSuggestedAdUnitsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{parent=networks/*}/suggestedAdUnits"
|
||||
};
|
||||
option (google.api.method_signature) = "parent";
|
||||
}
|
||||
|
||||
// Bulk approve `SuggestedAdUnit` objects.
|
||||
rpc BatchApproveSuggestedAdUnits(BatchApproveSuggestedAdUnitsRequest)
|
||||
returns (BatchApproveSuggestedAdUnitsResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/suggestedAdUnit:batchApprove"
|
||||
body: "*"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,names";
|
||||
}
|
||||
}
|
||||
|
||||
// Request object for `GetSuggestedAdUnit` method.
|
||||
message GetSuggestedAdUnitRequest {
|
||||
// Required. The resource name of the `SuggestedAdUnit`.
|
||||
// Format: `networks/{network_code}/suggestedAdUnits/{suggested_ad_unit_id}`
|
||||
string name = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/SuggestedAdUnit"
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
// Request object for `ListSuggestedAdUnits` method.
|
||||
message ListSuggestedAdUnitsRequest {
|
||||
// Required. The parent, which owns this collection of SuggestedAdUnits.
|
||||
// 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 `SuggestedAdUnits` to return. The service
|
||||
// may return fewer than this value. If unspecified, at most 50
|
||||
// `SuggestedAdUnits` will be returned. The maximum value is 1000; values
|
||||
// greater than 1000 will be coerced to 1000.
|
||||
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. A page token, received from a previous `ListSuggestedAdUnits`
|
||||
// call. Provide this to retrieve the subsequent page.
|
||||
//
|
||||
// When paginating, all other parameters provided to `ListSuggestedAdUnits`
|
||||
// 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
|
||||
//
|
||||
// <b>Filterable fields:</b>
|
||||
// <ul style="list-style-type:none">
|
||||
// <li><code>name</code></li>
|
||||
// <li><code>newCodePath</code></li>
|
||||
// <li><code>weeklyRequestCount</code></li>
|
||||
// </ul>
|
||||
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 `ListSuggestedAdUnitsRequest` containing matching
|
||||
// `SuggestedAdUnit` objects.
|
||||
message ListSuggestedAdUnitsResponse {
|
||||
// The `SuggestedAdUnit` objects from the specified network.
|
||||
repeated SuggestedAdUnit suggested_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 `SuggestedAdUnit` objects.
|
||||
// If a filter was included in the request, this reflects the total number
|
||||
// after the filtering is applied.
|
||||
//
|
||||
// `total_size` won't 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;
|
||||
}
|
||||
|
||||
// Request message for `BatchApproveSuggestedAdUnits` method.
|
||||
message BatchApproveSuggestedAdUnitsRequest {
|
||||
// Required. Format: `networks/{network_code}`
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. Resource names for the `SuggestedAdUnit` objects to approve.
|
||||
// Format: `networks/{network_code}/suggestedAdUnits/{suggested_ad_unit_id}`
|
||||
repeated string names = 2 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/SuggestedAdUnit"
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
// Response message for `BatchApproveSuggestedAdUnits` method.
|
||||
message BatchApproveSuggestedAdUnitsResponse {
|
||||
// The resource names of the AdUnits that were created as part of the
|
||||
// approval. The order of the ad units in the response is not guaranteed to be
|
||||
// the same as the order of the suggestions in the request.
|
||||
repeated string created_ad_units = 1 [(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/AdUnit"
|
||||
}];
|
||||
}
|
||||
44
google/ads/admanager/v1/target_platform_enum.proto
Normal file
44
google/ads/admanager/v1/target_platform_enum.proto
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
// Copyright 2026 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;
|
||||
|
||||
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 = "TargetPlatformEnumProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// Wrapper message for
|
||||
// [TargetPlatform][google.ads.admanager.v1.TargetPlatformEnum.TargetPlatform]
|
||||
message TargetPlatformEnum {
|
||||
// The target platform of a line item.
|
||||
enum TargetPlatform {
|
||||
// Default value. This value is unused.
|
||||
TARGET_PLATFORM_UNSPECIFIED = 0;
|
||||
|
||||
// A universal target platform that combines mobile and desktop features.
|
||||
ANY = 1;
|
||||
|
||||
// Mobile devices.
|
||||
MOBILE = 2;
|
||||
|
||||
// The desktop web.
|
||||
WEB = 3;
|
||||
}
|
||||
}
|
||||
|
|
@ -64,6 +64,10 @@ message Targeting {
|
|||
DataSegmentTargeting data_segment_targeting = 13
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Used to target inventory formats.
|
||||
RequestFormatTargeting request_format_targeting = 14
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Used to target content.
|
||||
ContentTargeting content_targeting = 15
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
|
@ -561,6 +565,59 @@ message DataSegmentTargeting {
|
|||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
}
|
||||
|
||||
// Request Format Targeting
|
||||
//
|
||||
// This message specifies inclusion or exclusion of various request formats for
|
||||
// targeting. Each optional boolean field controls the targeting of a specific
|
||||
// request format:
|
||||
//
|
||||
// - If set to `true`, the corresponding format is **included** in targeting.
|
||||
// - If set to `false`, the corresponding format is **excluded** from targeting.
|
||||
// - If unset, the format is neither explicitly included nor excluded.
|
||||
//
|
||||
message RequestFormatTargeting {
|
||||
// Optional. Controls app open format targeting. Set to `true` to include,
|
||||
// `false` to exclude, or leave unset for neither.
|
||||
optional bool app_open_enabled = 1 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Controls rewarded format targeting. Set to `true` to include,
|
||||
// `false` to exclude, or leave unset for neither.
|
||||
optional bool rewarded_enabled = 2 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Controls rewarded interstitial format targeting. Set to `true` to
|
||||
// include, `false` to exclude, or leave unset for neither.
|
||||
optional bool rewarded_interstitial_enabled = 3
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Controls interstitial format targeting. Set to `true` to include,
|
||||
// `false` to exclude, or leave unset for neither.
|
||||
optional bool interstitial_enabled = 4
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Controls anchor format targeting. Set to `true` to include,
|
||||
// `false` to exclude, or leave unset for neither.
|
||||
optional bool anchor_enabled = 5 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Controls banner format targeting. Set to `true` to include,
|
||||
// `false` to exclude, or leave unset for neither.
|
||||
optional bool banner_enabled = 6 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Controls instream video format targeting. Set to `true` to
|
||||
// include, `false` to exclude, or leave unset for neither.
|
||||
optional bool instream_video_enabled = 7
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Controls instream audio format targeting. Set to `true` to
|
||||
// include, `false` to exclude, or leave unset for neither.
|
||||
optional bool instream_audio_enabled = 8
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. Controls native advanced format targeting. Set to `true` to
|
||||
// include, `false` to exclude, or leave unset for neither.
|
||||
optional bool native_advanced_enabled = 9
|
||||
[(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// Content Targeting
|
||||
//
|
||||
// Targeted/excluded content entities and bundles.
|
||||
|
|
|
|||
41
google/ads/admanager/v1/targeting_preset_enums.proto
Normal file
41
google/ads/admanager/v1/targeting_preset_enums.proto
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
// Copyright 2026 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;
|
||||
|
||||
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 = "TargetingPresetEnumsProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// Wrapper message for
|
||||
// [TargetingPresetStatus][google.ads.admanager.main.TargetingPresetStatusEnum.TargetingPresetStatus]
|
||||
message TargetingPresetStatusEnum {
|
||||
// The status of a targeting preset.
|
||||
enum TargetingPresetStatus {
|
||||
// Default value. This value is unused.
|
||||
TARGETING_PRESET_STATUS_UNSPECIFIED = 0;
|
||||
|
||||
// The targeting preset is active.
|
||||
ACTIVE = 1;
|
||||
|
||||
// The targeting preset is inactive.
|
||||
INACTIVE = 2;
|
||||
}
|
||||
}
|
||||
56
google/ads/admanager/v1/targeting_preset_messages.proto
Normal file
56
google/ads/admanager/v1/targeting_preset_messages.proto
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
// Copyright 2026 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/targeting.proto";
|
||||
import "google/ads/admanager/v1/targeting_preset_enums.proto";
|
||||
import "google/api/field_behavior.proto";
|
||||
import "google/api/resource.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 = "TargetingPresetMessagesProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// User-defined preset targeting criteria.
|
||||
message TargetingPreset {
|
||||
option (google.api.resource) = {
|
||||
type: "admanager.googleapis.com/TargetingPreset"
|
||||
pattern: "networks/{network_code}/targetingPresets/{targeting_preset}"
|
||||
plural: "targetingPresets"
|
||||
singular: "targetingPreset"
|
||||
};
|
||||
|
||||
// Identifier. The resource name of the `TargetingPreset`.
|
||||
// Format: `networks/{network_code}/targetingPresets/{targeting_preset_id}`
|
||||
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
||||
|
||||
// Required. The name of the TargetingPreset. This attribute has a maximum
|
||||
// length of 255 characters.
|
||||
optional string display_name = 3 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Required. Contains the targeting criteria for the TargetingPreset. If not
|
||||
// provided, empty targeting will be used as a default.
|
||||
optional Targeting targeting = 4 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Output only. The status of the TargetingPreset.
|
||||
optional TargetingPresetStatusEnum.TargetingPresetStatus status = 5
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
}
|
||||
247
google/ads/admanager/v1/targeting_preset_service.proto
Normal file
247
google/ads/admanager/v1/targeting_preset_service.proto
Normal file
|
|
@ -0,0 +1,247 @@
|
|||
// Copyright 2026 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/targeting_preset_messages.proto";
|
||||
import "google/api/annotations.proto";
|
||||
import "google/api/client.proto";
|
||||
import "google/api/field_behavior.proto";
|
||||
import "google/api/resource.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 = "TargetingPresetServiceProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// Provides methods for handling `TargetingPreset` objects.
|
||||
service TargetingPresetService {
|
||||
option (google.api.default_host) = "admanager.googleapis.com";
|
||||
option (google.api.oauth_scopes) =
|
||||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// Retrieves a `TargetingPreset` object.
|
||||
// Note: Deactivated targeting presets are "logically deleted" (filtered out)
|
||||
// by the get logic in the manager layer, so they will not be returned by the
|
||||
// `GetTargetingPreset` RPC.
|
||||
rpc GetTargetingPreset(GetTargetingPresetRequest) returns (TargetingPreset) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{name=networks/*/targetingPresets/*}"
|
||||
};
|
||||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// Lists `TargetingPreset` objects.
|
||||
rpc ListTargetingPresets(ListTargetingPresetsRequest)
|
||||
returns (ListTargetingPresetsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{parent=networks/*}/targetingPresets"
|
||||
};
|
||||
option (google.api.method_signature) = "parent";
|
||||
}
|
||||
|
||||
// Creates a `TargetingPreset` object.
|
||||
rpc CreateTargetingPreset(CreateTargetingPresetRequest)
|
||||
returns (TargetingPreset) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/targetingPresets"
|
||||
body: "targeting_preset"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,targeting_preset";
|
||||
}
|
||||
|
||||
// Creates `TargetingPreset` objects.
|
||||
rpc BatchCreateTargetingPresets(BatchCreateTargetingPresetsRequest)
|
||||
returns (BatchCreateTargetingPresetsResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/targetingPresets:batchCreate"
|
||||
body: "*"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,requests";
|
||||
}
|
||||
|
||||
// Batch deactivates `TargetingPreset` objects.
|
||||
rpc BatchDeactivateTargetingPresets(BatchDeactivateTargetingPresetsRequest)
|
||||
returns (BatchDeactivateTargetingPresetsResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=networks/*}/targetingPreset:batchDeactivate"
|
||||
body: "*"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,requests";
|
||||
}
|
||||
}
|
||||
|
||||
// Request object for `GetTargetingPreset` method.
|
||||
message GetTargetingPresetRequest {
|
||||
// Required. The resource name of the TargetingPreset.
|
||||
// Format: `networks/{network_code}/targetingPresets/{targeting_preset_id}`
|
||||
string name = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/TargetingPreset"
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
// Request object for `ListTargetingPresets` method.
|
||||
message ListTargetingPresetsRequest {
|
||||
// Required. The parent, which owns this collection of TargetingPresets.
|
||||
// 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 `TargetingPresets` to return. The service
|
||||
// may return fewer than this value. If unspecified, at most 50
|
||||
// `TargetingPresets` will be returned. The maximum value is 1000; values
|
||||
// greater than 1000 will be coerced to 1000.
|
||||
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. A page token, received from a previous `ListTargetingPresets`
|
||||
// call. Provide this to retrieve the subsequent page.
|
||||
//
|
||||
// When paginating, all other parameters provided to `ListTargetingPresets`
|
||||
// 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
|
||||
//
|
||||
// <b>Filterable fields:</b>
|
||||
// <ul style="list-style-type:none">
|
||||
// <li><code>displayName</code></li>
|
||||
// <li><code>name</code></li>
|
||||
// <li><code>status</code></li>
|
||||
// </ul>
|
||||
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 `ListTargetingPresetsRequest` containing matching
|
||||
// `TargetingPreset` objects.
|
||||
message ListTargetingPresetsResponse {
|
||||
// The `TargetingPreset` objects from the specified network.
|
||||
repeated TargetingPreset targeting_presets = 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 `TargetingPreset` objects.
|
||||
// If a filter was included in the request, this reflects the total number
|
||||
// after the filtering is applied.
|
||||
//
|
||||
// `total_size` won't 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;
|
||||
}
|
||||
|
||||
// Request object for `CreateTargetingPreset` method.
|
||||
message CreateTargetingPresetRequest {
|
||||
// Required. The parent resource where this `TargetingPreset` will be created.
|
||||
// Format: `networks/{network_code}`
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The `TargetingPreset` to create.
|
||||
TargetingPreset targeting_preset = 2 [(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// Request object for `BatchCreateTargetingPresets` method.
|
||||
message BatchCreateTargetingPresetsRequest {
|
||||
// Required. The parent resource where `TargetingPresets` will be created.
|
||||
// Format: `networks/{network_code}`
|
||||
// The parent field in the CreateTargetingPresetRequest must match this
|
||||
// field.
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The `TargetingPreset` objects to create.
|
||||
// A maximum of 100 objects can be created in a batch.
|
||||
repeated CreateTargetingPresetRequest requests = 2
|
||||
[(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// Response object for `BatchCreateTargetingPresets` method.
|
||||
message BatchCreateTargetingPresetsResponse {
|
||||
// The `TargetingPreset` objects created.
|
||||
repeated TargetingPreset targeting_presets = 1;
|
||||
}
|
||||
|
||||
// Request object for `DeactivateTargetingPreset` method.
|
||||
message DeactivateTargetingPresetRequest {
|
||||
// Required. Resource name for the TargetingPreset.
|
||||
// Format: `networks/{network_code}/targetingPreset/{targeting_preset_id}`
|
||||
string name = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/TargetingPreset"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. TargetingPreset ID to deactivate.
|
||||
int64 targeting_preset_id = 2 [(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// Request message for `BatchDeactivateTargetingPresets` method.
|
||||
message BatchDeactivateTargetingPresetsRequest {
|
||||
// Required. Format: `networks/{network_code}`
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/Network"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The `TargetingPreset` objects to deactivate.
|
||||
repeated DeactivateTargetingPresetRequest requests = 2
|
||||
[(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// Response message for `DeactivateTargetingPresets` method.
|
||||
message BatchDeactivateTargetingPresetsResponse {
|
||||
// The number of objects that were deactivated as a result of performing the
|
||||
// action.
|
||||
int64 change_count = 1;
|
||||
}
|
||||
60
google/ads/admanager/v1/third_party_company_enums.proto
Normal file
60
google/ads/admanager/v1/third_party_company_enums.proto
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
// Copyright 2026 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;
|
||||
|
||||
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 = "ThirdPartyCompanyEnumsProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// Wrapper message for
|
||||
// [ThirdPartyCompanyStatus][google.ads.admanager.v1.ThirdPartyCompanyStatusEnum.ThirdPartyCompanyStatus]
|
||||
message ThirdPartyCompanyStatusEnum {
|
||||
// Status of a third party company.
|
||||
enum ThirdPartyCompanyStatus {
|
||||
// No value specified
|
||||
THIRD_PARTY_COMPANY_STATUS_UNSPECIFIED = 0;
|
||||
|
||||
// The third party company is active.
|
||||
ACTIVE = 1;
|
||||
|
||||
// The third party company is inactive.
|
||||
INACTIVE = 2;
|
||||
}
|
||||
}
|
||||
|
||||
// Wrapper message for
|
||||
// [ThirdPartyCompanyType][google.ads.admanager.v1.ThirdPartyCompanyTypeEnum.ThirdPartyCompanyType]
|
||||
message ThirdPartyCompanyTypeEnum {
|
||||
// The type of a third party company.
|
||||
enum ThirdPartyCompanyType {
|
||||
// No value specified
|
||||
THIRD_PARTY_COMPANY_TYPE_UNSPECIFIED = 0;
|
||||
|
||||
// A company representing multiple advertisers and agencies.
|
||||
AD_NETWORK = 1;
|
||||
|
||||
// An organization that provides ad serving technology.
|
||||
AD_SERVER = 2;
|
||||
|
||||
// A company that provides video technology.
|
||||
VIDEO_TECHNOLOGY_PARTNER = 3;
|
||||
}
|
||||
}
|
||||
58
google/ads/admanager/v1/third_party_company_messages.proto
Normal file
58
google/ads/admanager/v1/third_party_company_messages.proto
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
// Copyright 2026 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/third_party_company_enums.proto";
|
||||
import "google/api/field_behavior.proto";
|
||||
import "google/api/resource.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 = "ThirdPartyCompanyMessagesProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// Represents a third-party company recognized by Google Ad Manager, which can
|
||||
// be an ad network, ad server, or video technology partner.
|
||||
message ThirdPartyCompany {
|
||||
option (google.api.resource) = {
|
||||
type: "admanager.googleapis.com/ThirdPartyCompany"
|
||||
pattern: "networks/{network_code}/thirdPartyCompanies/{third_party_company}"
|
||||
plural: "thirdPartyCompanies"
|
||||
singular: "thirdPartyCompany"
|
||||
};
|
||||
|
||||
// Identifier. The resource name of the `ThirdPartyCompany`.
|
||||
// Format:
|
||||
// `networks/{network_code}/thirdPartyCompanies/{third_party_company_id}`
|
||||
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
|
||||
|
||||
// Output only. The display name of the ThirdPartyCompany. This field must be
|
||||
// unique among all ThirdPartyCompanies for this network.
|
||||
optional string display_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. The status of the ThirdPartyCompany. ThirdPartyCompanies are
|
||||
// set to inactive rather than deleting them.
|
||||
optional ThirdPartyCompanyStatusEnum.ThirdPartyCompanyStatus status = 3
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Output only. The type of the ThirdPartyCompany.
|
||||
optional ThirdPartyCompanyTypeEnum.ThirdPartyCompanyType type = 4
|
||||
[(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
}
|
||||
141
google/ads/admanager/v1/third_party_company_service.proto
Normal file
141
google/ads/admanager/v1/third_party_company_service.proto
Normal file
|
|
@ -0,0 +1,141 @@
|
|||
// Copyright 2026 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/third_party_company_messages.proto";
|
||||
import "google/api/annotations.proto";
|
||||
import "google/api/client.proto";
|
||||
import "google/api/field_behavior.proto";
|
||||
import "google/api/resource.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 = "ThirdPartyCompanyServiceProto";
|
||||
option java_package = "com.google.ads.admanager.v1";
|
||||
option php_namespace = "Google\\Ads\\AdManager\\V1";
|
||||
option ruby_package = "Google::Ads::AdManager::V1";
|
||||
|
||||
// Service to retrieve and list recognized third-party companies in Google Ad
|
||||
// Manager.
|
||||
service ThirdPartyCompanyService {
|
||||
option (google.api.default_host) = "admanager.googleapis.com";
|
||||
option (google.api.oauth_scopes) =
|
||||
"https://www.googleapis.com/auth/admanager,"
|
||||
"https://www.googleapis.com/auth/admanager.readonly";
|
||||
|
||||
// API to retrieve a `ThirdPartyCompany` object.
|
||||
rpc GetThirdPartyCompany(GetThirdPartyCompanyRequest)
|
||||
returns (ThirdPartyCompany) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{name=networks/*/thirdPartyCompanies/*}"
|
||||
};
|
||||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// API to retrieve a list of `ThirdPartyCompany` objects.
|
||||
rpc ListThirdPartyCompanies(ListThirdPartyCompaniesRequest)
|
||||
returns (ListThirdPartyCompaniesResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{parent=networks/*}/thirdPartyCompanies"
|
||||
};
|
||||
option (google.api.method_signature) = "parent";
|
||||
}
|
||||
}
|
||||
|
||||
// Request object for `GetThirdPartyCompany` method.
|
||||
message GetThirdPartyCompanyRequest {
|
||||
// Required. The resource name of the ThirdPartyCompany.
|
||||
// Format:
|
||||
// `networks/{network_code}/thirdPartyCompanies/{third_party_company_id}`
|
||||
string name = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "admanager.googleapis.com/ThirdPartyCompany"
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
// Request object for `ListThirdPartyCompanies` method.
|
||||
message ListThirdPartyCompaniesRequest {
|
||||
// Required. The parent, which owns this collection of ThirdPartyCompanies.
|
||||
// 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 `ThirdPartyCompanies` to return. The
|
||||
// service may return fewer than this value. If unspecified, at most 50
|
||||
// `ThirdPartyCompanies` will be returned. The maximum value is 1000; values
|
||||
// greater than 1000 will be coerced to 1000.
|
||||
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Optional. A page token, received from a previous `ListThirdPartyCompanies`
|
||||
// call. Provide this to retrieve the subsequent page.
|
||||
//
|
||||
// When paginating, all other parameters provided to `ListThirdPartyCompanies`
|
||||
// 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
|
||||
//
|
||||
// <b>Filterable fields:</b>
|
||||
// <ul style="list-style-type:none">
|
||||
// <li><code>displayName</code></li>
|
||||
// <li><code>name</code></li>
|
||||
// <li><code>status</code></li>
|
||||
// <li><code>type</code></li>
|
||||
// </ul>
|
||||
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 `ListThirdPartyCompaniesRequest` containing matching
|
||||
// `ThirdPartyCompany` objects.
|
||||
message ListThirdPartyCompaniesResponse {
|
||||
// The `ThirdPartyCompany` objects from the specified network.
|
||||
repeated ThirdPartyCompany third_party_companies = 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 `ThirdPartyCompany` objects.
|
||||
// If a filter was included in the request, this reflects the total number
|
||||
// after the filtering is applied.
|
||||
//
|
||||
// `total_size` won't 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;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue