diff --git a/google-ads-data_manager-v1/.owlbot-manifest.json b/google-ads-data_manager-v1/.owlbot-manifest.json index b63bd6201e7d..28e5ea55f0a5 100644 --- a/google-ads-data_manager-v1/.owlbot-manifest.json +++ b/google-ads-data_manager-v1/.owlbot-manifest.json @@ -57,6 +57,7 @@ "lib/google/ads/data_manager/v1/user_list_service/rest/client.rb", "lib/google/ads/data_manager/v1/user_list_service/rest/service_stub.rb", "lib/google/ads/data_manager/v1/version.rb", + "lib/google/ads/datamanager/v1/ad_event_pb.rb", "lib/google/ads/datamanager/v1/age_range_pb.rb", "lib/google/ads/datamanager/v1/audience_pb.rb", "lib/google/ads/datamanager/v1/cart_data_pb.rb", @@ -96,7 +97,9 @@ "lib/google/ads/datamanager/v1/user_list_service_pb.rb", "lib/google/ads/datamanager/v1/user_list_service_services_pb.rb", "lib/google/ads/datamanager/v1/user_properties_pb.rb", + "lib/google/ads/datamanager/v1/viewability_info_pb.rb", "proto_docs/README.md", + "proto_docs/google/ads/datamanager/v1/ad_event.rb", "proto_docs/google/ads/datamanager/v1/age_range.rb", "proto_docs/google/ads/datamanager/v1/audience.rb", "proto_docs/google/ads/datamanager/v1/cart_data.rb", @@ -130,6 +133,7 @@ "proto_docs/google/ads/datamanager/v1/user_list_license_status.rb", "proto_docs/google/ads/datamanager/v1/user_list_service.rb", "proto_docs/google/ads/datamanager/v1/user_properties.rb", + "proto_docs/google/ads/datamanager/v1/viewability_info.rb", "proto_docs/google/api/client.rb", "proto_docs/google/api/field_behavior.rb", "proto_docs/google/api/field_info.rb", @@ -140,6 +144,7 @@ "proto_docs/google/protobuf/field_mask.rb", "proto_docs/google/protobuf/timestamp.rb", "snippets/Gemfile", + "snippets/ingestion_service/ingest_ad_events.rb", "snippets/ingestion_service/ingest_audience_members.rb", "snippets/ingestion_service/ingest_events.rb", "snippets/ingestion_service/remove_audience_members.rb", diff --git a/google-ads-data_manager-v1/gapic_metadata.json b/google-ads-data_manager-v1/gapic_metadata.json index 0d5d0d42ee4c..e461b2557c93 100644 --- a/google-ads-data_manager-v1/gapic_metadata.json +++ b/google-ads-data_manager-v1/gapic_metadata.json @@ -25,6 +25,11 @@ "ingest_events" ] }, + "IngestAdEvents": { + "methods": [ + "ingest_ad_events" + ] + }, "RetrieveRequestStatus": { "methods": [ "retrieve_request_status" diff --git a/google-ads-data_manager-v1/lib/google/ads/data_manager/v1/ingestion_service/client.rb b/google-ads-data_manager-v1/lib/google/ads/data_manager/v1/ingestion_service/client.rb index 07851eb01067..929b70eb4514 100644 --- a/google-ads-data_manager-v1/lib/google/ads/data_manager/v1/ingestion_service/client.rb +++ b/google-ads-data_manager-v1/lib/google/ads/data_manager/v1/ingestion_service/client.rb @@ -483,6 +483,92 @@ def ingest_events request, options = nil raise ::Google::Cloud::Error.from_error(e) end + ## + # Uploads a list of + # {::Google::Ads::DataManager::V1::AdEvent AdEvent} resources to Google + # Analytics. + # + # This feature is only available to accounts on an allowlist. + # + # @overload ingest_ad_events(request, options = nil) + # Pass arguments to `ingest_ad_events` via a request object, either of type + # {::Google::Ads::DataManager::V1::IngestAdEventsRequest} or an equivalent Hash. + # + # @param request [::Google::Ads::DataManager::V1::IngestAdEventsRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. + # + # @overload ingest_ad_events(ad_events: nil, encryption_info: nil, validate_only: nil) + # Pass arguments to `ingest_ad_events` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param ad_events [::Array<::Google::Ads::DataManager::V1::AdEvent, ::Hash>] + # Required. Required (at least 1). A list of ad events. + # @param encryption_info [::Google::Ads::DataManager::V1::EncryptionInfo, ::Hash] + # Optional. Information about encryption keys which are used to encrypt the + # data. + # @param validate_only [::Boolean] + # Optional. If true, the request is validated, but not executed. + # + # @yield [response, operation] Access the result along with the RPC operation + # @yieldparam response [::Google::Ads::DataManager::V1::IngestAdEventsResponse] + # @yieldparam operation [::GRPC::ActiveCall::Operation] + # + # @return [::Google::Ads::DataManager::V1::IngestAdEventsResponse] + # + # @raise [::Google::Cloud::Error] if the RPC is aborted. + # + # @example Basic example + # require "google/ads/data_manager/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Ads::DataManager::V1::IngestionService::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Ads::DataManager::V1::IngestAdEventsRequest.new + # + # # Call the ingest_ad_events method. + # result = client.ingest_ad_events request + # + # # The returned object is of type Google::Ads::DataManager::V1::IngestAdEventsResponse. + # p result + # + def ingest_ad_events request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Google::Ads::DataManager::V1::IngestAdEventsRequest + + # Converts hash and nil to an options object + options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h + + # Customize the options with defaults + metadata = @config.rpcs.ingest_ad_events.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Google::Ads::DataManager::V1::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + options.apply_defaults timeout: @config.rpcs.ingest_ad_events.timeout, + metadata: metadata, + retry_policy: @config.rpcs.ingest_ad_events.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @ingestion_service_stub.call_rpc :ingest_ad_events, request, options: options do |response, operation| + yield response, operation if block_given? + end + rescue ::GRPC::BadStatus => e + raise ::Google::Cloud::Error.from_error(e) + end + ## # Gets the status of a request given request id. # @@ -761,6 +847,11 @@ class Rpcs # attr_reader :ingest_events ## + # RPC-specific configuration for `ingest_ad_events` + # @return [::Gapic::Config::Method] + # + attr_reader :ingest_ad_events + ## # RPC-specific configuration for `retrieve_request_status` # @return [::Gapic::Config::Method] # @@ -774,6 +865,8 @@ def initialize parent_rpcs = nil @remove_audience_members = ::Gapic::Config::Method.new remove_audience_members_config ingest_events_config = parent_rpcs.ingest_events if parent_rpcs.respond_to? :ingest_events @ingest_events = ::Gapic::Config::Method.new ingest_events_config + ingest_ad_events_config = parent_rpcs.ingest_ad_events if parent_rpcs.respond_to? :ingest_ad_events + @ingest_ad_events = ::Gapic::Config::Method.new ingest_ad_events_config retrieve_request_status_config = parent_rpcs.retrieve_request_status if parent_rpcs.respond_to? :retrieve_request_status @retrieve_request_status = ::Gapic::Config::Method.new retrieve_request_status_config diff --git a/google-ads-data_manager-v1/lib/google/ads/data_manager/v1/ingestion_service/rest/client.rb b/google-ads-data_manager-v1/lib/google/ads/data_manager/v1/ingestion_service/rest/client.rb index 4e31864ec901..0ea1eaa64fa8 100644 --- a/google-ads-data_manager-v1/lib/google/ads/data_manager/v1/ingestion_service/rest/client.rb +++ b/google-ads-data_manager-v1/lib/google/ads/data_manager/v1/ingestion_service/rest/client.rb @@ -479,6 +479,93 @@ def ingest_events request, options = nil raise ::Google::Cloud::Error.from_error(e) end + ## + # Uploads a list of + # {::Google::Ads::DataManager::V1::AdEvent AdEvent} resources to Google + # Analytics. + # + # This feature is only available to accounts on an allowlist. + # + # @overload ingest_ad_events(request, options = nil) + # Pass arguments to `ingest_ad_events` via a request object, either of type + # {::Google::Ads::DataManager::V1::IngestAdEventsRequest} or an equivalent Hash. + # + # @param request [::Google::Ads::DataManager::V1::IngestAdEventsRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries etc. Optional. + # + # @overload ingest_ad_events(ad_events: nil, encryption_info: nil, validate_only: nil) + # Pass arguments to `ingest_ad_events` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param ad_events [::Array<::Google::Ads::DataManager::V1::AdEvent, ::Hash>] + # Required. Required (at least 1). A list of ad events. + # @param encryption_info [::Google::Ads::DataManager::V1::EncryptionInfo, ::Hash] + # Optional. Information about encryption keys which are used to encrypt the + # data. + # @param validate_only [::Boolean] + # Optional. If true, the request is validated, but not executed. + # @yield [result, operation] Access the result along with the TransportOperation object + # @yieldparam result [::Google::Ads::DataManager::V1::IngestAdEventsResponse] + # @yieldparam operation [::Gapic::Rest::TransportOperation] + # + # @return [::Google::Ads::DataManager::V1::IngestAdEventsResponse] + # + # @raise [::Google::Cloud::Error] if the REST call is aborted. + # + # @example Basic example + # require "google/ads/data_manager/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Ads::DataManager::V1::IngestionService::Rest::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Ads::DataManager::V1::IngestAdEventsRequest.new + # + # # Call the ingest_ad_events method. + # result = client.ingest_ad_events request + # + # # The returned object is of type Google::Ads::DataManager::V1::IngestAdEventsResponse. + # p result + # + def ingest_ad_events request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Google::Ads::DataManager::V1::IngestAdEventsRequest + + # Converts hash and nil to an options object + options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h + + # Customize the options with defaults + call_metadata = @config.rpcs.ingest_ad_events.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Google::Ads::DataManager::V1::VERSION, + transports_version_send: [:rest] + + call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + options.apply_defaults timeout: @config.rpcs.ingest_ad_events.timeout, + metadata: call_metadata, + retry_policy: @config.rpcs.ingest_ad_events.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @ingestion_service_stub.ingest_ad_events request, options do |result, operation| + yield result, operation if block_given? + end + rescue ::Gapic::Rest::Error => e + raise ::Google::Cloud::Error.from_error(e) + end + ## # Gets the status of a request given request id. # @@ -721,6 +808,11 @@ class Rpcs # attr_reader :ingest_events ## + # RPC-specific configuration for `ingest_ad_events` + # @return [::Gapic::Config::Method] + # + attr_reader :ingest_ad_events + ## # RPC-specific configuration for `retrieve_request_status` # @return [::Gapic::Config::Method] # @@ -734,6 +826,8 @@ def initialize parent_rpcs = nil @remove_audience_members = ::Gapic::Config::Method.new remove_audience_members_config ingest_events_config = parent_rpcs.ingest_events if parent_rpcs.respond_to? :ingest_events @ingest_events = ::Gapic::Config::Method.new ingest_events_config + ingest_ad_events_config = parent_rpcs.ingest_ad_events if parent_rpcs.respond_to? :ingest_ad_events + @ingest_ad_events = ::Gapic::Config::Method.new ingest_ad_events_config retrieve_request_status_config = parent_rpcs.retrieve_request_status if parent_rpcs.respond_to? :retrieve_request_status @retrieve_request_status = ::Gapic::Config::Method.new retrieve_request_status_config diff --git a/google-ads-data_manager-v1/lib/google/ads/data_manager/v1/ingestion_service/rest/service_stub.rb b/google-ads-data_manager-v1/lib/google/ads/data_manager/v1/ingestion_service/rest/service_stub.rb index a5ddbfe93bc6..9ba47d99a093 100644 --- a/google-ads-data_manager-v1/lib/google/ads/data_manager/v1/ingestion_service/rest/service_stub.rb +++ b/google-ads-data_manager-v1/lib/google/ads/data_manager/v1/ingestion_service/rest/service_stub.rb @@ -193,6 +193,46 @@ def ingest_events request_pb, options = nil end end + ## + # Baseline implementation for the ingest_ad_events REST call + # + # @param request_pb [::Google::Ads::DataManager::V1::IngestAdEventsRequest] + # A request object representing the call parameters. Required. + # @param options [::Gapic::CallOptions] + # Overrides the default settings for this call, e.g, timeout, retries etc. Optional. + # + # @yield [result, operation] Access the result along with the TransportOperation object + # @yieldparam result [::Google::Ads::DataManager::V1::IngestAdEventsResponse] + # @yieldparam operation [::Gapic::Rest::TransportOperation] + # + # @return [::Google::Ads::DataManager::V1::IngestAdEventsResponse] + # A result object deserialized from the server's reply + def ingest_ad_events request_pb, options = nil + raise ::ArgumentError, "request must be provided" if request_pb.nil? + + verb, uri, query_string_params, body = ServiceStub.transcode_ingest_ad_events_request request_pb + query_string_params = if query_string_params.any? + query_string_params.to_h { |p| p.split "=", 2 } + else + {} + end + + response = @client_stub.make_http_request( + verb, + uri: uri, + body: body || "", + params: query_string_params, + method_name: "ingest_ad_events", + options: options + ) + operation = ::Gapic::Rest::TransportOperation.new response + result = ::Google::Ads::DataManager::V1::IngestAdEventsResponse.decode_json response.body, ignore_unknown_fields: true + catch :response do + yield result, operation if block_given? + result + end + end + ## # Baseline implementation for the retrieve_request_status REST call # @@ -293,6 +333,26 @@ def self.transcode_ingest_events_request request_pb transcoder.transcode request_pb end + ## + # @private + # + # GRPC transcoding helper method for the ingest_ad_events REST call + # + # @param request_pb [::Google::Ads::DataManager::V1::IngestAdEventsRequest] + # A request object representing the call parameters. Required. + # @return [Array(String, [String, nil], Hash{String => String})] + # Uri, Body, Query string parameters + def self.transcode_ingest_ad_events_request request_pb + transcoder = Gapic::Rest::GrpcTranscoder.new + .with_bindings( + uri_method: :post, + uri_template: "/v1/adEvents:ingest", + body: "*", + matches: [] + ) + transcoder.transcode request_pb + end + ## # @private # diff --git a/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/ad_event_pb.rb b/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/ad_event_pb.rb new file mode 100644 index 000000000000..7ad3e8a7e4ec --- /dev/null +++ b/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/ad_event_pb.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/ads/datamanager/v1/ad_event.proto + +require 'google/protobuf' + +require 'google/ads/datamanager/v1/device_info_pb' +require 'google/ads/datamanager/v1/user_data_pb' +require 'google/ads/datamanager/v1/viewability_info_pb' +require 'google/api/field_behavior_pb' +require 'google/protobuf/timestamp_pb' + + +descriptor_data = "\n(google/ads/datamanager/v1/ad_event.proto\x12\x19google.ads.datamanager.v1\x1a+google/ads/datamanager/v1/device_info.proto\x1a)google/ads/datamanager/v1/user_data.proto\x1a\x30google/ads/datamanager/v1/viewability_info.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xa0\x0e\n\x07\x41\x64\x45vent\x12\x1a\n\radvertiser_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x45\n\nevent_type\x18\x02 \x01(\x0e\x32,.google.ads.datamanager.v1.AdEvent.EventTypeB\x03\xe0\x41\x02\x12H\n\revent_subtype\x18\x03 \x01(\x0e\x32/.google.ads.datamanager.v1.AdEvent.EventSubtypeH\x00\x12\x1e\n\x14\x65vent_subtype_string\x18\x04 \x01(\tH\x00\x12\x32\n\ttimestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02\x12\x15\n\x08\x65vent_id\x18\x06 \x01(\tB\x03\xe0\x41\x01\x12;\n\tuser_data\x18\x07 \x01(\x0b\x32#.google.ads.datamanager.v1.UserDataB\x03\xe0\x41\x01\x12?\n\x0b\x64\x65vice_info\x18\x08 \x01(\x0b\x32%.google.ads.datamanager.v1.DeviceInfoB\x03\xe0\x41\x01\x12\x1d\n\x10mobile_device_id\x18\t \x01(\tB\x03\xe0\x41\x01\x12\x18\n\x0b\x63\x61mpaign_id\x18\n \x01(\tB\x03\xe0\x41\x02\x12\x1a\n\rcampaign_name\x18\x0b \x01(\tB\x03\xe0\x41\x02\x12\x18\n\x0b\x61\x64_group_id\x18\x0c \x01(\tB\x03\xe0\x41\x01\x12\x12\n\x05\x61\x64_id\x18\r \x01(\tB\x03\xe0\x41\x01\x12\x34\n\x07\x61\x64_type\x18\x0e \x01(\x0e\x32!.google.ads.datamanager.v1.AdTypeH\x01\x12\x18\n\x0e\x61\x64_type_string\x18\x0f \x01(\tH\x01\x12\x38\n\tad_format\x18\x10 \x01(\x0e\x32#.google.ads.datamanager.v1.AdFormatH\x02\x12\x1a\n\x10\x61\x64_format_string\x18\x11 \x01(\tH\x02\x12>\n\x0c\x61\x64_placement\x18\x12 \x01(\x0e\x32&.google.ads.datamanager.v1.AdPlacementH\x03\x12\x1d\n\x13\x61\x64_placement_string\x18\x13 \x01(\tH\x03\x12\x16\n\tad_height\x18\x14 \x01(\x05\x42\x03\xe0\x41\x01\x12\x15\n\x08\x61\x64_width\x18\x15 \x01(\x05\x42\x03\xe0\x41\x01\x12\x18\n\x0bregion_code\x18\x16 \x01(\tB\x03\xe0\x41\x02\x12\x13\n\x06source\x18\x17 \x01(\tB\x03\xe0\x41\x02\x12\x13\n\x06medium\x18\x18 \x01(\tB\x03\xe0\x41\x02\x12\x42\n\x0etargeting_type\x18\x19 \x01(\x0e\x32(.google.ads.datamanager.v1.TargetingTypeH\x04\x12\x1f\n\x15targeting_type_string\x18\x1a \x01(\tH\x04\x12@\n\rplatform_type\x18\x1b \x01(\x0e\x32\'.google.ads.datamanager.v1.PlatformTypeH\x05\x12\x1e\n\x14platform_type_string\x18\x1c \x01(\tH\x05\x12\x37\n\x08platform\x18\x1d \x01(\x0e\x32#.google.ads.datamanager.v1.PlatformH\x06\x12\x19\n\x0fplatform_string\x18\x1e \x01(\tH\x06\x12I\n\x10\x61ttribution_hint\x18\x1f \x01(\x0e\x32*.google.ads.datamanager.v1.AttributionHintB\x03\xe0\x41\x01\x12I\n\x10viewability_info\x18 \x01(\x0b\x32*.google.ads.datamanager.v1.ViewabilityInfoB\x03\xe0\x41\x02\x12%\n\x13measurement_allowed\x18! \x01(\x08\x42\x03\xe0\x41\x01H\x07\x88\x01\x01\"R\n\tEventType\x12\x1a\n\x16\x45VENT_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0f\x45VENT_TYPE_VIEW\x10\x01\x12\x14\n\x10\x45VENT_TYPE_CLICK\x10\x02\"\xad\x01\n\x0c\x45ventSubtype\x12\x1d\n\x19\x45VENT_SUBTYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x45VENT_SUBTYPE_IMPRESSION\x10\x01\x12\x1e\n\x1a\x45VENT_SUBTYPE_ENGAGED_VIEW\x10\x02\x12\x1e\n\x1a\x45VENT_SUBTYPE_ONSITE_CLICK\x10\x03\x12 \n\x1c\x45VENT_SUBTYPE_OUTBOUND_CLICK\x10\x04\x42\x15\n\x13\x65vent_subtype_oneofB\x0f\n\rad_type_oneofB\x11\n\x0f\x61\x64_format_oneofB\x14\n\x12\x61\x64_placement_oneofB\x16\n\x14targeting_type_oneofB\x15\n\x13platform_type_oneofB\x10\n\x0eplatform_oneofB\x16\n\x14_measurement_allowed*\xab\x01\n\x06\x41\x64Type\x12\x17\n\x13\x41\x44_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0f\x41\x44_TYPE_DISPLAY\x10\x01\x12\x10\n\x0c\x41\x44_TYPE_TEXT\x10\x02\x12\x11\n\rAD_TYPE_IMAGE\x10\x03\x12\x16\n\x12\x41\x44_TYPE_RICH_MEDIA\x10\x04\x12\x10\n\x0c\x41\x44_TYPE_HTML\x10\x05\x12\x11\n\rAD_TYPE_AUDIO\x10\x06\x12\x11\n\rAD_TYPE_VIDEO\x10\x07*\xdf\x03\n\x08\x41\x64\x46ormat\x12\x19\n\x15\x41\x44_FORMAT_UNSPECIFIED\x10\x00\x12\x10\n\x0c\x41\x44_FORMAT_AR\x10\x01\x12\x13\n\x0f\x41\x44_FORMAT_AUDIO\x10\x02\x12\x14\n\x10\x41\x44_FORMAT_BANNER\x10\x03\x12\x14\n\x10\x41\x44_FORMAT_BUMPER\x10\x04\x12\x16\n\x12\x41\x44_FORMAT_CAROUSEL\x10\x05\x12\x18\n\x14\x41\x44_FORMAT_COLLECTION\x10\x06\x12\x13\n\x0f\x41\x44_FORMAT_IMAGE\x10\x07\x12\x19\n\x15\x41\x44_FORMAT_INTERACTIVE\x10\x08\x12\x1a\n\x16\x41\x44_FORMAT_INTERSTITIAL\x10\t\x12\x15\n\x11\x41\x44_FORMAT_IN_FEED\x10\n\x12\x17\n\x13\x41\x44_FORMAT_IN_STREAM\x10\x0b\x12!\n\x1d\x41\x44_FORMAT_IN_STREAM_SKIPPABLE\x10\x0c\x12%\n!AD_FORMAT_IN_STREAM_NON_SKIPPABLE\x10\r\x12\x14\n\x10\x41\x44_FORMAT_NATIVE\x10\x0e\x12\x14\n\x10\x41\x44_FORMAT_SHORTS\x10\x0f\x12\x13\n\x0f\x41\x44_FORMAT_STORY\x10\x10\x12\x17\n\x13\x41\x44_FORMAT_SPONSORED\x10\x11\x12\x13\n\x0f\x41\x44_FORMAT_VIDEO\x10\x12*\x8f\x02\n\x0b\x41\x64Placement\x12\x1c\n\x18\x41\x44_PLACEMENT_UNSPECIFIED\x10\x00\x12\x19\n\x15\x41\x44_PLACEMENT_DISCOVER\x10\x01\x12\x15\n\x11\x41\x44_PLACEMENT_FEED\x10\x02\x12\x17\n\x13\x41\x44_PLACEMENT_FOOTER\x10\x03\x12\x17\n\x13\x41\x44_PLACEMENT_HEADER\x10\x04\x12\x15\n\x11\x41\x44_PLACEMENT_HOME\x10\x05\x12\x1b\n\x17\x41\x44_PLACEMENT_IN_CONTENT\x10\x06\x12\x19\n\x15\x41\x44_PLACEMENT_PROMOTED\x10\x07\x12\x17\n\x13\x41\x44_PLACEMENT_SEARCH\x10\x08\x12\x16\n\x12\x41\x44_PLACEMENT_STORY\x10\t*\x9f\x02\n\rTargetingType\x12\x1e\n\x1aTARGETING_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\x17TARGETING_TYPE_AUDIENCE\x10\x01\x12\x1d\n\x19TARGETING_TYPE_CONTEXTUAL\x10\x02\x12\x1e\n\x1aTARGETING_TYPE_DEMOGRAPHIC\x10\x03\x12\x19\n\x15TARGETING_TYPE_DEVICE\x10\x04\x12\x16\n\x12TARGETING_TYPE_GEO\x10\x05\x12\x1b\n\x17TARGETING_TYPE_INTEREST\x10\x06\x12\"\n\x1eTARGETING_TYPE_PURCHASE_INTENT\x10\x07\x12\x1e\n\x1aTARGETING_TYPE_REMARKETING\x10\x08*\xac\x01\n\x0cPlatformType\x12\x1d\n\x19PLATFORM_TYPE_UNSPECIFIED\x10\x00\x12\x18\n\x14PLATFORM_TYPE_MOBILE\x10\x01\x12\x19\n\x15PLATFORM_TYPE_DESKTOP\x10\x02\x12\x15\n\x11PLATFORM_TYPE_CTV\x10\x03\x12\x17\n\x13PLATFORM_TYPE_PHONE\x10\x04\x12\x18\n\x14PLATFORM_TYPE_TABLET\x10\x05*^\n\x08Platform\x12\x18\n\x14PLATFORM_UNSPECIFIED\x10\x00\x12\x10\n\x0cPLATFORM_IOS\x10\x01\x12\x14\n\x10PLATFORM_ANDROID\x10\x02\x12\x10\n\x0cPLATFORM_WEB\x10\x03*w\n\x0f\x41ttributionHint\x12 \n\x1c\x41TTRIBUTION_HINT_UNSPECIFIED\x10\x00\x12\x1e\n\x1a\x41TTRIBUTION_HINT_CONVERTED\x10\x01\x12\"\n\x1e\x41TTRIBUTION_HINT_NOT_CONVERTED\x10\x02\x42\xc9\x01\n\x1d\x63om.google.ads.datamanager.v1B\x0c\x41\x64\x45ventProtoP\x01ZAcloud.google.com/go/datamanager/apiv1/datamanagerpb;datamanagerpb\xaa\x02\x19Google.Ads.DataManager.V1\xca\x02\x19Google\\Ads\\DataManager\\V1\xea\x02\x1cGoogle::Ads::DataManager::V1b\x06proto3" + +pool = ::Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) + +module Google + module Ads + module DataManager + module V1 + AdEvent = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.AdEvent").msgclass + AdEvent::EventType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.AdEvent.EventType").enummodule + AdEvent::EventSubtype = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.AdEvent.EventSubtype").enummodule + AdType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.AdType").enummodule + AdFormat = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.AdFormat").enummodule + AdPlacement = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.AdPlacement").enummodule + TargetingType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.TargetingType").enummodule + PlatformType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.PlatformType").enummodule + Platform = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.Platform").enummodule + AttributionHint = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.AttributionHint").enummodule + end + end + end +end diff --git a/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/destination_pb.rb b/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/destination_pb.rb index 7886480c24ef..d26eed5fefea 100644 --- a/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/destination_pb.rb +++ b/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/destination_pb.rb @@ -8,7 +8,7 @@ require 'google/api/resource_pb' -descriptor_data = "\n+google/ads/datamanager/v1/destination.proto\x12\x19google.ads.datamanager.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\"\xa4\x02\n\x0b\x44\x65stination\x12\x16\n\treference\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x45\n\rlogin_account\x18\x02 \x01(\x0b\x32).google.ads.datamanager.v1.ProductAccountB\x03\xe0\x41\x01\x12\x46\n\x0elinked_account\x18\x03 \x01(\x0b\x32).google.ads.datamanager.v1.ProductAccountB\x03\xe0\x41\x01\x12I\n\x11operating_account\x18\x04 \x01(\x0b\x32).google.ads.datamanager.v1.ProductAccountB\x03\xe0\x41\x02\x12#\n\x16product_destination_id\x18\x05 \x01(\tB\x03\xe0\x41\x02\"\x98\x03\n\x0eProductAccount\x12\x37\n\x07product\x18\x01 \x01(\x0e\x32\".google.ads.datamanager.v1.ProductB\x02\x18\x01\x12\x17\n\naccount_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12P\n\x0c\x61\x63\x63ount_type\x18\x03 \x01(\x0e\x32\x35.google.ads.datamanager.v1.ProductAccount.AccountTypeB\x03\xe0\x41\x01\"\xe1\x01\n\x0b\x41\x63\x63ountType\x12\x1c\n\x18\x41\x43\x43OUNT_TYPE_UNSPECIFIED\x10\x00\x12\x0e\n\nGOOGLE_ADS\x10\x01\x12\x19\n\x15\x44ISPLAY_VIDEO_PARTNER\x10\x02\x12\x1c\n\x18\x44ISPLAY_VIDEO_ADVERTISER\x10\x03\x12\x10\n\x0c\x44\x41TA_PARTNER\x10\x04\x12\x1d\n\x19GOOGLE_ANALYTICS_PROPERTY\x10\x05\x12#\n\x1fGOOGLE_AD_MANAGER_AUDIENCE_LINK\x10\x06\x12\x15\n\x11\x46LOODLIGHT_CONFIG\x10\x07*\x81\x01\n\x07Product\x12\x17\n\x13PRODUCT_UNSPECIFIED\x10\x00\x12\x0e\n\nGOOGLE_ADS\x10\x01\x12\x19\n\x15\x44ISPLAY_VIDEO_PARTNER\x10\x02\x12\x1c\n\x18\x44ISPLAY_VIDEO_ADVERTISER\x10\x03\x12\x10\n\x0c\x44\x41TA_PARTNER\x10\x04\x1a\x02\x18\x01\x42\xa4\x02\n\x1d\x63om.google.ads.datamanager.v1B\x10\x44\x65stinationProtoP\x01ZAcloud.google.com/go/datamanager/apiv1/datamanagerpb;datamanagerpb\xaa\x02\x19Google.Ads.DataManager.V1\xca\x02\x19Google\\Ads\\DataManager\\V1\xea\x02\x1cGoogle::Ads::DataManager::V1\xea\x41T\n\"datamanager.googleapis.com/Account\x12.accountTypes/{account_type}/accounts/{account}b\x06proto3" +descriptor_data = "\n+google/ads/datamanager/v1/destination.proto\x12\x19google.ads.datamanager.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\"\xa4\x02\n\x0b\x44\x65stination\x12\x16\n\treference\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x45\n\rlogin_account\x18\x02 \x01(\x0b\x32).google.ads.datamanager.v1.ProductAccountB\x03\xe0\x41\x01\x12\x46\n\x0elinked_account\x18\x03 \x01(\x0b\x32).google.ads.datamanager.v1.ProductAccountB\x03\xe0\x41\x01\x12I\n\x11operating_account\x18\x04 \x01(\x0b\x32).google.ads.datamanager.v1.ProductAccountB\x03\xe0\x41\x02\x12#\n\x16product_destination_id\x18\x05 \x01(\tB\x03\xe0\x41\x02\"\x98\x03\n\x0eProductAccount\x12\x37\n\x07product\x18\x01 \x01(\x0e\x32\".google.ads.datamanager.v1.ProductB\x02\x18\x01\x12\x17\n\naccount_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12P\n\x0c\x61\x63\x63ount_type\x18\x03 \x01(\x0e\x32\x35.google.ads.datamanager.v1.ProductAccount.AccountTypeB\x03\xe0\x41\x02\"\xe1\x01\n\x0b\x41\x63\x63ountType\x12\x1c\n\x18\x41\x43\x43OUNT_TYPE_UNSPECIFIED\x10\x00\x12\x0e\n\nGOOGLE_ADS\x10\x01\x12\x19\n\x15\x44ISPLAY_VIDEO_PARTNER\x10\x02\x12\x1c\n\x18\x44ISPLAY_VIDEO_ADVERTISER\x10\x03\x12\x10\n\x0c\x44\x41TA_PARTNER\x10\x04\x12\x1d\n\x19GOOGLE_ANALYTICS_PROPERTY\x10\x05\x12#\n\x1fGOOGLE_AD_MANAGER_AUDIENCE_LINK\x10\x06\x12\x15\n\x11\x46LOODLIGHT_CONFIG\x10\x07*\x81\x01\n\x07Product\x12\x17\n\x13PRODUCT_UNSPECIFIED\x10\x00\x12\x0e\n\nGOOGLE_ADS\x10\x01\x12\x19\n\x15\x44ISPLAY_VIDEO_PARTNER\x10\x02\x12\x1c\n\x18\x44ISPLAY_VIDEO_ADVERTISER\x10\x03\x12\x10\n\x0c\x44\x41TA_PARTNER\x10\x04\x1a\x02\x18\x01\x42\xa4\x02\n\x1d\x63om.google.ads.datamanager.v1B\x10\x44\x65stinationProtoP\x01ZAcloud.google.com/go/datamanager/apiv1/datamanagerpb;datamanagerpb\xaa\x02\x19Google.Ads.DataManager.V1\xca\x02\x19Google\\Ads\\DataManager\\V1\xea\x02\x1cGoogle::Ads::DataManager::V1\xea\x41T\n\"datamanager.googleapis.com/Account\x12.accountTypes/{account_type}/accounts/{account}b\x06proto3" pool = ::Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) diff --git a/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/device_info_pb.rb b/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/device_info_pb.rb index e6094e3620ea..4faf758c3831 100644 --- a/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/device_info_pb.rb +++ b/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/device_info_pb.rb @@ -5,9 +5,10 @@ require 'google/protobuf' require 'google/api/field_behavior_pb' +require 'google/api/field_info_pb' -descriptor_data = "\n+google/ads/datamanager/v1/device_info.proto\x12\x19google.ads.datamanager.v1\x1a\x1fgoogle/api/field_behavior.proto\"\xca\x02\n\nDeviceInfo\x12\x17\n\nuser_agent\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x17\n\nip_address\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08\x63\x61tegory\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rlanguage_code\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rscreen_height\x18\x05 \x01(\x05\x42\x03\xe0\x41\x01\x12\x19\n\x0cscreen_width\x18\x06 \x01(\x05\x42\x03\xe0\x41\x01\x12\x1d\n\x10operating_system\x18\x07 \x01(\tB\x03\xe0\x41\x01\x12%\n\x18operating_system_version\x18\x08 \x01(\tB\x03\xe0\x41\x01\x12\x12\n\x05model\x18\t \x01(\tB\x03\xe0\x41\x01\x12\x12\n\x05\x62rand\x18\n \x01(\tB\x03\xe0\x41\x01\x12\x14\n\x07\x62rowser\x18\x0b \x01(\tB\x03\xe0\x41\x01\x12\x1c\n\x0f\x62rowser_version\x18\x0c \x01(\tB\x03\xe0\x41\x01\x42\xcc\x01\n\x1d\x63om.google.ads.datamanager.v1B\x0f\x44\x65viceInfoProtoP\x01ZAcloud.google.com/go/datamanager/apiv1/datamanagerpb;datamanagerpb\xaa\x02\x19Google.Ads.DataManager.V1\xca\x02\x19Google\\Ads\\DataManager\\V1\xea\x02\x1cGoogle::Ads::DataManager::V1b\x06proto3" +descriptor_data = "\n+google/ads/datamanager/v1/device_info.proto\x12\x19google.ads.datamanager.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/field_info.proto\"\xd2\x02\n\nDeviceInfo\x12\x17\n\nuser_agent\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x1f\n\nip_address\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x04\x12\x15\n\x08\x63\x61tegory\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rlanguage_code\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rscreen_height\x18\x05 \x01(\x05\x42\x03\xe0\x41\x01\x12\x19\n\x0cscreen_width\x18\x06 \x01(\x05\x42\x03\xe0\x41\x01\x12\x1d\n\x10operating_system\x18\x07 \x01(\tB\x03\xe0\x41\x01\x12%\n\x18operating_system_version\x18\x08 \x01(\tB\x03\xe0\x41\x01\x12\x12\n\x05model\x18\t \x01(\tB\x03\xe0\x41\x01\x12\x12\n\x05\x62rand\x18\n \x01(\tB\x03\xe0\x41\x01\x12\x14\n\x07\x62rowser\x18\x0b \x01(\tB\x03\xe0\x41\x01\x12\x1c\n\x0f\x62rowser_version\x18\x0c \x01(\tB\x03\xe0\x41\x01\x42\xcc\x01\n\x1d\x63om.google.ads.datamanager.v1B\x0f\x44\x65viceInfoProtoP\x01ZAcloud.google.com/go/datamanager/apiv1/datamanagerpb;datamanagerpb\xaa\x02\x19Google.Ads.DataManager.V1\xca\x02\x19Google\\Ads\\DataManager\\V1\xea\x02\x1cGoogle::Ads::DataManager::V1b\x06proto3" pool = ::Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) diff --git a/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/encryption_info_pb.rb b/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/encryption_info_pb.rb index 1cdb14c55db8..cec6511e83bb 100644 --- a/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/encryption_info_pb.rb +++ b/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/encryption_info_pb.rb @@ -7,7 +7,7 @@ require 'google/api/field_behavior_pb' -descriptor_data = "\n/google/ads/datamanager/v1/encryption_info.proto\x12\x19google.ads.datamanager.v1\x1a\x1fgoogle/api/field_behavior.proto\"\xbb\x01\n\x0e\x45ncryptionInfo\x12L\n\x14gcp_wrapped_key_info\x18\x01 \x01(\x0b\x32,.google.ads.datamanager.v1.GcpWrappedKeyInfoH\x00\x12L\n\x14\x61ws_wrapped_key_info\x18\x02 \x01(\x0b\x32,.google.ads.datamanager.v1.AwsWrappedKeyInfoH\x00\x42\r\n\x0bwrapped_key\"\xea\x01\n\x11GcpWrappedKeyInfo\x12K\n\x08key_type\x18\x01 \x01(\x0e\x32\x34.google.ads.datamanager.v1.GcpWrappedKeyInfo.KeyTypeB\x03\xe0\x41\x02\x12\x19\n\x0cwip_provider\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x14\n\x07kek_uri\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\x1a\n\rencrypted_dek\x18\x04 \x01(\tB\x03\xe0\x41\x02\";\n\x07KeyType\x12\x18\n\x14KEY_TYPE_UNSPECIFIED\x10\x00\x12\x16\n\x12XCHACHA20_POLY1305\x10\x01\"\xe6\x01\n\x11\x41wsWrappedKeyInfo\x12K\n\x08key_type\x18\x01 \x01(\x0e\x32\x34.google.ads.datamanager.v1.AwsWrappedKeyInfo.KeyTypeB\x03\xe0\x41\x02\x12\x15\n\x08role_arn\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x14\n\x07kek_uri\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\x1a\n\rencrypted_dek\x18\x04 \x01(\tB\x03\xe0\x41\x02\";\n\x07KeyType\x12\x18\n\x14KEY_TYPE_UNSPECIFIED\x10\x00\x12\x16\n\x12XCHACHA20_POLY1305\x10\x01\x42\xd0\x01\n\x1d\x63om.google.ads.datamanager.v1B\x13\x45ncryptionInfoProtoP\x01ZAcloud.google.com/go/datamanager/apiv1/datamanagerpb;datamanagerpb\xaa\x02\x19Google.Ads.DataManager.V1\xca\x02\x19Google\\Ads\\DataManager\\V1\xea\x02\x1cGoogle::Ads::DataManager::V1b\x06proto3" +descriptor_data = "\n/google/ads/datamanager/v1/encryption_info.proto\x12\x19google.ads.datamanager.v1\x1a\x1fgoogle/api/field_behavior.proto\"\x8a\x02\n\x0e\x45ncryptionInfo\x12L\n\x14gcp_wrapped_key_info\x18\x01 \x01(\x0b\x32,.google.ads.datamanager.v1.GcpWrappedKeyInfoH\x00\x12L\n\x14\x61ws_wrapped_key_info\x18\x02 \x01(\x0b\x32,.google.ads.datamanager.v1.AwsWrappedKeyInfoH\x00\x12M\n\x14\x63oordinator_key_info\x18\x03 \x01(\x0b\x32-.google.ads.datamanager.v1.CoordinatorKeyInfoH\x00\x42\r\n\x0bwrapped_key\"\xea\x01\n\x11GcpWrappedKeyInfo\x12K\n\x08key_type\x18\x01 \x01(\x0e\x32\x34.google.ads.datamanager.v1.GcpWrappedKeyInfo.KeyTypeB\x03\xe0\x41\x02\x12\x19\n\x0cwip_provider\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x14\n\x07kek_uri\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\x1a\n\rencrypted_dek\x18\x04 \x01(\tB\x03\xe0\x41\x02\";\n\x07KeyType\x12\x18\n\x14KEY_TYPE_UNSPECIFIED\x10\x00\x12\x16\n\x12XCHACHA20_POLY1305\x10\x01\"\xe6\x01\n\x11\x41wsWrappedKeyInfo\x12K\n\x08key_type\x18\x01 \x01(\x0e\x32\x34.google.ads.datamanager.v1.AwsWrappedKeyInfo.KeyTypeB\x03\xe0\x41\x02\x12\x15\n\x08role_arn\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x14\n\x07kek_uri\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\x1a\n\rencrypted_dek\x18\x04 \x01(\tB\x03\xe0\x41\x02\";\n\x07KeyType\x12\x18\n\x14KEY_TYPE_UNSPECIFIED\x10\x00\x12\x16\n\x12XCHACHA20_POLY1305\x10\x01\")\n\x12\x43oordinatorKeyInfo\x12\x13\n\x06key_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x42\xd0\x01\n\x1d\x63om.google.ads.datamanager.v1B\x13\x45ncryptionInfoProtoP\x01ZAcloud.google.com/go/datamanager/apiv1/datamanagerpb;datamanagerpb\xaa\x02\x19Google.Ads.DataManager.V1\xca\x02\x19Google\\Ads\\DataManager\\V1\xea\x02\x1cGoogle::Ads::DataManager::V1b\x06proto3" pool = ::Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) @@ -21,6 +21,7 @@ module V1 GcpWrappedKeyInfo::KeyType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.GcpWrappedKeyInfo.KeyType").enummodule AwsWrappedKeyInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.AwsWrappedKeyInfo").msgclass AwsWrappedKeyInfo::KeyType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.AwsWrappedKeyInfo.KeyType").enummodule + CoordinatorKeyInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.CoordinatorKeyInfo").msgclass end end end diff --git a/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/ingestion_service_pb.rb b/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/ingestion_service_pb.rb index 3c6ec4ef9ab7..23bdb4a5ec19 100644 --- a/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/ingestion_service_pb.rb +++ b/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/ingestion_service_pb.rb @@ -4,6 +4,7 @@ require 'google/protobuf' +require 'google/ads/datamanager/v1/ad_event_pb' require 'google/ads/datamanager/v1/audience_pb' require 'google/ads/datamanager/v1/consent_pb' require 'google/ads/datamanager/v1/destination_pb' @@ -16,7 +17,7 @@ require 'google/api/field_behavior_pb' -descriptor_data = "\n1google/ads/datamanager/v1/ingestion_service.proto\x12\x19google.ads.datamanager.v1\x1a(google/ads/datamanager/v1/audience.proto\x1a\'google/ads/datamanager/v1/consent.proto\x1a+google/ads/datamanager/v1/destination.proto\x1a/google/ads/datamanager/v1/encryption_info.proto\x1a%google/ads/datamanager/v1/event.proto\x1a>google/ads/datamanager/v1/request_status_per_destination.proto\x1a\x30google/ads/datamanager/v1/terms_of_service.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\"\xd0\x03\n\x1cIngestAudienceMembersRequest\x12\x41\n\x0c\x64\x65stinations\x18\x01 \x03(\x0b\x32&.google.ads.datamanager.v1.DestinationB\x03\xe0\x41\x02\x12H\n\x10\x61udience_members\x18\x02 \x03(\x0b\x32).google.ads.datamanager.v1.AudienceMemberB\x03\xe0\x41\x02\x12\x38\n\x07\x63onsent\x18\x03 \x01(\x0b\x32\".google.ads.datamanager.v1.ConsentB\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12:\n\x08\x65ncoding\x18\x05 \x01(\x0e\x32#.google.ads.datamanager.v1.EncodingB\x03\xe0\x41\x01\x12G\n\x0f\x65ncryption_info\x18\x06 \x01(\x0b\x32).google.ads.datamanager.v1.EncryptionInfoB\x03\xe0\x41\x01\x12H\n\x10terms_of_service\x18\x07 \x01(\x0b\x32).google.ads.datamanager.v1.TermsOfServiceB\x03\xe0\x41\x01\"3\n\x1dIngestAudienceMembersResponse\x12\x12\n\nrequest_id\x18\x01 \x01(\t\"\xcc\x02\n\x1cRemoveAudienceMembersRequest\x12\x41\n\x0c\x64\x65stinations\x18\x01 \x03(\x0b\x32&.google.ads.datamanager.v1.DestinationB\x03\xe0\x41\x02\x12H\n\x10\x61udience_members\x18\x02 \x03(\x0b\x32).google.ads.datamanager.v1.AudienceMemberB\x03\xe0\x41\x02\x12\x1a\n\rvalidate_only\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12:\n\x08\x65ncoding\x18\x04 \x01(\x0e\x32#.google.ads.datamanager.v1.EncodingB\x03\xe0\x41\x01\x12G\n\x0f\x65ncryption_info\x18\x05 \x01(\x0b\x32).google.ads.datamanager.v1.EncryptionInfoB\x03\xe0\x41\x01\"3\n\x1dRemoveAudienceMembersResponse\x12\x12\n\nrequest_id\x18\x01 \x01(\t\"\xea\x02\n\x13IngestEventsRequest\x12\x41\n\x0c\x64\x65stinations\x18\x01 \x03(\x0b\x32&.google.ads.datamanager.v1.DestinationB\x03\xe0\x41\x02\x12\x35\n\x06\x65vents\x18\x02 \x03(\x0b\x32 .google.ads.datamanager.v1.EventB\x03\xe0\x41\x02\x12\x38\n\x07\x63onsent\x18\x03 \x01(\x0b\x32\".google.ads.datamanager.v1.ConsentB\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12:\n\x08\x65ncoding\x18\x05 \x01(\x0e\x32#.google.ads.datamanager.v1.EncodingB\x03\xe0\x41\x01\x12G\n\x0f\x65ncryption_info\x18\x06 \x01(\x0b\x32).google.ads.datamanager.v1.EncryptionInfoB\x03\xe0\x41\x01\"*\n\x14IngestEventsResponse\x12\x12\n\nrequest_id\x18\x01 \x01(\t\"7\n\x1cRetrieveRequestStatusRequest\x12\x17\n\nrequest_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\"\x7f\n\x1dRetrieveRequestStatusResponse\x12^\n\x1erequest_status_per_destination\x18\x01 \x03(\x0b\x32\x36.google.ads.datamanager.v1.RequestStatusPerDestination*9\n\x08\x45ncoding\x12\x18\n\x14\x45NCODING_UNSPECIFIED\x10\x00\x12\x07\n\x03HEX\x10\x01\x12\n\n\x06\x42\x41SE64\x10\x02\x32\x88\x06\n\x10IngestionService\x12\xb1\x01\n\x15IngestAudienceMembers\x12\x37.google.ads.datamanager.v1.IngestAudienceMembersRequest\x1a\x38.google.ads.datamanager.v1.IngestAudienceMembersResponse\"%\x82\xd3\xe4\x93\x02\x1f\"\x1a/v1/audienceMembers:ingest:\x01*\x12\xb1\x01\n\x15RemoveAudienceMembers\x12\x37.google.ads.datamanager.v1.RemoveAudienceMembersRequest\x1a\x38.google.ads.datamanager.v1.RemoveAudienceMembersResponse\"%\x82\xd3\xe4\x93\x02\x1f\"\x1a/v1/audienceMembers:remove:\x01*\x12\x8d\x01\n\x0cIngestEvents\x12..google.ads.datamanager.v1.IngestEventsRequest\x1a/.google.ads.datamanager.v1.IngestEventsResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\"\x11/v1/events:ingest:\x01*\x12\xae\x01\n\x15RetrieveRequestStatus\x12\x37.google.ads.datamanager.v1.RetrieveRequestStatusRequest\x1a\x38.google.ads.datamanager.v1.RetrieveRequestStatusResponse\"\"\x82\xd3\xe4\x93\x02\x1c\x12\x1a/v1/requestStatus:retrieve\x1aK\xca\x41\x1a\x64\x61tamanager.googleapis.com\xd2\x41+https://www.googleapis.com/auth/datamanagerB\xd2\x01\n\x1d\x63om.google.ads.datamanager.v1B\x15IngestionServiceProtoP\x01ZAcloud.google.com/go/datamanager/apiv1/datamanagerpb;datamanagerpb\xaa\x02\x19Google.Ads.DataManager.V1\xca\x02\x19Google\\Ads\\DataManager\\V1\xea\x02\x1cGoogle::Ads::DataManager::V1b\x06proto3" +descriptor_data = "\n1google/ads/datamanager/v1/ingestion_service.proto\x12\x19google.ads.datamanager.v1\x1a(google/ads/datamanager/v1/ad_event.proto\x1a(google/ads/datamanager/v1/audience.proto\x1a\'google/ads/datamanager/v1/consent.proto\x1a+google/ads/datamanager/v1/destination.proto\x1a/google/ads/datamanager/v1/encryption_info.proto\x1a%google/ads/datamanager/v1/event.proto\x1a>google/ads/datamanager/v1/request_status_per_destination.proto\x1a\x30google/ads/datamanager/v1/terms_of_service.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\"\xd0\x03\n\x1cIngestAudienceMembersRequest\x12\x41\n\x0c\x64\x65stinations\x18\x01 \x03(\x0b\x32&.google.ads.datamanager.v1.DestinationB\x03\xe0\x41\x02\x12H\n\x10\x61udience_members\x18\x02 \x03(\x0b\x32).google.ads.datamanager.v1.AudienceMemberB\x03\xe0\x41\x02\x12\x38\n\x07\x63onsent\x18\x03 \x01(\x0b\x32\".google.ads.datamanager.v1.ConsentB\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12:\n\x08\x65ncoding\x18\x05 \x01(\x0e\x32#.google.ads.datamanager.v1.EncodingB\x03\xe0\x41\x01\x12G\n\x0f\x65ncryption_info\x18\x06 \x01(\x0b\x32).google.ads.datamanager.v1.EncryptionInfoB\x03\xe0\x41\x01\x12H\n\x10terms_of_service\x18\x07 \x01(\x0b\x32).google.ads.datamanager.v1.TermsOfServiceB\x03\xe0\x41\x01\"3\n\x1dIngestAudienceMembersResponse\x12\x12\n\nrequest_id\x18\x01 \x01(\t\"\xcc\x02\n\x1cRemoveAudienceMembersRequest\x12\x41\n\x0c\x64\x65stinations\x18\x01 \x03(\x0b\x32&.google.ads.datamanager.v1.DestinationB\x03\xe0\x41\x02\x12H\n\x10\x61udience_members\x18\x02 \x03(\x0b\x32).google.ads.datamanager.v1.AudienceMemberB\x03\xe0\x41\x02\x12\x1a\n\rvalidate_only\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12:\n\x08\x65ncoding\x18\x04 \x01(\x0e\x32#.google.ads.datamanager.v1.EncodingB\x03\xe0\x41\x01\x12G\n\x0f\x65ncryption_info\x18\x05 \x01(\x0b\x32).google.ads.datamanager.v1.EncryptionInfoB\x03\xe0\x41\x01\"3\n\x1dRemoveAudienceMembersResponse\x12\x12\n\nrequest_id\x18\x01 \x01(\t\"\xea\x02\n\x13IngestEventsRequest\x12\x41\n\x0c\x64\x65stinations\x18\x01 \x03(\x0b\x32&.google.ads.datamanager.v1.DestinationB\x03\xe0\x41\x02\x12\x35\n\x06\x65vents\x18\x02 \x03(\x0b\x32 .google.ads.datamanager.v1.EventB\x03\xe0\x41\x02\x12\x38\n\x07\x63onsent\x18\x03 \x01(\x0b\x32\".google.ads.datamanager.v1.ConsentB\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12:\n\x08\x65ncoding\x18\x05 \x01(\x0e\x32#.google.ads.datamanager.v1.EncodingB\x03\xe0\x41\x01\x12G\n\x0f\x65ncryption_info\x18\x06 \x01(\x0b\x32).google.ads.datamanager.v1.EncryptionInfoB\x03\xe0\x41\x01\"*\n\x14IngestEventsResponse\x12\x12\n\nrequest_id\x18\x01 \x01(\t\"\xb8\x01\n\x15IngestAdEventsRequest\x12:\n\tad_events\x18\x01 \x03(\x0b\x32\".google.ads.datamanager.v1.AdEventB\x03\xe0\x41\x02\x12G\n\x0f\x65ncryption_info\x18\x02 \x01(\x0b\x32).google.ads.datamanager.v1.EncryptionInfoB\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\"\x18\n\x16IngestAdEventsResponse\"7\n\x1cRetrieveRequestStatusRequest\x12\x17\n\nrequest_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\"\x7f\n\x1dRetrieveRequestStatusResponse\x12^\n\x1erequest_status_per_destination\x18\x01 \x03(\x0b\x32\x36.google.ads.datamanager.v1.RequestStatusPerDestination*9\n\x08\x45ncoding\x12\x18\n\x14\x45NCODING_UNSPECIFIED\x10\x00\x12\x07\n\x03HEX\x10\x01\x12\n\n\x06\x42\x41SE64\x10\x02\x32\xa0\x07\n\x10IngestionService\x12\xb1\x01\n\x15IngestAudienceMembers\x12\x37.google.ads.datamanager.v1.IngestAudienceMembersRequest\x1a\x38.google.ads.datamanager.v1.IngestAudienceMembersResponse\"%\x82\xd3\xe4\x93\x02\x1f\"\x1a/v1/audienceMembers:ingest:\x01*\x12\xb1\x01\n\x15RemoveAudienceMembers\x12\x37.google.ads.datamanager.v1.RemoveAudienceMembersRequest\x1a\x38.google.ads.datamanager.v1.RemoveAudienceMembersResponse\"%\x82\xd3\xe4\x93\x02\x1f\"\x1a/v1/audienceMembers:remove:\x01*\x12\x8d\x01\n\x0cIngestEvents\x12..google.ads.datamanager.v1.IngestEventsRequest\x1a/.google.ads.datamanager.v1.IngestEventsResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\"\x11/v1/events:ingest:\x01*\x12\x95\x01\n\x0eIngestAdEvents\x12\x30.google.ads.datamanager.v1.IngestAdEventsRequest\x1a\x31.google.ads.datamanager.v1.IngestAdEventsResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\"\x13/v1/adEvents:ingest:\x01*\x12\xae\x01\n\x15RetrieveRequestStatus\x12\x37.google.ads.datamanager.v1.RetrieveRequestStatusRequest\x1a\x38.google.ads.datamanager.v1.RetrieveRequestStatusResponse\"\"\x82\xd3\xe4\x93\x02\x1c\x12\x1a/v1/requestStatus:retrieve\x1aK\xca\x41\x1a\x64\x61tamanager.googleapis.com\xd2\x41+https://www.googleapis.com/auth/datamanagerB\xd2\x01\n\x1d\x63om.google.ads.datamanager.v1B\x15IngestionServiceProtoP\x01ZAcloud.google.com/go/datamanager/apiv1/datamanagerpb;datamanagerpb\xaa\x02\x19Google.Ads.DataManager.V1\xca\x02\x19Google\\Ads\\DataManager\\V1\xea\x02\x1cGoogle::Ads::DataManager::V1b\x06proto3" pool = ::Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) @@ -31,6 +32,8 @@ module V1 RemoveAudienceMembersResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.RemoveAudienceMembersResponse").msgclass IngestEventsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.IngestEventsRequest").msgclass IngestEventsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.IngestEventsResponse").msgclass + IngestAdEventsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.IngestAdEventsRequest").msgclass + IngestAdEventsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.IngestAdEventsResponse").msgclass RetrieveRequestStatusRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.RetrieveRequestStatusRequest").msgclass RetrieveRequestStatusResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.RetrieveRequestStatusResponse").msgclass Encoding = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.Encoding").enummodule diff --git a/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/ingestion_service_services_pb.rb b/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/ingestion_service_services_pb.rb index 3ed44f7d2671..04c8545b41f2 100644 --- a/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/ingestion_service_services_pb.rb +++ b/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/ingestion_service_services_pb.rb @@ -45,6 +45,12 @@ class Service # [Event][google.ads.datamanager.v1.Event] resources from # the provided [Destination][google.ads.datamanager.v1.Destination]. rpc :IngestEvents, ::Google::Ads::DataManager::V1::IngestEventsRequest, ::Google::Ads::DataManager::V1::IngestEventsResponse + # Uploads a list of + # [AdEvent][google.ads.datamanager.v1.AdEvent] resources to Google + # Analytics. + # + # This feature is only available to accounts on an allowlist. + rpc :IngestAdEvents, ::Google::Ads::DataManager::V1::IngestAdEventsRequest, ::Google::Ads::DataManager::V1::IngestAdEventsResponse # Gets the status of a request given request id. rpc :RetrieveRequestStatus, ::Google::Ads::DataManager::V1::RetrieveRequestStatusRequest, ::Google::Ads::DataManager::V1::RetrieveRequestStatusResponse end diff --git a/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/partner_link_service_pb.rb b/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/partner_link_service_pb.rb index 7a54c9348946..742e8632e660 100644 --- a/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/partner_link_service_pb.rb +++ b/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/partner_link_service_pb.rb @@ -12,7 +12,7 @@ require 'google/protobuf/empty_pb' -descriptor_data = "\n4google/ads/datamanager/v1/partner_link_service.proto\x12\x19google.ads.datamanager.v1\x1a+google/ads/datamanager/v1/destination.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1bgoogle/protobuf/empty.proto\"\x9d\x01\n\x18\x43reatePartnerLinkRequest\x12>\n\x06parent\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\x12&datamanager.googleapis.com/PartnerLink\x12\x41\n\x0cpartner_link\x18\x02 \x01(\x0b\x32&.google.ads.datamanager.v1.PartnerLinkB\x03\xe0\x41\x02\"X\n\x18\x44\x65letePartnerLinkRequest\x12<\n\x04name\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&datamanager.googleapis.com/PartnerLink\"\x97\x01\n\x19SearchPartnerLinksRequest\x12>\n\x06parent\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\x12&datamanager.googleapis.com/PartnerLink\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\"t\n\x1aSearchPartnerLinksResponse\x12=\n\rpartner_links\x18\x01 \x03(\x0b\x32&.google.ads.datamanager.v1.PartnerLink\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xe5\x02\n\x0bPartnerLink\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x1c\n\x0fpartner_link_id\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x46\n\x0eowning_account\x18\x03 \x01(\x0b\x32).google.ads.datamanager.v1.ProductAccountB\x03\xe0\x41\x02\x12G\n\x0fpartner_account\x18\x04 \x01(\x0b\x32).google.ads.datamanager.v1.ProductAccountB\x03\xe0\x41\x02:\x93\x01\xea\x41\x8f\x01\n&datamanager.googleapis.com/PartnerLink\x12JaccountTypes/{account_type}/accounts/{account}/partnerLinks/{partner_link}*\x0cpartnerLinks2\x0bpartnerLink2\xe6\x05\n\x12PartnerLinkService\x12\xd1\x01\n\x11\x43reatePartnerLink\x12\x33.google.ads.datamanager.v1.CreatePartnerLinkRequest\x1a&.google.ads.datamanager.v1.PartnerLink\"_\xda\x41\x13parent,partner_link\x82\xd3\xe4\x93\x02\x43\"3/v1/{parent=accountTypes/*/accounts/*}/partnerLinks:\x0cpartner_link\x12\xa4\x01\n\x11\x44\x65letePartnerLink\x12\x33.google.ads.datamanager.v1.DeletePartnerLinkRequest\x1a\x16.google.protobuf.Empty\"B\xda\x41\x04name\x82\xd3\xe4\x93\x02\x35*3/v1/{name=accountTypes/*/accounts/*/partnerLinks/*}\x12\xce\x01\n\x12SearchPartnerLinks\x12\x34.google.ads.datamanager.v1.SearchPartnerLinksRequest\x1a\x35.google.ads.datamanager.v1.SearchPartnerLinksResponse\"K\xda\x41\x06parent\x82\xd3\xe4\x93\x02<\x12:/v1/{parent=accountTypes/*/accounts/*}/partnerLinks:search\x1a\x83\x01\xca\x41\x1a\x64\x61tamanager.googleapis.com\xd2\x41\x63https://www.googleapis.com/auth/datamanager,https://www.googleapis.com/auth/datamanager.partnerlinkB\xd4\x01\n\x1d\x63om.google.ads.datamanager.v1B\x17PartnerLinkServiceProtoP\x01ZAcloud.google.com/go/datamanager/apiv1/datamanagerpb;datamanagerpb\xaa\x02\x19Google.Ads.DataManager.V1\xca\x02\x19Google\\Ads\\DataManager\\V1\xea\x02\x1cGoogle::Ads::DataManager::V1b\x06proto3" +descriptor_data = "\n4google/ads/datamanager/v1/partner_link_service.proto\x12\x19google.ads.datamanager.v1\x1a+google/ads/datamanager/v1/destination.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1bgoogle/protobuf/empty.proto\"\x9d\x01\n\x18\x43reatePartnerLinkRequest\x12>\n\x06parent\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\x12&datamanager.googleapis.com/PartnerLink\x12\x41\n\x0cpartner_link\x18\x02 \x01(\x0b\x32&.google.ads.datamanager.v1.PartnerLinkB\x03\xe0\x41\x02\"X\n\x18\x44\x65letePartnerLinkRequest\x12<\n\x04name\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&datamanager.googleapis.com/PartnerLink\"\x97\x01\n\x19SearchPartnerLinksRequest\x12>\n\x06parent\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\x12&datamanager.googleapis.com/PartnerLink\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\"t\n\x1aSearchPartnerLinksResponse\x12=\n\rpartner_links\x18\x01 \x03(\x0b\x32&.google.ads.datamanager.v1.PartnerLink\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xd7\x04\n\x0bPartnerLink\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x1c\n\x0fpartner_link_id\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x46\n\x0eowning_account\x18\x03 \x01(\x0b\x32).google.ads.datamanager.v1.ProductAccountB\x03\xe0\x41\x02\x12G\n\x0fpartner_account\x18\x04 \x01(\x0b\x32).google.ads.datamanager.v1.ProductAccountB\x03\xe0\x41\x02\x12\x42\n\x0b\x66\x65\x61ture_set\x18\x05 \x01(\x0e\x32%.google.ads.datamanager.v1.FeatureSetB\x06\xe0\x41\x01\xe0\x41\x05\x12X\n\x18partner_customer_account\x18\x06 \x01(\x0b\x32\x31.google.ads.datamanager.v1.PartnerCustomerAccountB\x03\xe0\x41\x01\x12R\n\x15partner_link_metadata\x18\x07 \x01(\x0b\x32..google.ads.datamanager.v1.PartnerLinkMetadataB\x03\xe0\x41\x01:\x93\x01\xea\x41\x8f\x01\n&datamanager.googleapis.com/PartnerLink\x12JaccountTypes/{account_type}/accounts/{account}/partnerLinks/{partner_link}*\x0cpartnerLinks2\x0bpartnerLink\"g\n\x16PartnerCustomerAccount\x12\x17\n\naccount_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x19\n\x0c\x61\x63\x63ount_name\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x19\n\x0c\x61\x63\x63ount_type\x18\x03 \x01(\tB\x03\xe0\x41\x01\"h\n\x13PartnerLinkMetadata\x12Q\n\x11implicit_accounts\x18\x01 \x03(\x0b\x32\x31.google.ads.datamanager.v1.PartnerCustomerAccountB\x03\xe0\x41\x01*}\n\nFeatureSet\x12\x1b\n\x17\x46\x45\x41TURE_SET_UNSPECIFIED\x10\x00\x12-\n)FEATURE_SET_AUDIENCE_AND_EVENT_MANAGEMENT\x10\x01\x12#\n\x1f\x46\x45\x41TURE_SET_AD_EVENT_MANAGEMENT\x10\x02\x32\xe6\x05\n\x12PartnerLinkService\x12\xd1\x01\n\x11\x43reatePartnerLink\x12\x33.google.ads.datamanager.v1.CreatePartnerLinkRequest\x1a&.google.ads.datamanager.v1.PartnerLink\"_\xda\x41\x13parent,partner_link\x82\xd3\xe4\x93\x02\x43\"3/v1/{parent=accountTypes/*/accounts/*}/partnerLinks:\x0cpartner_link\x12\xa4\x01\n\x11\x44\x65letePartnerLink\x12\x33.google.ads.datamanager.v1.DeletePartnerLinkRequest\x1a\x16.google.protobuf.Empty\"B\xda\x41\x04name\x82\xd3\xe4\x93\x02\x35*3/v1/{name=accountTypes/*/accounts/*/partnerLinks/*}\x12\xce\x01\n\x12SearchPartnerLinks\x12\x34.google.ads.datamanager.v1.SearchPartnerLinksRequest\x1a\x35.google.ads.datamanager.v1.SearchPartnerLinksResponse\"K\xda\x41\x06parent\x82\xd3\xe4\x93\x02<\x12:/v1/{parent=accountTypes/*/accounts/*}/partnerLinks:search\x1a\x83\x01\xca\x41\x1a\x64\x61tamanager.googleapis.com\xd2\x41\x63https://www.googleapis.com/auth/datamanager,https://www.googleapis.com/auth/datamanager.partnerlinkB\xd4\x01\n\x1d\x63om.google.ads.datamanager.v1B\x17PartnerLinkServiceProtoP\x01ZAcloud.google.com/go/datamanager/apiv1/datamanagerpb;datamanagerpb\xaa\x02\x19Google.Ads.DataManager.V1\xca\x02\x19Google\\Ads\\DataManager\\V1\xea\x02\x1cGoogle::Ads::DataManager::V1b\x06proto3" pool = ::Google::Protobuf::DescriptorPool.generated_pool pool.add_serialized_file(descriptor_data) @@ -26,6 +26,9 @@ module V1 SearchPartnerLinksRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.SearchPartnerLinksRequest").msgclass SearchPartnerLinksResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.SearchPartnerLinksResponse").msgclass PartnerLink = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.PartnerLink").msgclass + PartnerCustomerAccount = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.PartnerCustomerAccount").msgclass + PartnerLinkMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.PartnerLinkMetadata").msgclass + FeatureSet = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.FeatureSet").enummodule end end end diff --git a/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/viewability_info_pb.rb b/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/viewability_info_pb.rb new file mode 100644 index 000000000000..a1778d9f5c6d --- /dev/null +++ b/google-ads-data_manager-v1/lib/google/ads/datamanager/v1/viewability_info_pb.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/ads/datamanager/v1/viewability_info.proto + +require 'google/protobuf' + +require 'google/api/field_behavior_pb' +require 'google/protobuf/duration_pb' + + +descriptor_data = "\n0google/ads/datamanager/v1/viewability_info.proto\x12\x19google.ads.datamanager.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1egoogle/protobuf/duration.proto\"\xa3\x03\n\x0fViewabilityInfo\x12;\n\tview_type\x18\x01 \x01(\x0e\x32#.google.ads.datamanager.v1.ViewTypeB\x03\xe0\x41\x02\x12\x1d\n\x10viewable_percent\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x39\n\x11viewable_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12\x1c\n\x0fmedia_skippable\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12\x45\n\x0emedia_quartile\x18\x05 \x01(\x0e\x32(.google.ads.datamanager.v1.MediaQuartileB\x03\xe0\x41\x01\x12\x36\n\x0emedia_duration\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12!\n\x14media_volume_percent\x18\x07 \x01(\x05\x42\x03\xe0\x41\x01\x12\x39\n\x11playback_duration\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01*[\n\x08ViewType\x12\x19\n\x15VIEW_TYPE_UNSPECIFIED\x10\x00\x12\x18\n\x14VIEW_TYPE_MRC_VIEWED\x10\x01\x12\x1a\n\x16VIEW_TYPE_MRC_RENDERED\x10\x02*\xc9\x01\n\rMediaQuartile\x12\x1e\n\x1aMEDIA_QUARTILE_UNSPECIFIED\x10\x00\x12\x18\n\x14MEDIA_QUARTILE_START\x10\x01\x12!\n\x1dMEDIA_QUARTILE_FIRST_QUARTILE\x10\x02\x12\x1b\n\x17MEDIA_QUARTILE_MIDPOINT\x10\x03\x12!\n\x1dMEDIA_QUARTILE_THIRD_QUARTILE\x10\x04\x12\x1b\n\x17MEDIA_QUARTILE_COMPLETE\x10\x05\x42\xd1\x01\n\x1d\x63om.google.ads.datamanager.v1B\x14ViewabilityInfoProtoP\x01ZAcloud.google.com/go/datamanager/apiv1/datamanagerpb;datamanagerpb\xaa\x02\x19Google.Ads.DataManager.V1\xca\x02\x19Google\\Ads\\DataManager\\V1\xea\x02\x1cGoogle::Ads::DataManager::V1b\x06proto3" + +pool = ::Google::Protobuf::DescriptorPool.generated_pool +pool.add_serialized_file(descriptor_data) + +module Google + module Ads + module DataManager + module V1 + ViewabilityInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.ViewabilityInfo").msgclass + ViewType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.ViewType").enummodule + MediaQuartile = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.datamanager.v1.MediaQuartile").enummodule + end + end + end +end diff --git a/google-ads-data_manager-v1/proto_docs/google/ads/datamanager/v1/ad_event.rb b/google-ads-data_manager-v1/proto_docs/google/ads/datamanager/v1/ad_event.rb new file mode 100644 index 000000000000..aef689712691 --- /dev/null +++ b/google-ads-data_manager-v1/proto_docs/google/ads/datamanager/v1/ad_event.rb @@ -0,0 +1,405 @@ +# frozen_string_literal: true + +# 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Google + module Ads + module DataManager + module V1 + # An ad event. + # @!attribute [rw] advertiser_id + # @return [::String] + # Required. The ID of the advertiser for the ad event. + # + # This must match the ID sent in the linking flow. + # @!attribute [rw] event_type + # @return [::Google::Ads::DataManager::V1::AdEvent::EventType] + # Required. The type of the event. + # @!attribute [rw] event_subtype + # @return [::Google::Ads::DataManager::V1::AdEvent::EventSubtype] + # Enum value for event subtype. + # + # Note: The following fields are mutually exclusive: `event_subtype`, `event_subtype_string`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] event_subtype_string + # @return [::String] + # String value for event subtype. + # + # Note: The following fields are mutually exclusive: `event_subtype_string`, `event_subtype`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] timestamp + # @return [::Google::Protobuf::Timestamp] + # Required. The time the event occurred. + # @!attribute [rw] event_id + # @return [::String] + # Optional. An ID created and managed by the caller that uniquely identifies + # this event. + # + # Required if you want to deduplicate ad events that are included + # in multiple requests. Otherwise, this field is optional. + # @!attribute [rw] user_data + # @return [::Google::Ads::DataManager::V1::UserData] + # Optional. Multiple pieces of user-provided data, representing the user the + # event is associated with. + # + # It is possible to provide multiple instances of the same type of data (e.g. + # email address). The more data provided, the more likely a match will be + # found. + # @!attribute [rw] device_info + # @return [::Google::Ads::DataManager::V1::DeviceInfo] + # Optional. Information gathered about the device being used when the ad + # event happened. + # @!attribute [rw] mobile_device_id + # @return [::String] + # Optional. The device ID of the device that the ad was served to. + # @!attribute [rw] campaign_id + # @return [::String] + # Required. The ID of the associated campaign. + # @!attribute [rw] campaign_name + # @return [::String] + # Required. The name of the associated campaign. + # @!attribute [rw] ad_group_id + # @return [::String] + # Optional. The ID of the associated ad group. + # @!attribute [rw] ad_id + # @return [::String] + # Optional. The ID of the associated ad within the group. + # @!attribute [rw] ad_type + # @return [::Google::Ads::DataManager::V1::AdType] + # Enum value for ad type. + # + # Note: The following fields are mutually exclusive: `ad_type`, `ad_type_string`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] ad_type_string + # @return [::String] + # String value for ad type. + # + # Note: The following fields are mutually exclusive: `ad_type_string`, `ad_type`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] ad_format + # @return [::Google::Ads::DataManager::V1::AdFormat] + # Enum value for ad format. + # + # Note: The following fields are mutually exclusive: `ad_format`, `ad_format_string`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] ad_format_string + # @return [::String] + # String value for ad format. + # + # Note: The following fields are mutually exclusive: `ad_format_string`, `ad_format`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] ad_placement + # @return [::Google::Ads::DataManager::V1::AdPlacement] + # Enum value for ad placement. + # + # Note: The following fields are mutually exclusive: `ad_placement`, `ad_placement_string`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] ad_placement_string + # @return [::String] + # String value for ad placement. + # + # Note: The following fields are mutually exclusive: `ad_placement_string`, `ad_placement`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] ad_height + # @return [::Integer] + # Optional. The height of the ad in pixels. + # @!attribute [rw] ad_width + # @return [::Integer] + # Optional. The width of the ad in pixels. + # @!attribute [rw] region_code + # @return [::String] + # Required. The ISO 3166-2 country plus subdivision. + # @!attribute [rw] source + # @return [::String] + # Required. The platform source of the ad, akin to the Google Analytics + # source. + # @!attribute [rw] medium + # @return [::String] + # Required. The medium of the ad, akin to the Google Analytics medium. + # @!attribute [rw] targeting_type + # @return [::Google::Ads::DataManager::V1::TargetingType] + # Enum value for targeting type. + # + # Note: The following fields are mutually exclusive: `targeting_type`, `targeting_type_string`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] targeting_type_string + # @return [::String] + # String value for targeting type. + # + # Note: The following fields are mutually exclusive: `targeting_type_string`, `targeting_type`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] platform_type + # @return [::Google::Ads::DataManager::V1::PlatformType] + # Enum value for platform type. + # + # Note: The following fields are mutually exclusive: `platform_type`, `platform_type_string`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] platform_type_string + # @return [::String] + # String value for platform type. + # + # Note: The following fields are mutually exclusive: `platform_type_string`, `platform_type`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] platform + # @return [::Google::Ads::DataManager::V1::Platform] + # Enum value for platform. + # + # Note: The following fields are mutually exclusive: `platform`, `platform_string`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] platform_string + # @return [::String] + # String value for platform. + # + # Note: The following fields are mutually exclusive: `platform_string`, `platform`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] attribution_hint + # @return [::Google::Ads::DataManager::V1::AttributionHint] + # Optional. The partner-assumed attribution status for this ad event. + # + # This acts only as a signal for how the partner assumed attribution played + # out, and does not force an end result in final reports. + # @!attribute [rw] viewability_info + # @return [::Google::Ads::DataManager::V1::ViewabilityInfo] + # Required. Details of the viewability of the ad served. + # @!attribute [rw] measurement_allowed + # @return [::Boolean] + # Optional. Represents if the row is allowed to be used for measurement + # purposes, as governed by applicable privacy laws within regional + # jurisdiction. + class AdEvent + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # The type of the event. + module EventType + # Unspecified event type. + EVENT_TYPE_UNSPECIFIED = 0 + + # View event. + EVENT_TYPE_VIEW = 1 + + # Click event. + EVENT_TYPE_CLICK = 2 + end + + # Additional classification about the type of ad event. + module EventSubtype + # Unspecified event subtype. + EVENT_SUBTYPE_UNSPECIFIED = 0 + + # Impression event. + EVENT_SUBTYPE_IMPRESSION = 1 + + # Engaged view event. + EVENT_SUBTYPE_ENGAGED_VIEW = 2 + + # Onsite click event. + EVENT_SUBTYPE_ONSITE_CLICK = 3 + + # Outbound click event. + EVENT_SUBTYPE_OUTBOUND_CLICK = 4 + end + end + + # The type of the ad served. + module AdType + # Unspecified ad type. + AD_TYPE_UNSPECIFIED = 0 + + # Display ad. + AD_TYPE_DISPLAY = 1 + + # Text ad. + AD_TYPE_TEXT = 2 + + # Image ad. + AD_TYPE_IMAGE = 3 + + # Rich media ad. + AD_TYPE_RICH_MEDIA = 4 + + # HTML ad. + AD_TYPE_HTML = 5 + + # Audio ad. + AD_TYPE_AUDIO = 6 + + # Video ad. + AD_TYPE_VIDEO = 7 + end + + # The format of the ad served. + module AdFormat + # Unspecified ad format. + AD_FORMAT_UNSPECIFIED = 0 + + # AR ad. + AD_FORMAT_AR = 1 + + # Audio ad. + AD_FORMAT_AUDIO = 2 + + # Banner ad. + AD_FORMAT_BANNER = 3 + + # Bumper ad. + AD_FORMAT_BUMPER = 4 + + # Carousel ad. + AD_FORMAT_CAROUSEL = 5 + + # Collection ad. + AD_FORMAT_COLLECTION = 6 + + # Image ad. + AD_FORMAT_IMAGE = 7 + + # Interactive ad. + AD_FORMAT_INTERACTIVE = 8 + + # Interstitial ad. + AD_FORMAT_INTERSTITIAL = 9 + + # In-feed ad. + AD_FORMAT_IN_FEED = 10 + + # In-stream ad. + AD_FORMAT_IN_STREAM = 11 + + # In-stream skippable ad. + AD_FORMAT_IN_STREAM_SKIPPABLE = 12 + + # In-stream non-skippable ad. + AD_FORMAT_IN_STREAM_NON_SKIPPABLE = 13 + + # Native ad. + AD_FORMAT_NATIVE = 14 + + # Shorts ad. + AD_FORMAT_SHORTS = 15 + + # Story ad. + AD_FORMAT_STORY = 16 + + # Sponsored ad. + AD_FORMAT_SPONSORED = 17 + + # Video ad. + AD_FORMAT_VIDEO = 18 + end + + # The placement of the ad served. + module AdPlacement + # Unspecified ad placement. + AD_PLACEMENT_UNSPECIFIED = 0 + + # Discover placement. + AD_PLACEMENT_DISCOVER = 1 + + # Feed placement. + AD_PLACEMENT_FEED = 2 + + # Footer placement. + AD_PLACEMENT_FOOTER = 3 + + # Header placement. + AD_PLACEMENT_HEADER = 4 + + # Home placement. + AD_PLACEMENT_HOME = 5 + + # In-content placement. + AD_PLACEMENT_IN_CONTENT = 6 + + # Promoted placement. + AD_PLACEMENT_PROMOTED = 7 + + # Search placement. + AD_PLACEMENT_SEARCH = 8 + + # Story placement. + AD_PLACEMENT_STORY = 9 + end + + # The type of targeting used to serve the ad. + module TargetingType + # Unspecified targeting type. + TARGETING_TYPE_UNSPECIFIED = 0 + + # Audience targeting. + TARGETING_TYPE_AUDIENCE = 1 + + # Contextual targeting. + TARGETING_TYPE_CONTEXTUAL = 2 + + # Demographic targeting. + TARGETING_TYPE_DEMOGRAPHIC = 3 + + # Device targeting. + TARGETING_TYPE_DEVICE = 4 + + # Geo targeting. + TARGETING_TYPE_GEO = 5 + + # Interest targeting. + TARGETING_TYPE_INTEREST = 6 + + # Purchase intent targeting. + TARGETING_TYPE_PURCHASE_INTENT = 7 + + # Remarketing targeting. + TARGETING_TYPE_REMARKETING = 8 + end + + # The type of the platform on which the ad was served. + module PlatformType + # Unspecified platform type. + PLATFORM_TYPE_UNSPECIFIED = 0 + + # Mobile platform. + PLATFORM_TYPE_MOBILE = 1 + + # Desktop platform. + PLATFORM_TYPE_DESKTOP = 2 + + # CTV platform. + PLATFORM_TYPE_CTV = 3 + + # Phone platform. + PLATFORM_TYPE_PHONE = 4 + + # Tablet platform. + PLATFORM_TYPE_TABLET = 5 + end + + # Further detail of the platform on which the ad was served. + module Platform + # Unspecified platform. + PLATFORM_UNSPECIFIED = 0 + + # iOS platform. + PLATFORM_IOS = 1 + + # Android platform. + PLATFORM_ANDROID = 2 + + # Web platform. + PLATFORM_WEB = 3 + end + + # The partner-assumed attribution status for this ad event. + module AttributionHint + # Unknown attribution status. + ATTRIBUTION_HINT_UNSPECIFIED = 0 + + # Converted status. + ATTRIBUTION_HINT_CONVERTED = 1 + + # Not converted status. + ATTRIBUTION_HINT_NOT_CONVERTED = 2 + end + end + end + end +end diff --git a/google-ads-data_manager-v1/proto_docs/google/ads/datamanager/v1/destination.rb b/google-ads-data_manager-v1/proto_docs/google/ads/datamanager/v1/destination.rb index c6d937d56f74..404d77fd4c16 100644 --- a/google-ads-data_manager-v1/proto_docs/google/ads/datamanager/v1/destination.rb +++ b/google-ads-data_manager-v1/proto_docs/google/ads/datamanager/v1/destination.rb @@ -71,7 +71,7 @@ class Destination # Required. The ID of the account. For example, your Google Ads account ID. # @!attribute [rw] account_type # @return [::Google::Ads::DataManager::V1::ProductAccount::AccountType] - # Optional. The type of the account. For example, `GOOGLE_ADS`. + # Required. The type of the account. For example, `GOOGLE_ADS`. # Either `account_type` or the deprecated `product` is required. # If both are set, the values must match. class ProductAccount diff --git a/google-ads-data_manager-v1/proto_docs/google/ads/datamanager/v1/encryption_info.rb b/google-ads-data_manager-v1/proto_docs/google/ads/datamanager/v1/encryption_info.rb index 77abe3c846ec..5b467118db66 100644 --- a/google-ads-data_manager-v1/proto_docs/google/ads/datamanager/v1/encryption_info.rb +++ b/google-ads-data_manager-v1/proto_docs/google/ads/datamanager/v1/encryption_info.rb @@ -26,12 +26,24 @@ module V1 # @return [::Google::Ads::DataManager::V1::GcpWrappedKeyInfo] # Google Cloud Platform wrapped key information. # - # Note: The following fields are mutually exclusive: `gcp_wrapped_key_info`, `aws_wrapped_key_info`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `gcp_wrapped_key_info`, `aws_wrapped_key_info`, `coordinator_key_info`. If a field in that set is populated, all other fields in the set will automatically be cleared. # @!attribute [rw] aws_wrapped_key_info # @return [::Google::Ads::DataManager::V1::AwsWrappedKeyInfo] # Amazon Web Services wrapped key information. # - # Note: The following fields are mutually exclusive: `aws_wrapped_key_info`, `gcp_wrapped_key_info`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # Note: The following fields are mutually exclusive: `aws_wrapped_key_info`, `gcp_wrapped_key_info`, `coordinator_key_info`. If a field in that set is populated, all other fields in the set will automatically be cleared. + # @!attribute [rw] coordinator_key_info + # @return [::Google::Ads::DataManager::V1::CoordinatorKeyInfo] + # Key information for the chosen coordinator key. + # + # This is not supported for the + # {::Google::Ads::DataManager::V1::IngestionService::Client#ingest_events IngestEvents}, + # {::Google::Ads::DataManager::V1::IngestionService::Client#ingest_audience_members IngestAudienceMembers}, + # and + # {::Google::Ads::DataManager::V1::IngestionService::Client#remove_audience_members RemoveAudienceMembers} + # methods. + # + # Note: The following fields are mutually exclusive: `coordinator_key_info`, `gcp_wrapped_key_info`, `aws_wrapped_key_info`. If a field in that set is populated, all other fields in the set will automatically be cleared. class EncryptionInfo include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -102,6 +114,15 @@ module KeyType XCHACHA20_POLY1305 = 1 end end + + # Information about the coordinator key. + # @!attribute [rw] key_id + # @return [::String] + # Required. The ID of the chosen coordinator key. + class CoordinatorKeyInfo + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end end end end diff --git a/google-ads-data_manager-v1/proto_docs/google/ads/datamanager/v1/error.rb b/google-ads-data_manager-v1/proto_docs/google/ads/datamanager/v1/error.rb index 25170aa6b7b4..b7dc8011946a 100644 --- a/google-ads-data_manager-v1/proto_docs/google/ads/datamanager/v1/error.rb +++ b/google-ads-data_manager-v1/proto_docs/google/ads/datamanager/v1/error.rb @@ -145,6 +145,8 @@ module ErrorReason UNSUPPORTED_LINKED_ACCOUNT_FOR_DATA_PARTNER = 38 # Events data contains no user identifiers or ad identifiers. + # For Floodlight Event ingestion this error indicates requests contains no ad + # identifiers. NO_IDENTIFIERS_PROVIDED = 39 # The property type is not supported. diff --git a/google-ads-data_manager-v1/proto_docs/google/ads/datamanager/v1/ingestion_service.rb b/google-ads-data_manager-v1/proto_docs/google/ads/datamanager/v1/ingestion_service.rb index 2d83ea7bf409..f19376239cef 100644 --- a/google-ads-data_manager-v1/proto_docs/google/ads/datamanager/v1/ingestion_service.rb +++ b/google-ads-data_manager-v1/proto_docs/google/ads/datamanager/v1/ingestion_service.rb @@ -162,6 +162,28 @@ class IngestEventsResponse extend ::Google::Protobuf::MessageExts::ClassMethods end + # Request to upload ad events. + # @!attribute [rw] ad_events + # @return [::Array<::Google::Ads::DataManager::V1::AdEvent>] + # Required. Required (at least 1). A list of ad events. + # @!attribute [rw] encryption_info + # @return [::Google::Ads::DataManager::V1::EncryptionInfo] + # Optional. Information about encryption keys which are used to encrypt the + # data. + # @!attribute [rw] validate_only + # @return [::Boolean] + # Optional. If true, the request is validated, but not executed. + class IngestAdEventsRequest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Response from an ad event ingestion operation. + class IngestAdEventsResponse + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + # Request to get the status of request made to the DM API for a given request # ID. Returns a # {::Google::Ads::DataManager::V1::RetrieveRequestStatusResponse RetrieveRequestStatusResponse}. diff --git a/google-ads-data_manager-v1/proto_docs/google/ads/datamanager/v1/partner_link_service.rb b/google-ads-data_manager-v1/proto_docs/google/ads/datamanager/v1/partner_link_service.rb index 6cc021867134..242618bfef8e 100644 --- a/google-ads-data_manager-v1/proto_docs/google/ads/datamanager/v1/partner_link_service.rb +++ b/google-ads-data_manager-v1/proto_docs/google/ads/datamanager/v1/partner_link_service.rb @@ -131,10 +131,64 @@ class SearchPartnerLinksResponse # @!attribute [rw] partner_account # @return [::Google::Ads::DataManager::V1::ProductAccount] # Required. The partner account granted access by the owning account. + # @!attribute [rw] feature_set + # @return [::Google::Ads::DataManager::V1::FeatureSet] + # Optional. Immutable. The set of features supported for the partner link. + # If not specified, the system behavior defaults to + # {::Google::Ads::DataManager::V1::FeatureSet::FEATURE_SET_AUDIENCE_AND_EVENT_MANAGEMENT FEATURE_SET_AUDIENCE_AND_EVENT_MANAGEMENT}. + # @!attribute [rw] partner_customer_account + # @return [::Google::Ads::DataManager::V1::PartnerCustomerAccount] + # Optional. The customer account in the partner system. + # This is required for partner links with the + # {::Google::Ads::DataManager::V1::FeatureSet::FEATURE_SET_AD_EVENT_MANAGEMENT FEATURE_SET_AD_EVENT_MANAGEMENT} + # feature set. + # @!attribute [rw] partner_link_metadata + # @return [::Google::Ads::DataManager::V1::PartnerLinkMetadata] + # Optional. Metadata associated with the partner link. + # This is optional and only accepted for partner links with the + # {::Google::Ads::DataManager::V1::FeatureSet::FEATURE_SET_AD_EVENT_MANAGEMENT FEATURE_SET_AD_EVENT_MANAGEMENT}. class PartnerLink include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end + + # Represents a customer account in the partner's system. + # @!attribute [rw] account_id + # @return [::String] + # Required. The identifier of the customer account in the partner's ID space. + # @!attribute [rw] account_name + # @return [::String] + # Optional. The name of the account. + # @!attribute [rw] account_type + # @return [::String] + # Optional. The type of the account. Can be used to distinguish between + # advertiser accounts and business level accounts, for example. + class PartnerCustomerAccount + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Represents metadata associated with a partner link. + # @!attribute [rw] implicit_accounts + # @return [::Array<::Google::Ads::DataManager::V1::PartnerCustomerAccount>] + # Optional. The list of implicit accounts. + class PartnerLinkMetadata + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # The set of supported features for a partner link. + module FeatureSet + # Unspecified feature set. If unspecified, the system behavior defaults to + # {::Google::Ads::DataManager::V1::FeatureSet::FEATURE_SET_AUDIENCE_AND_EVENT_MANAGEMENT FEATURE_SET_AUDIENCE_AND_EVENT_MANAGEMENT}. + FEATURE_SET_UNSPECIFIED = 0 + + # Indicates a link used for audience and event management. + FEATURE_SET_AUDIENCE_AND_EVENT_MANAGEMENT = 1 + + # Indicates a link used for ad event management. + FEATURE_SET_AD_EVENT_MANAGEMENT = 2 + end end end end diff --git a/google-ads-data_manager-v1/proto_docs/google/ads/datamanager/v1/viewability_info.rb b/google-ads-data_manager-v1/proto_docs/google/ads/datamanager/v1/viewability_info.rb new file mode 100644 index 000000000000..202c0772ad50 --- /dev/null +++ b/google-ads-data_manager-v1/proto_docs/google/ads/datamanager/v1/viewability_info.rb @@ -0,0 +1,91 @@ +# frozen_string_literal: true + +# 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Google + module Ads + module DataManager + module V1 + # Details of the viewability of the ad served. + # @!attribute [rw] view_type + # @return [::Google::Ads::DataManager::V1::ViewType] + # Required. The type of the event. + # @!attribute [rw] viewable_percent + # @return [::Integer] + # Optional. The numerical percent (0-100) of the pixels that were viewable. + # @!attribute [rw] viewable_duration + # @return [::Google::Protobuf::Duration] + # Optional. The amount of time the ad was viewable for. + # @!attribute [rw] media_skippable + # @return [::Boolean] + # Optional. Whether the ad media was skippable or not. + # @!attribute [rw] media_quartile + # @return [::Google::Ads::DataManager::V1::MediaQuartile] + # Optional. The amount of the media that was played as discrete quartiles. + # @!attribute [rw] media_duration + # @return [::Google::Protobuf::Duration] + # Optional. The duration of the ad media. + # @!attribute [rw] media_volume_percent + # @return [::Integer] + # Optional. The numerical percent (0-100) of the volume of the media + # playback. + # @!attribute [rw] playback_duration + # @return [::Google::Protobuf::Duration] + # Optional. The duration of playback of the ad media, regardless of whether + # it was viewable or not. + class ViewabilityInfo + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # The type of the event. + module ViewType + # Unspecified view type. + VIEW_TYPE_UNSPECIFIED = 0 + + # MRC viewed. + VIEW_TYPE_MRC_VIEWED = 1 + + # MRC rendered. + VIEW_TYPE_MRC_RENDERED = 2 + end + + # The amount of the media that was played as discrete quartiles. + module MediaQuartile + # Unspecified media quartile. + MEDIA_QUARTILE_UNSPECIFIED = 0 + + # Start. + MEDIA_QUARTILE_START = 1 + + # First quartile. + MEDIA_QUARTILE_FIRST_QUARTILE = 2 + + # Midpoint. + MEDIA_QUARTILE_MIDPOINT = 3 + + # Third quartile. + MEDIA_QUARTILE_THIRD_QUARTILE = 4 + + # Complete. + MEDIA_QUARTILE_COMPLETE = 5 + end + end + end + end +end diff --git a/google-ads-data_manager-v1/snippets/ingestion_service/ingest_ad_events.rb b/google-ads-data_manager-v1/snippets/ingestion_service/ingest_ad_events.rb new file mode 100644 index 000000000000..83f3d78b1afd --- /dev/null +++ b/google-ads-data_manager-v1/snippets/ingestion_service/ingest_ad_events.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +# 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 +# +# https://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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +# [START datamanager_v1_generated_IngestionService_IngestAdEvents_sync] +require "google/ads/data_manager/v1" + +## +# Snippet for the ingest_ad_events call in the IngestionService service +# +# This snippet has been automatically generated and should be regarded as a code +# template only. It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in https://cloud.google.com/ruby/docs/reference. +# +# This is an auto-generated example demonstrating basic usage of +# Google::Ads::DataManager::V1::IngestionService::Client#ingest_ad_events. +# +def ingest_ad_events + # Create a client object. The client can be reused for multiple calls. + client = Google::Ads::DataManager::V1::IngestionService::Client.new + + # Create a request. To set request fields, pass in keyword arguments. + request = Google::Ads::DataManager::V1::IngestAdEventsRequest.new + + # Call the ingest_ad_events method. + result = client.ingest_ad_events request + + # The returned object is of type Google::Ads::DataManager::V1::IngestAdEventsResponse. + p result +end +# [END datamanager_v1_generated_IngestionService_IngestAdEvents_sync] diff --git a/google-ads-data_manager-v1/snippets/snippet_metadata_google.ads.datamanager.v1.json b/google-ads-data_manager-v1/snippets/snippet_metadata_google.ads.datamanager.v1.json index 665eb7775cd0..3fb025b43f37 100644 --- a/google-ads-data_manager-v1/snippets/snippet_metadata_google.ads.datamanager.v1.json +++ b/google-ads-data_manager-v1/snippets/snippet_metadata_google.ads.datamanager.v1.json @@ -131,6 +131,46 @@ } ] }, + { + "region_tag": "datamanager_v1_generated_IngestionService_IngestAdEvents_sync", + "title": "Snippet for the ingest_ad_events call in the IngestionService service", + "description": "This is an auto-generated example demonstrating basic usage of Google::Ads::DataManager::V1::IngestionService::Client#ingest_ad_events.", + "file": "ingestion_service/ingest_ad_events.rb", + "language": "RUBY", + "client_method": { + "short_name": "ingest_ad_events", + "full_name": "::Google::Ads::DataManager::V1::IngestionService::Client#ingest_ad_events", + "async": false, + "parameters": [ + { + "type": "::Google::Ads::DataManager::V1::IngestAdEventsRequest", + "name": "request" + } + ], + "result_type": "::Google::Ads::DataManager::V1::IngestAdEventsResponse", + "client": { + "short_name": "IngestionService::Client", + "full_name": "::Google::Ads::DataManager::V1::IngestionService::Client" + }, + "method": { + "short_name": "IngestAdEvents", + "full_name": "google.ads.datamanager.v1.IngestionService.IngestAdEvents", + "service": { + "short_name": "IngestionService", + "full_name": "google.ads.datamanager.v1.IngestionService" + } + } + }, + "canonical": true, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 20, + "end": 46, + "type": "FULL" + } + ] + }, { "region_tag": "datamanager_v1_generated_IngestionService_RetrieveRequestStatus_sync", "title": "Snippet for the retrieve_request_status call in the IngestionService service", diff --git a/google-ads-data_manager-v1/test/google/ads/data_manager/v1/ingestion_service_rest_test.rb b/google-ads-data_manager-v1/test/google/ads/data_manager/v1/ingestion_service_rest_test.rb index c70640dafbb0..30f44de695c2 100644 --- a/google-ads-data_manager-v1/test/google/ads/data_manager/v1/ingestion_service_rest_test.rb +++ b/google-ads-data_manager-v1/test/google/ads/data_manager/v1/ingestion_service_rest_test.rb @@ -255,6 +255,62 @@ def test_ingest_events end end + def test_ingest_ad_events + # Create test objects. + client_result = ::Google::Ads::DataManager::V1::IngestAdEventsResponse.new + http_response = OpenStruct.new body: client_result.to_json + + call_options = {} + + # Create request parameters for a unary method. + ad_events = [{}] + encryption_info = {} + validate_only = true + + ingest_ad_events_client_stub = ClientStub.new http_response do |_verb, uri:, body:, params:, options:, method_name:| + assert options.metadata.key? :"x-goog-api-client" + assert options.metadata[:"x-goog-api-client"].include? "rest" + refute options.metadata[:"x-goog-api-client"].include? "grpc" + end + + ::Google::Ads::DataManager::V1::IngestionService::Rest::ServiceStub.stub :transcode_ingest_ad_events_request, ["", "", {}] do + Gapic::Rest::ClientStub.stub :new, ingest_ad_events_client_stub do + # Create client + c = ::Google::Ads::DataManager::V1::IngestionService::Rest::Client.new do |config| + config.credentials = :dummy_value + end + + # Use hash object + c.ingest_ad_events({ ad_events: ad_events, encryption_info: encryption_info, validate_only: validate_only }) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use named arguments + c.ingest_ad_events ad_events: ad_events, encryption_info: encryption_info, validate_only: validate_only do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use protobuf object + c.ingest_ad_events ::Google::Ads::DataManager::V1::IngestAdEventsRequest.new(ad_events: ad_events, encryption_info: encryption_info, validate_only: validate_only) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use hash object with options + c.ingest_ad_events({ ad_events: ad_events, encryption_info: encryption_info, validate_only: validate_only }, call_options) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use protobuf object with options + c.ingest_ad_events(::Google::Ads::DataManager::V1::IngestAdEventsRequest.new(ad_events: ad_events, encryption_info: encryption_info, validate_only: validate_only), call_options) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Verify method calls + assert_equal 5, ingest_ad_events_client_stub.call_count + end + end + end + def test_retrieve_request_status # Create test objects. client_result = ::Google::Ads::DataManager::V1::RetrieveRequestStatusResponse.new diff --git a/google-ads-data_manager-v1/test/google/ads/data_manager/v1/ingestion_service_test.rb b/google-ads-data_manager-v1/test/google/ads/data_manager/v1/ingestion_service_test.rb index baf414b370dd..e08db39a53e5 100644 --- a/google-ads-data_manager-v1/test/google/ads/data_manager/v1/ingestion_service_test.rb +++ b/google-ads-data_manager-v1/test/google/ads/data_manager/v1/ingestion_service_test.rb @@ -267,6 +267,68 @@ def test_ingest_events end end + def test_ingest_ad_events + # Create GRPC objects. + grpc_response = ::Google::Ads::DataManager::V1::IngestAdEventsResponse.new + grpc_operation = GRPC::ActiveCall::Operation.new nil + grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + grpc_options = {} + + # Create request parameters for a unary method. + ad_events = [{}] + encryption_info = {} + validate_only = true + + ingest_ad_events_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| + assert_equal :ingest_ad_events, name + assert_kind_of ::Google::Ads::DataManager::V1::IngestAdEventsRequest, request + assert_kind_of ::Google::Ads::DataManager::V1::AdEvent, request["ad_events"].first + assert_equal Gapic::Protobuf.coerce({}, to: ::Google::Ads::DataManager::V1::EncryptionInfo), request["encryption_info"] + assert_equal true, request["validate_only"] + refute_nil options + end + + Gapic::ServiceStub.stub :new, ingest_ad_events_client_stub do + # Create client + c = ::Google::Ads::DataManager::V1::IngestionService::Client.new do |config| + config.credentials = grpc_channel + end + + # Use hash object + c.ingest_ad_events({ ad_events: ad_events, encryption_info: encryption_info, validate_only: validate_only }) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use named arguments + c.ingest_ad_events ad_events: ad_events, encryption_info: encryption_info, validate_only: validate_only do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object + c.ingest_ad_events ::Google::Ads::DataManager::V1::IngestAdEventsRequest.new(ad_events: ad_events, encryption_info: encryption_info, validate_only: validate_only) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use hash object with options + c.ingest_ad_events({ ad_events: ad_events, encryption_info: encryption_info, validate_only: validate_only }, grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object with options + c.ingest_ad_events(::Google::Ads::DataManager::V1::IngestAdEventsRequest.new(ad_events: ad_events, encryption_info: encryption_info, validate_only: validate_only), grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Verify method calls + assert_equal 5, ingest_ad_events_client_stub.call_rpc_count + end + end + def test_retrieve_request_status # Create GRPC objects. grpc_response = ::Google::Ads::DataManager::V1::RetrieveRequestStatusResponse.new