From ffadc4fed6c3cd46ac40f9c88eada93d32fb01b9 Mon Sep 17 00:00:00 2001 From: Google APIs Date: Thu, 1 Oct 2020 08:33:46 -0700 Subject: [PATCH] docs: updated information on mediation report metrics and reportFooter PiperOrigin-RevId: 334819313 --- .../ads/admob/admob_grpc_service_config.json | 15 ++++ google/ads/admob/admob_v1.yaml | 35 +++------ google/ads/admob/v1/BUILD.bazel | 22 +++++- google/ads/admob/v1/admob_api.proto | 8 +- google/ads/admob/v1/admob_resources.proto | 74 ++++++++++--------- 5 files changed, 89 insertions(+), 65 deletions(-) create mode 100644 google/ads/admob/admob_grpc_service_config.json diff --git a/google/ads/admob/admob_grpc_service_config.json b/google/ads/admob/admob_grpc_service_config.json new file mode 100644 index 00000000..02bafa66 --- /dev/null +++ b/google/ads/admob/admob_grpc_service_config.json @@ -0,0 +1,15 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.ads.admob.v1.AdMobApi" } + ], + "timeout": "120s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }] +} diff --git a/google/ads/admob/admob_v1.yaml b/google/ads/admob/admob_v1.yaml index 120576d2..681ee390 100644 --- a/google/ads/admob/admob_v1.yaml +++ b/google/ads/admob/admob_v1.yaml @@ -7,30 +7,17 @@ apis: - name: google.ads.admob.v1.AdMobApi documentation: - summary: The Google AdMob API lets you programmatically get reports on earnings. - -authentication: - rules: - - selector: 'google.ads.admob.v1.AdMobApi.GetPublisherAccount' - oauth: - canonical_scopes: https://www.googleapis.com/auth/admob.report - - selector: 'google.ads.admob.v1.AdMobApi.ListPublisherAccounts' - oauth: - canonical_scopes: https://www.googleapis.com/auth/admob.report - - selector: 'google.ads.admob.v1.AdMobApi.GenerateMediationReport' - oauth: - canonical_scopes: https://www.googleapis.com/auth/admob.report - - selector: 'google.ads.admob.v1.AdMobApi.GenerateNetworkReport' - oauth: - canonical_scopes: https://www.googleapis.com/auth/admob.report + summary: The AdMob API allows publishers to programmatically get information about their AdMob + account. backend: rules: - - selector: 'google.ads.admob.v1.AdMobApi.GetPublisherAccount' - deadline: 5.0 - - selector: 'google.ads.admob.v1.AdMobApi.ListPublisherAccounts' - deadline: 10.0 - - selector: 'google.ads.admob.v1.AdMobApi.GenerateMediationReport' - deadline: 60.0 - - selector: 'google.ads.admob.v1.AdMobApi.GenerateNetworkReport' - deadline: 60.0 + - selector: 'google.ads.admob.v1.AdMobApi.*' + deadline: 120.0 + +authentication: + rules: + - selector: 'google.ads.admob.v1.AdMobApi.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/admob.report diff --git a/google/ads/admob/v1/BUILD.bazel b/google/ads/admob/v1/BUILD.bazel index c09d3ea7..a48e90ad 100644 --- a/google/ads/admob/v1/BUILD.bazel +++ b/google/ads/admob/v1/BUILD.bazel @@ -1,4 +1,13 @@ # This file was automatically generated by BuildFileGenerator +# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel + +# Most of the manual changes to this file will be overwritten. +# It's **only** allowed to change the following rule attribute values: +# - names of *_gapic_assembly_* rules +# - certain parameters of *_gapic_library rules, including but not limited to: +# * extra_protoc_parameters +# * extra_protoc_file_parameters +# The complete list of preserved parameters can be found in the source code. # This is an API workspace, having public visibility by default makes perfect sense. package(default_visibility = ["//visibility:public"]) @@ -19,6 +28,7 @@ proto_library( "//google/api:annotations_proto", "//google/api:client_proto", "//google/api:field_behavior_proto", + "//google/api:resource_proto", "//google/type:date_proto", ], ) @@ -27,6 +37,7 @@ proto_library_with_info( name = "admob_proto_with_info", deps = [ ":admob_proto", + "//google/cloud:common_resources_proto", ], ) @@ -57,6 +68,7 @@ java_gapic_library( name = "admob_java_gapic", src = ":admob_proto_with_info", gapic_yaml = "admob_gapic.yaml", + grpc_service_config = None, package = "google.ads.admob.v1", service_yaml = "//google/ads/admob:admob_v1.yaml", test_deps = [ @@ -111,8 +123,8 @@ go_proto_library( go_gapic_library( name = "admob_go_gapic", srcs = [":admob_proto_with_info"], - grpc_service_config = "", - importpath = "google.golang.org/api/admob/v1;admob", + grpc_service_config = None, + importpath = "google.golang.org/google/ads/admob/v1;admob", service_yaml = "//google/ads/admob:admob_v1.yaml", deps = [ ":admob_go_proto", @@ -123,7 +135,7 @@ go_test( name = "admob_go_gapic_test", srcs = [":admob_go_gapic_srcjar_test"], embed = [":admob_go_gapic"], - importpath = "google.golang.org/api/admob/v1", + importpath = "google.golang.org/google/ads/admob/v1", ) # Open Source Packages @@ -155,6 +167,7 @@ moved_proto_library( "//google/api:annotations_proto", "//google/api:client_proto", "//google/api:field_behavior_proto", + "//google/api:resource_proto", "//google/type:date_proto", ], ) @@ -175,6 +188,7 @@ py_gapic_library( name = "admob_py_gapic", src = ":admob_proto_with_info", gapic_yaml = "admob_gapic.yaml", + grpc_service_config = None, package = "google.ads.admob.v1", service_yaml = "//google/ads/admob:admob_v1.yaml", deps = [ @@ -219,6 +233,7 @@ php_gapic_library( name = "admob_php_gapic", src = ":admob_proto_with_info", gapic_yaml = "admob_gapic.yaml", + grpc_service_config = None, package = "google.ads.admob.v1", service_yaml = "//google/ads/admob:admob_v1.yaml", deps = [ @@ -289,6 +304,7 @@ ruby_gapic_library( name = "admob_ruby_gapic", src = ":admob_proto_with_info", gapic_yaml = "admob_gapic.yaml", + grpc_service_config = None, package = "google.ads.admob.v1", service_yaml = "//google/ads/admob:admob_v1.yaml", deps = [ diff --git a/google/ads/admob/v1/admob_api.proto b/google/ads/admob/v1/admob_api.proto index c26c845e..14a0fe2b 100644 --- a/google/ads/admob/v1/admob_api.proto +++ b/google/ads/admob/v1/admob_api.proto @@ -20,15 +20,18 @@ import "google/ads/admob/v1/admob_resources.proto"; import "google/api/annotations.proto"; import "google/api/client.proto"; import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; option go_package = "google.golang.org/genproto/googleapis/ads/admob/v1;admob"; option java_outer_classname = "AdMobApiProto"; option java_package = "com.google.ads.admob.v1"; -// The AdMob API allows AdMob publishers to access their account settings and -// generate reports. +// The AdMob API allows AdMob publishers programmatically get information about +// their AdMob account. service AdMobApi { option (google.api.default_host) = "admob.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/admob.report"; // Gets information about the specified AdMob publisher account. rpc GetPublisherAccount(GetPublisherAccountRequest) @@ -36,6 +39,7 @@ service AdMobApi { option (google.api.http) = { get: "/v1/{name=accounts/*}" }; + option (google.api.method_signature) = "name"; } // Lists the AdMob publisher account accessible with the client credential. diff --git a/google/ads/admob/v1/admob_resources.proto b/google/ads/admob/v1/admob_resources.proto index bcdc957b..d9cc428a 100644 --- a/google/ads/admob/v1/admob_resources.proto +++ b/google/ads/admob/v1/admob_resources.proto @@ -16,15 +16,34 @@ syntax = "proto3"; package google.ads.admob.v1; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; import "google/type/date.proto"; option go_package = "google.golang.org/genproto/googleapis/ads/admob/v1;admob"; -option java_outer_classname = "AdMobResourceProto"; +option java_outer_classname = "AdMobResourcesProto"; option java_package = "com.google.ads.admob.v1"; +// The sorting order. +enum SortOrder { + // Default value for an unset field. Do not use. + SORT_ORDER_UNSPECIFIED = 0; + + // Sort dimension value or metric value in ascending order. + ASCENDING = 1; + + // Sort dimension value or metric value in descending order. + DESCENDING = 2; +} + // A publisher account contains information relevant to the use of this API, // such as the time zone used for the reports. message PublisherAccount { + option (google.api.resource) = { + type: "admob.googleapis.com/PublisherAccount" + pattern: "accounts/{publisher}" + }; + // Resource name of this account. // Format is accounts/{publisher_id}. string name = 1; @@ -83,15 +102,15 @@ message PublisherAccount { message NetworkReportSpec { // Describes which report rows to match based on their dimension values. message DimensionFilter { - // Applies the filter criterion to the specified dimension. - Dimension dimension = 1; - // Filter operator to be applied. oneof operator { // Matches a row if its value for the specified dimension is in one of the // values specified in this condition. StringList matches_any = 2; } + + // Applies the filter criterion to the specified dimension. + Dimension dimension = 1; } // Sorting direction to be applied on a dimension or a metric. @@ -287,15 +306,15 @@ message NetworkReportSpec { message MediationReportSpec { // Describes which report rows to match based on their dimension values. message DimensionFilter { - // Applies the filter criterion to the specified dimension. - Dimension dimension = 1; - // Filter operator to be applied. oneof operator { // Matches a row if its value for the specified dimension is in one of the // values specified in this condition. StringList matches_any = 2; } + + // Applies the filter criterion to the specified dimension. + Dimension dimension = 1; } // Sorting direction to be applied on a dimension or a metric. @@ -333,16 +352,12 @@ message MediationReportSpec { // dimension. WEEK = 3; - // The unique ID of the ad source (for example, "5450213213286189855" and - // "AdMob Network" as label value). + // The [unique ID of the ad source](/admob/api/v1/ad_sources) (for example, + // "5450213213286189855" and "AdMob Network" as label value). AD_SOURCE = 4; // The unique ID of the ad source instance (for example, // "ca-app-pub-1234#5678" and "AdMob (default)" as label value). - // - // **Warning:** The dimension is incompatible with - // [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS) and - // [OBSERVED_ECPM](#Metric.ENUM_VALUES.OBSERVED_ECPM) metrics. AD_SOURCE_INSTANCE = 5; // The unique ID of the ad unit (for example, "ca-app-pub-1234/8790"). @@ -355,10 +370,6 @@ message MediationReportSpec { // The unique ID of the mediation group (for example, // "ca-app-pub-1234:mg:1234" and "AdMob (default)" as label value). - // - // **Warning:** The dimension is incompatible with - // [ESTIMATED_EARNINGS](#Metric.ENUM_VALUES.ESTIMATED_EARNINGS) and - // [OBSERVED_ECPM](#Metric.ENUM_VALUES.OBSERVED_ECPM) metrics. MEDIATION_GROUP = 11; // CLDR country code of the place where the ad views/clicks occur (for @@ -392,9 +403,9 @@ message MediationReportSpec { // setting for currency. The amount is in micros. For example, $6.50 would // be represented as 6500000. // - // **Warning:** The metric is incompatible with - // [AD_SOURCE_INSTANCE](#Dimension.ENUM_VALUES.AD_SOURCE_INSTANCE) and - // [MEDIATION_GROUP](#Dimension.ENUM_VALUES.MEDIATION_GROUP) dimensions. + // Estimated earnings per mediation group and per ad source instance level + // is supported dating back to October 20, 2019. Third-party estimated + // earnings will show 0 for dates prior to October 20, 2019. ESTIMATED_EARNINGS = 3; // The total number of ads shown to users. The value is an integer. @@ -417,9 +428,9 @@ message MediationReportSpec { // localization setting for currency. The amount is in micros. For example, // $2.30 would be represented as 2300000. // - // **Warning:** The metric is incompatible with - // [AD_SOURCE_INSTANCE](#Dimension.ENUM_VALUES.AD_SOURCE_INSTANCE) and - // [MEDIATION_GROUP](#Dimension.ENUM_VALUES.MEDIATION_GROUP) dimensions. + // The estimated average eCPM per mediation group and per ad source instance + // level is supported dating back to October 20, 2019. Third-party estimated + // average eCPM will show 0 for dates prior to October 20, 2019. OBSERVED_ECPM = 8; } @@ -560,7 +571,10 @@ message ReportFooter { // Warnings associated with generation of the report. repeated ReportWarning warnings = 1; - // Total number of rows that did match the request. + // Total number of rows that matched the request. + // + // Warning: This count does NOT always match the number of rows in the + // response. Do not make that assumption when processing the response. int64 matching_row_count = 2; } @@ -594,15 +608,3 @@ message StringList { // The string values. repeated string values = 1; } - -// The sorting order. -enum SortOrder { - // Default value for an unset field. Do not use. - SORT_ORDER_UNSPECIFIED = 0; - - // Sort dimension value or metric value in ascending order. - ASCENDING = 1; - - // Sort dimension value or metric value in descending order. - DESCENDING = 2; -}