summaryrefslogtreecommitdiff
path: root/third_party/googleapis/google/ads/admob/v1/admob_api.proto
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/googleapis/google/ads/admob/v1/admob_api.proto')
-rw-r--r--third_party/googleapis/google/ads/admob/v1/admob_api.proto224
1 files changed, 224 insertions, 0 deletions
diff --git a/third_party/googleapis/google/ads/admob/v1/admob_api.proto b/third_party/googleapis/google/ads/admob/v1/admob_api.proto
new file mode 100644
index 0000000..14a0fe2
--- /dev/null
+++ b/third_party/googleapis/google/ads/admob/v1/admob_api.proto
@@ -0,0 +1,224 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.ads.admob.v1;
+
+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 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)
+ returns (PublisherAccount) {
+ option (google.api.http) = {
+ get: "/v1/{name=accounts/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists the AdMob publisher account accessible with the client credential.
+ // Currently, all credentials have access to at most one AdMob account.
+ rpc ListPublisherAccounts(ListPublisherAccountsRequest)
+ returns (ListPublisherAccountsResponse) {
+ option (google.api.http) = {
+ get: "/v1/accounts"
+ };
+ }
+
+ // Generates an AdMob Network report based on the provided report
+ // specification.
+ rpc GenerateNetworkReport(GenerateNetworkReportRequest)
+ returns (stream GenerateNetworkReportResponse) {
+ option (google.api.http) = {
+ post: "/v1/{parent=accounts/*}/networkReport:generate"
+ body: "*"
+ };
+ }
+
+ // Generates an AdMob Mediation report based on the provided report
+ // specification.
+ rpc GenerateMediationReport(GenerateMediationReportRequest)
+ returns (stream GenerateMediationReportResponse) {
+ option (google.api.http) = {
+ post: "/v1/{parent=accounts/*}/mediationReport:generate"
+ body: "*"
+ };
+ }
+}
+
+// Request to retrieve the specified publisher account.
+message GetPublisherAccountRequest {
+ // Resource name of the publisher account to retrieve.
+ // Example: accounts/pub-9876543210987654
+ string name = 1;
+}
+
+// Request to retrieve the AdMob publisher account accessible with the client
+// credential. Currently all credentials have access to at most 1 account.
+message ListPublisherAccountsRequest {
+ // Maximum number of accounts to return.
+ int32 page_size = 1;
+
+ // The value returned by the last `ListPublisherAccountsResponse`; indicates
+ // that this is a continuation of a prior `ListPublisherAccounts` call, and
+ // that the system should return the next page of data.
+ string page_token = 2;
+}
+
+// Response for the publisher account list request.
+message ListPublisherAccountsResponse {
+ // Publisher that the client credentials can access.
+ repeated PublisherAccount account = 1;
+
+ // If not empty, indicates that there might be more accounts for the request;
+ // you must pass this value in a new `ListPublisherAccountsRequest`.
+ string next_page_token = 2;
+}
+
+// Request to generate an AdMob Mediation report.
+message GenerateMediationReportRequest {
+ // Resource name of the account to generate the report for.
+ // Example: accounts/pub-9876543210987654
+ string parent = 1;
+
+ // Network report specification.
+ MediationReportSpec report_spec = 2;
+}
+
+// The streaming response for the AdMob Mediation report where the first
+// response contains the report header, then a stream of row responses, and
+// finally a footer as the last response message.
+//
+// For example:
+//
+// [{
+// "header": {
+// "date_range": {
+// "start_date": {"year": 2018, "month": 9, "day": 1},
+// "end_date": {"year": 2018, "month": 9, "day": 1}
+// },
+// "localization_settings": {
+// "currency_code": "USD",
+// "language_code": "en-US"
+// }
+// }
+// },
+// {
+// "row": {
+// "dimension_values": {
+// "DATE": {"value": "20180918"},
+// "APP": {
+// "value": "ca-app-pub-8123415297019784~1001342552",
+// "display_label": "My app name!"
+// }
+// },
+// "metric_values": {
+// "ESTIMATED_EARNINGS": {"decimal_value": "1324746"}
+// }
+// }
+// },
+// {
+// "footer": {"matching_row_count": 1}
+// }]
+message GenerateMediationReportResponse {
+ // Each stream response message contains one type of payload.
+ oneof payload {
+ // Report generation settings that describes the report contents, such as
+ // the report date range and localization settings.
+ ReportHeader header = 1;
+
+ // Actual report data.
+ ReportRow row = 2;
+
+ // Additional information about the generated report, such as warnings about
+ // the data.
+ ReportFooter footer = 3;
+ }
+}
+
+// Request to generate an AdMob Network report.
+message GenerateNetworkReportRequest {
+ // Resource name of the account to generate the report for.
+ // Example: accounts/pub-9876543210987654
+ string parent = 1;
+
+ // Network report specification.
+ NetworkReportSpec report_spec = 2;
+}
+
+// The streaming response for the AdMob Network report where the first response
+// contains the report header, then a stream of row responses, and finally a
+// footer as the last response message.
+//
+// For example:
+//
+// [{
+// "header": {
+// "dateRange": {
+// "startDate": {"year": 2018, "month": 9, "day": 1},
+// "endDate": {"year": 2018, "month": 9, "day": 1}
+// },
+// "localizationSettings": {
+// "currencyCode": "USD",
+// "languageCode": "en-US"
+// }
+// }
+// },
+// {
+// "row": {
+// "dimensionValues": {
+// "DATE": {"value": "20180918"},
+// "APP": {
+// "value": "ca-app-pub-8123415297019784~1001342552",
+// displayLabel: "My app name!"
+// }
+// },
+// "metricValues": {
+// "ESTIMATED_EARNINGS": {"microsValue": 6500000}
+// }
+// }
+// },
+// {
+// "footer": {"matchingRowCount": 1}
+// }]
+message GenerateNetworkReportResponse {
+ // Each stream response message contains one type of payload.
+ oneof payload {
+ // Report generation settings that describes the report contents, such as
+ // the report date range and localization settings.
+ ReportHeader header = 1;
+
+ // Actual report data.
+ ReportRow row = 2;
+
+ // Additional information about the generated report, such as warnings about
+ // the data.
+ ReportFooter footer = 3;
+ }
+}