{
  "icons": {
    "x32": "http://www.google.com/images/icons/product/search-32.gif",
    "x16": "http://www.google.com/images/icons/product/search-16.gif"
  },
  "name": "admob",
  "canonicalName": "AdMob",
  "parameters": {
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "type": "string",
      "location": "query"
    },
    "callback": {
      "type": "string",
      "description": "JSONP",
      "location": "query"
    },
    "uploadType": {
      "location": "query",
      "type": "string",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")."
    },
    "access_token": {
      "type": "string",
      "description": "OAuth access token.",
      "location": "query"
    },
    "prettyPrint": {
      "location": "query",
      "description": "Returns response with indentations and line breaks.",
      "type": "boolean",
      "default": "true"
    },
    "alt": {
      "type": "string",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "location": "query",
      "default": "json",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "description": "Data format for response."
    },
    "$.xgafv": {
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "type": "string",
      "location": "query",
      "enum": [
        "1",
        "2"
      ],
      "description": "V1 error format."
    },
    "oauth_token": {
      "type": "string",
      "location": "query",
      "description": "OAuth 2.0 token for the current user."
    },
    "upload_protocol": {
      "type": "string",
      "location": "query",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
    },
    "quotaUser": {
      "location": "query",
      "type": "string",
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters."
    },
    "key": {
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query",
      "type": "string"
    }
  },
  "mtlsRootUrl": "https://admob.mtls.googleapis.com/",
  "version": "v1beta",
  "rootUrl": "https://admob.googleapis.com/",
  "basePath": "",
  "fullyEncodeReservedExpansion": true,
  "discoveryVersion": "v1",
  "servicePath": "",
  "kind": "discovery#restDescription",
  "batchPath": "batch",
  "version_module": true,
  "documentationLink": "https://developers.google.com/admob/api/",
  "title": "AdMob API",
  "id": "admob:v1beta",
  "description": "The AdMob API allows publishers to programmatically get information about their AdMob account. ",
  "baseUrl": "https://admob.googleapis.com/",
  "resources": {
    "accounts": {
      "resources": {
        "mediationReport": {
          "methods": {
            "generate": {
              "parameterOrder": [
                "parent"
              ],
              "description": "Generates an AdMob Mediation report based on the provided report specification. Returns result of a server-side streaming RPC. The result is returned in a sequence of responses.",
              "request": {
                "$ref": "GenerateMediationReportRequest"
              },
              "flatPath": "v1beta/accounts/{accountsId}/mediationReport:generate",
              "parameters": {
                "parent": {
                  "required": true,
                  "location": "path",
                  "pattern": "^accounts/[^/]+$",
                  "description": "Resource name of the account to generate the report for. Example: accounts/pub-9876543210987654",
                  "type": "string"
                }
              },
              "response": {
                "$ref": "GenerateMediationReportResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/admob.readonly",
                "https://www.googleapis.com/auth/admob.report"
              ],
              "httpMethod": "POST",
              "streamingType": "SERVER_SIDE",
              "id": "admob.accounts.mediationReport.generate",
              "path": "v1beta/{+parent}/mediationReport:generate"
            }
          }
        },
        "apps": {
          "methods": {
            "list": {
              "httpMethod": "GET",
              "id": "admob.accounts.apps.list",
              "description": "List the apps under the specified AdMob account.",
              "flatPath": "v1beta/accounts/{accountsId}/apps",
              "scopes": [
                "https://www.googleapis.com/auth/admob.readonly"
              ],
              "response": {
                "$ref": "ListAppsResponse"
              },
              "streamingType": "NONE",
              "path": "v1beta/{+parent}/apps",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "pageSize": {
                  "location": "query",
                  "description": "The maximum number of apps to return. If unspecified or 0, at most 1000 apps will be returned. The maximum value is 10,000; values above 10,000 will be coerced to 10,000.",
                  "format": "int32",
                  "type": "integer"
                },
                "parent": {
                  "pattern": "^accounts/[^/]+$",
                  "location": "path",
                  "type": "string",
                  "description": "Required. Resource name of the account to list apps for. Example: accounts/pub-9876543210987654",
                  "required": true
                },
                "pageToken": {
                  "type": "string",
                  "location": "query",
                  "description": "The value returned by the last `ListAppsResponse`; indicates that this is a continuation of a prior `ListApps` call, and that the system should return the next page of data."
                }
              }
            }
          }
        },
        "adUnits": {
          "methods": {
            "list": {
              "parameters": {
                "pageSize": {
                  "location": "query",
                  "format": "int32",
                  "type": "integer",
                  "description": "The maximum number of ad units to return."
                },
                "parent": {
                  "description": "Required. Resource name of the account to list ad units for. Example: accounts/pub-9876543210987654",
                  "type": "string",
                  "location": "path",
                  "required": true,
                  "pattern": "^accounts/[^/]+$"
                },
                "pageToken": {
                  "type": "string",
                  "location": "query",
                  "description": "The value returned by the last `ListAdUnitsResponse`; indicates that this is a continuation of a prior `ListAdUnits` call, and that the system should return the next page of data."
                }
              },
              "streamingType": "NONE",
              "parameterOrder": [
                "parent"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/admob.readonly"
              ],
              "response": {
                "$ref": "ListAdUnitsResponse"
              },
              "description": "List the ad units under the specified AdMob account.",
              "flatPath": "v1beta/accounts/{accountsId}/adUnits",
              "id": "admob.accounts.adUnits.list",
              "httpMethod": "GET",
              "path": "v1beta/{+parent}/adUnits"
            }
          }
        },
        "networkReport": {
          "methods": {
            "generate": {
              "parameterOrder": [
                "parent"
              ],
              "streamingType": "SERVER_SIDE",
              "request": {
                "$ref": "GenerateNetworkReportRequest"
              },
              "response": {
                "$ref": "GenerateNetworkReportResponse"
              },
              "description": "Generates an AdMob Network report based on the provided report specification. Returns result of a server-side streaming RPC. The result is returned in a sequence of responses.",
              "id": "admob.accounts.networkReport.generate",
              "path": "v1beta/{+parent}/networkReport:generate",
              "scopes": [
                "https://www.googleapis.com/auth/admob.readonly",
                "https://www.googleapis.com/auth/admob.report"
              ],
              "httpMethod": "POST",
              "parameters": {
                "parent": {
                  "pattern": "^accounts/[^/]+$",
                  "required": true,
                  "type": "string",
                  "location": "path",
                  "description": "Resource name of the account to generate the report for. Example: accounts/pub-9876543210987654"
                }
              },
              "flatPath": "v1beta/accounts/{accountsId}/networkReport:generate"
            }
          }
        }
      },
      "methods": {
        "get": {
          "parameterOrder": [
            "name"
          ],
          "httpMethod": "GET",
          "flatPath": "v1beta/accounts/{accountsId}",
          "streamingType": "NONE",
          "path": "v1beta/{+name}",
          "response": {
            "$ref": "PublisherAccount"
          },
          "scopes": [
            "https://www.googleapis.com/auth/admob.readonly",
            "https://www.googleapis.com/auth/admob.report"
          ],
          "parameters": {
            "name": {
              "description": "Resource name of the publisher account to retrieve. Example: accounts/pub-9876543210987654",
              "required": true,
              "pattern": "^accounts/[^/]+$",
              "type": "string",
              "location": "path"
            }
          },
          "description": "Gets information about the specified AdMob publisher account.",
          "id": "admob.accounts.get"
        },
        "list": {
          "scopes": [
            "https://www.googleapis.com/auth/admob.readonly",
            "https://www.googleapis.com/auth/admob.report"
          ],
          "httpMethod": "GET",
          "response": {
            "$ref": "ListPublisherAccountsResponse"
          },
          "description": "Lists the AdMob publisher account accessible with the client credential. Currently, all credentials have access to at most one AdMob account.",
          "parameterOrder": [],
          "flatPath": "v1beta/accounts",
          "streamingType": "NONE",
          "parameters": {
            "pageToken": {
              "description": "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.",
              "type": "string",
              "location": "query"
            },
            "pageSize": {
              "format": "int32",
              "description": "Maximum number of accounts to return.",
              "location": "query",
              "type": "integer"
            }
          },
          "path": "v1beta/accounts",
          "id": "admob.accounts.list"
        }
      }
    }
  },
  "ownerName": "Google",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/admob.readonly": {
          "description": "See your AdMob data"
        },
        "https://www.googleapis.com/auth/admob.report": {
          "description": "See your AdMob data"
        }
      }
    }
  },
  "schemas": {
    "MediationReportSpecSortCondition": {
      "type": "object",
      "properties": {
        "metric": {
          "enumDescriptions": [
            "Default value for an unset field. Do not use.",
            "The number of requests. The value is an integer.",
            "The number of times a user clicks an ad. The value is an integer.",
            "The estimated earnings of the AdMob publisher. The currency unit (USD, EUR, or other) of the earning metrics are determined by the localization setting for currency. The amount is in micros. For example, $6.50 would be represented as 6500000. 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.",
            "The total number of ads shown to users. The value is an integer.",
            "The ratio of clicks over impressions. The value is a double precision (approximate) decimal value.",
            "The number of times ads are returned in response to a request. The value is an integer.",
            "The ratio of matched ad requests over the total ad requests. The value is a double precision (approximate) decimal value.",
            "The third-party ad network's estimated average eCPM. The currency unit (USD, EUR, or other) of the earning metrics are determined by the localization setting for currency. The amount is in micros. For example, $2.30 would be represented as 2300000. 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."
          ],
          "type": "string",
          "enum": [
            "METRIC_UNSPECIFIED",
            "AD_REQUESTS",
            "CLICKS",
            "ESTIMATED_EARNINGS",
            "IMPRESSIONS",
            "IMPRESSION_CTR",
            "MATCHED_REQUESTS",
            "MATCH_RATE",
            "OBSERVED_ECPM"
          ],
          "description": "Sort by the specified metric."
        },
        "dimension": {
          "enumDescriptions": [
            "Default value for an unset field. Do not use.",
            "A date in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.",
            "A month in the YYYY-MM format (for example, \"2018-12\"). Requests can specify at most one time dimension.",
            "The date of the first day of a week in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.",
            "The [unique ID of the ad source](/admob/api/v1/ad_sources) (for example, \"5450213213286189855\" and \"AdMob Network\" as label value).",
            "The unique ID of the ad source instance (for example, \"ca-app-pub-1234#5678\" and \"AdMob (default)\" as label value).",
            "The unique ID of the ad unit (for example, \"ca-app-pub-1234/8790\"). If AD_UNIT dimension is specified, then APP is included automatically.",
            "The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").",
            "The unique ID of the mediation group (for example, \"ca-app-pub-1234:mg:1234\" and \"AdMob (default)\" as label value).",
            "CLDR country code of the place where the ad views/clicks occur (for example, \"US\" or \"FR\"). This is a geography dimension.",
            "Format of the ad unit (for example, \"banner\", \"native\"), an ad delivery dimension.",
            "Mobile OS platform of the app (for example, \"Android\" or \"iOS\")."
          ],
          "type": "string",
          "description": "Sort by the specified dimension.",
          "enum": [
            "DIMENSION_UNSPECIFIED",
            "DATE",
            "MONTH",
            "WEEK",
            "AD_SOURCE",
            "AD_SOURCE_INSTANCE",
            "AD_UNIT",
            "APP",
            "MEDIATION_GROUP",
            "COUNTRY",
            "FORMAT",
            "PLATFORM"
          ]
        },
        "order": {
          "enum": [
            "SORT_ORDER_UNSPECIFIED",
            "ASCENDING",
            "DESCENDING"
          ],
          "enumDescriptions": [
            "Default value for an unset field. Do not use.",
            "Sort dimension value or metric value in ascending order.",
            "Sort dimension value or metric value in descending order."
          ],
          "description": "Sorting order of the dimension or metric.",
          "type": "string"
        }
      },
      "id": "MediationReportSpecSortCondition",
      "description": "Sorting direction to be applied on a dimension or a metric."
    },
    "ReportRowDimensionValue": {
      "type": "object",
      "properties": {
        "value": {
          "description": "Dimension value in the format specified in the report's spec Dimension enum.",
          "type": "string"
        },
        "displayLabel": {
          "type": "string",
          "description": "The localized string representation of the value. If unspecified, the display label should be derived from the value."
        }
      },
      "id": "ReportRowDimensionValue",
      "description": "Representation of a dimension value."
    },
    "AppLinkedAppInfo": {
      "id": "AppLinkedAppInfo",
      "description": "Information from the app store if the app is linked to an app store.",
      "type": "object",
      "properties": {
        "displayName": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Display name of the app as it appears in the app store. This is an output-only field, and may be empty if the app cannot be found in the store."
        },
        "appStoreId": {
          "type": "string",
          "description": "The app store ID of the app; present if and only if the app is linked to an app store. If the app is added to the Google Play store, it will be the application ID of the app. For example: \"com.example.myapp\". See https://developer.android.com/studio/build/application-id. If the app is added to the Apple App Store, it will be app store ID. For example \"105169111\". Note that setting the app store id is considered an irreversible action. Once an app is linked, it cannot be unlinked."
        }
      }
    },
    "ListPublisherAccountsResponse": {
      "properties": {
        "account": {
          "items": {
            "$ref": "PublisherAccount"
          },
          "type": "array",
          "description": "Publisher that the client credentials can access."
        },
        "nextPageToken": {
          "description": "If not empty, indicates that there might be more accounts for the request; you must pass this value in a new `ListPublisherAccountsRequest`.",
          "type": "string"
        }
      },
      "description": "Response for the publisher account list request.",
      "id": "ListPublisherAccountsResponse",
      "type": "object"
    },
    "GenerateNetworkReportRequest": {
      "id": "GenerateNetworkReportRequest",
      "type": "object",
      "properties": {
        "reportSpec": {
          "$ref": "NetworkReportSpec",
          "description": "Network report specification."
        }
      },
      "description": "Request to generate an AdMob Network report."
    },
    "ListAppsResponse": {
      "description": "Response for the apps list request.",
      "id": "ListAppsResponse",
      "properties": {
        "nextPageToken": {
          "description": "If not empty, indicates that there may be more apps for the request; this value should be passed in a new `ListAppsRequest`.",
          "type": "string"
        },
        "apps": {
          "items": {
            "$ref": "App"
          },
          "description": "The resulting apps for the requested account.",
          "type": "array"
        }
      },
      "type": "object"
    },
    "ReportHeader": {
      "properties": {
        "reportingTimeZone": {
          "type": "string",
          "description": "The report time zone. The value is a time-zone ID as specified by the CLDR project, for example, \"America/Los_Angeles\"."
        },
        "dateRange": {
          "$ref": "DateRange",
          "description": "The date range for which the report is generated. This is identical to the range specified in the report request."
        },
        "localizationSettings": {
          "description": "Localization settings of the report. This is identical to the settings in the report request.",
          "$ref": "LocalizationSettings"
        }
      },
      "id": "ReportHeader",
      "type": "object",
      "description": "Groups data helps to treat the generated report. Always sent as a first message in the stream response."
    },
    "GenerateMediationReportResponse": {
      "id": "GenerateMediationReportResponse",
      "type": "object",
      "properties": {
        "footer": {
          "description": "Additional information about the generated report, such as warnings about the data.",
          "$ref": "ReportFooter"
        },
        "header": {
          "description": "Report generation settings that describes the report contents, such as the report date range and localization settings.",
          "$ref": "ReportHeader"
        },
        "row": {
          "description": "Actual report data.",
          "$ref": "ReportRow"
        }
      },
      "description": "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} }]"
    },
    "ReportWarning": {
      "id": "ReportWarning",
      "type": "object",
      "description": "Warnings associated with generation of the report.",
      "properties": {
        "type": {
          "type": "string",
          "description": "Type of the warning.",
          "enumDescriptions": [
            "Default value for an unset field. Do not use.",
            "Some data in this report is aggregated based on a time zone different from the requested time zone. This could happen if a local time-zone report has the start time before the last time this time zone changed. The description field will contain the date of the last time zone change.",
            "There is an unusual delay in processing the source data for the requested date range. The report results might be less up to date than usual. AdMob is aware of the issue and is actively working to resolve it.",
            "Warnings that are exposed without a specific type. Useful when new warning types are added but the API is not changed yet.",
            "The currency being requested is not the account currency. The earning metrics will be based on the requested currency, and thus not a good estimation of the final payment anymore, due to the currency rate fluctuation."
          ],
          "enum": [
            "TYPE_UNSPECIFIED",
            "DATA_BEFORE_ACCOUNT_TIMEZONE_CHANGE",
            "DATA_DELAYED",
            "OTHER",
            "REPORT_CURRENCY_NOT_ACCOUNT_CURRENCY"
          ]
        },
        "description": {
          "type": "string",
          "description": "Describes the details of the warning message, in English."
        }
      }
    },
    "MediationReportSpecDimensionFilter": {
      "type": "object",
      "description": "Describes which report rows to match based on their dimension values.",
      "properties": {
        "dimension": {
          "description": "Applies the filter criterion to the specified dimension.",
          "type": "string",
          "enum": [
            "DIMENSION_UNSPECIFIED",
            "DATE",
            "MONTH",
            "WEEK",
            "AD_SOURCE",
            "AD_SOURCE_INSTANCE",
            "AD_UNIT",
            "APP",
            "MEDIATION_GROUP",
            "COUNTRY",
            "FORMAT",
            "PLATFORM"
          ],
          "enumDescriptions": [
            "Default value for an unset field. Do not use.",
            "A date in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.",
            "A month in the YYYY-MM format (for example, \"2018-12\"). Requests can specify at most one time dimension.",
            "The date of the first day of a week in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.",
            "The [unique ID of the ad source](/admob/api/v1/ad_sources) (for example, \"5450213213286189855\" and \"AdMob Network\" as label value).",
            "The unique ID of the ad source instance (for example, \"ca-app-pub-1234#5678\" and \"AdMob (default)\" as label value).",
            "The unique ID of the ad unit (for example, \"ca-app-pub-1234/8790\"). If AD_UNIT dimension is specified, then APP is included automatically.",
            "The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").",
            "The unique ID of the mediation group (for example, \"ca-app-pub-1234:mg:1234\" and \"AdMob (default)\" as label value).",
            "CLDR country code of the place where the ad views/clicks occur (for example, \"US\" or \"FR\"). This is a geography dimension.",
            "Format of the ad unit (for example, \"banner\", \"native\"), an ad delivery dimension.",
            "Mobile OS platform of the app (for example, \"Android\" or \"iOS\")."
          ]
        },
        "matchesAny": {
          "$ref": "StringList",
          "description": "Matches a row if its value for the specified dimension is in one of the values specified in this condition."
        }
      },
      "id": "MediationReportSpecDimensionFilter"
    },
    "ListAdUnitsResponse": {
      "type": "object",
      "properties": {
        "adUnits": {
          "description": "The resulting ad units for the requested account.",
          "items": {
            "$ref": "AdUnit"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "If not empty, indicates that there may be more ad units for the request; this value should be passed in a new `ListAdUnitsRequest`.",
          "type": "string"
        }
      },
      "description": "Response for the ad units list request.",
      "id": "ListAdUnitsResponse"
    },
    "NetworkReportSpec": {
      "description": "The specification for generating an AdMob Network report. For example, the specification to get clicks and estimated earnings for only the 'US' and 'CN' countries can look like the following example: { 'date_range': { 'start_date': {'year': 2018, 'month': 9, 'day': 1}, 'end_date': {'year': 2018, 'month': 9, 'day': 30} }, 'dimensions': ['DATE', 'APP', 'COUNTRY'], 'metrics': ['CLICKS', 'ESTIMATED_EARNINGS'], 'dimension_filters': [ { 'dimension': 'COUNTRY', 'matches_any': {'values': [{'value': 'US', 'value': 'CN'}]} } ], 'sort_conditions': [ {'dimension':'APP', order: 'ASCENDING'}, {'metric':'CLICKS', order: 'DESCENDING'} ], 'localization_settings': { 'currency_code': 'USD', 'language_code': 'en-US' } } For a better understanding, you can treat the preceding specification like the following pseudo SQL: SELECT DATE, APP, COUNTRY, CLICKS, ESTIMATED_EARNINGS FROM NETWORK_REPORT WHERE DATE \u003e= '2018-09-01' AND DATE \u003c= '2018-09-30' AND COUNTRY IN ('US', 'CN') GROUP BY DATE, APP, COUNTRY ORDER BY APP ASC, CLICKS DESC;",
      "id": "NetworkReportSpec",
      "properties": {
        "dimensions": {
          "description": "List of dimensions of the report. The value combination of these dimensions determines the row of the report. If no dimensions are specified, the report returns a single row of requested metrics for the entire account.",
          "type": "array",
          "items": {
            "enumDescriptions": [
              "Default value for an unset field. Do not use.",
              "A date in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.",
              "A month in the YYYY-MM format (for example, \"2018-12\"). Requests can specify at most one time dimension.",
              "The date of the first day of a week in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.",
              "The unique ID of the ad unit (for example, \"ca-app-pub-1234/1234\"). If AD_UNIT dimension is specified, then APP is included automatically.",
              "The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").",
              "Type of the ad (for example, \"text\" or \"image\"), an ad delivery dimension. **Warning:** The dimension is incompatible with [AD_REQUESTS](#Metric.ENUM_VALUES.AD_REQUESTS), [MATCH_RATE](#Metric.ENUM_VALUES.MATCH_RATE) and [IMPRESSION_RPM](#Metric.ENUM_VALUES.IMPRESSION_RPM) metrics.",
              "CLDR country code of the place where the ad views/clicks occur (for example, \"US\" or \"FR\"). This is a geography dimension.",
              "Format of the ad unit (for example, \"banner\", \"native\"), an ad delivery dimension.",
              "Mobile OS platform of the app (for example, \"Android\" or \"iOS\")."
            ],
            "enum": [
              "DIMENSION_UNSPECIFIED",
              "DATE",
              "MONTH",
              "WEEK",
              "AD_UNIT",
              "APP",
              "AD_TYPE",
              "COUNTRY",
              "FORMAT",
              "PLATFORM"
            ],
            "type": "string"
          }
        },
        "timeZone": {
          "type": "string",
          "description": "A report time zone. Accepts an IANA TZ name values, such as \"America/Los_Angeles.\" If no time zone is defined, the account default takes effect. Check default value by the get account action. **Warning:** The \"America/Los_Angeles\" is the only supported value at the moment."
        },
        "localizationSettings": {
          "$ref": "LocalizationSettings",
          "description": "Localization settings of the report."
        },
        "dateRange": {
          "description": "The date range for which the report is generated.",
          "$ref": "DateRange"
        },
        "metrics": {
          "items": {
            "enum": [
              "METRIC_UNSPECIFIED",
              "AD_REQUESTS",
              "CLICKS",
              "ESTIMATED_EARNINGS",
              "IMPRESSIONS",
              "IMPRESSION_CTR",
              "IMPRESSION_RPM",
              "MATCHED_REQUESTS",
              "MATCH_RATE",
              "SHOW_RATE"
            ],
            "type": "string",
            "enumDescriptions": [
              "Default value for an unset field. Do not use.",
              "The number of ad requests. The value is an integer. **Warning:** The metric is incompatible with [AD_TYPE](#Dimension.ENUM_VALUES.AD_TYPE) dimension.",
              "The number of times a user clicks an ad. The value is an integer.",
              "The estimated earnings of the AdMob publisher. The currency unit (USD, EUR, or other) of the earning metrics are determined by the localization setting for currency. The amount is in micros. For example, $6.50 would be represented as 6500000.",
              "The total number of ads shown to users. The value is an integer.",
              "The ratio of clicks over impressions. The value is a double precision (approximate) decimal value.",
              "The estimated earnings per thousand ad impressions. The value is in micros. For example, $1.03 would be represented as 1030000. Equivalent to eCPM in the AdMob UI. **Warning:** The metric is incompatible with [AD_TYPE](#Dimension.ENUM_VALUES.AD_TYPE) dimension.",
              "The number of times ads are returned in response to a request. The value is an integer.",
              "The ratio of matched ad requests over the total ad requests. The value is a double precision (approximate) decimal value. **Warning:** The metric is incompatible with [AD_TYPE](#Dimension.ENUM_VALUES.AD_TYPE) dimension.",
              "The ratio of ads that are displayed over ads that are returned, defined as impressions / matched requests. The value is a double precision (approximate) decimal value."
            ]
          },
          "description": "List of metrics of the report. A report must specify at least one metric.",
          "type": "array"
        },
        "maxReportRows": {
          "format": "int32",
          "description": "Maximum number of report data rows to return. If the value is not set, the API returns as many rows as possible, up to 100000. Acceptable values are 1-100000, inclusive. Values larger than 100000 return an error.",
          "type": "integer"
        },
        "sortConditions": {
          "items": {
            "$ref": "NetworkReportSpecSortCondition"
          },
          "description": "Describes the sorting of report rows. The order of the condition in the list defines its precedence; the earlier the condition, the higher its precedence. If no sort conditions are specified, the row ordering is undefined.",
          "type": "array"
        },
        "dimensionFilters": {
          "items": {
            "$ref": "NetworkReportSpecDimensionFilter"
          },
          "description": "Describes which report rows to match based on their dimension values.",
          "type": "array"
        }
      },
      "type": "object"
    },
    "NetworkReportSpecDimensionFilter": {
      "description": "Describes which report rows to match based on their dimension values.",
      "properties": {
        "matchesAny": {
          "$ref": "StringList",
          "description": "Matches a row if its value for the specified dimension is in one of the values specified in this condition."
        },
        "dimension": {
          "enum": [
            "DIMENSION_UNSPECIFIED",
            "DATE",
            "MONTH",
            "WEEK",
            "AD_UNIT",
            "APP",
            "AD_TYPE",
            "COUNTRY",
            "FORMAT",
            "PLATFORM"
          ],
          "type": "string",
          "enumDescriptions": [
            "Default value for an unset field. Do not use.",
            "A date in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.",
            "A month in the YYYY-MM format (for example, \"2018-12\"). Requests can specify at most one time dimension.",
            "The date of the first day of a week in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.",
            "The unique ID of the ad unit (for example, \"ca-app-pub-1234/1234\"). If AD_UNIT dimension is specified, then APP is included automatically.",
            "The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").",
            "Type of the ad (for example, \"text\" or \"image\"), an ad delivery dimension. **Warning:** The dimension is incompatible with [AD_REQUESTS](#Metric.ENUM_VALUES.AD_REQUESTS), [MATCH_RATE](#Metric.ENUM_VALUES.MATCH_RATE) and [IMPRESSION_RPM](#Metric.ENUM_VALUES.IMPRESSION_RPM) metrics.",
            "CLDR country code of the place where the ad views/clicks occur (for example, \"US\" or \"FR\"). This is a geography dimension.",
            "Format of the ad unit (for example, \"banner\", \"native\"), an ad delivery dimension.",
            "Mobile OS platform of the app (for example, \"Android\" or \"iOS\")."
          ],
          "description": "Applies the filter criterion to the specified dimension."
        }
      },
      "type": "object",
      "id": "NetworkReportSpecDimensionFilter"
    },
    "MediationReportSpec": {
      "properties": {
        "timeZone": {
          "description": "A report time zone. Accepts an IANA TZ name values, such as \"America/Los_Angeles.\" If no time zone is defined, the account default takes effect. Check default value by the get account action. **Warning:** The \"America/Los_Angeles\" is the only supported value at the moment.",
          "type": "string"
        },
        "sortConditions": {
          "description": "Describes the sorting of report rows. The order of the condition in the list defines its precedence; the earlier the condition, the higher its precedence. If no sort conditions are specified, the row ordering is undefined.",
          "items": {
            "$ref": "MediationReportSpecSortCondition"
          },
          "type": "array"
        },
        "metrics": {
          "items": {
            "enum": [
              "METRIC_UNSPECIFIED",
              "AD_REQUESTS",
              "CLICKS",
              "ESTIMATED_EARNINGS",
              "IMPRESSIONS",
              "IMPRESSION_CTR",
              "MATCHED_REQUESTS",
              "MATCH_RATE",
              "OBSERVED_ECPM"
            ],
            "enumDescriptions": [
              "Default value for an unset field. Do not use.",
              "The number of requests. The value is an integer.",
              "The number of times a user clicks an ad. The value is an integer.",
              "The estimated earnings of the AdMob publisher. The currency unit (USD, EUR, or other) of the earning metrics are determined by the localization setting for currency. The amount is in micros. For example, $6.50 would be represented as 6500000. 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.",
              "The total number of ads shown to users. The value is an integer.",
              "The ratio of clicks over impressions. The value is a double precision (approximate) decimal value.",
              "The number of times ads are returned in response to a request. The value is an integer.",
              "The ratio of matched ad requests over the total ad requests. The value is a double precision (approximate) decimal value.",
              "The third-party ad network's estimated average eCPM. The currency unit (USD, EUR, or other) of the earning metrics are determined by the localization setting for currency. The amount is in micros. For example, $2.30 would be represented as 2300000. 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."
            ],
            "type": "string"
          },
          "type": "array",
          "description": "List of metrics of the report. A report must specify at least one metric."
        },
        "dateRange": {
          "$ref": "DateRange",
          "description": "The date range for which the report is generated."
        },
        "maxReportRows": {
          "description": "Maximum number of report data rows to return. If the value is not set, the API returns as many rows as possible, up to 100000. Acceptable values are 1-100000, inclusive. Values larger than 100000 return an error.",
          "format": "int32",
          "type": "integer"
        },
        "dimensions": {
          "description": "List of dimensions of the report. The value combination of these dimensions determines the row of the report. If no dimensions are specified, the report returns a single row of requested metrics for the entire account.",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "Default value for an unset field. Do not use.",
              "A date in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.",
              "A month in the YYYY-MM format (for example, \"2018-12\"). Requests can specify at most one time dimension.",
              "The date of the first day of a week in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.",
              "The [unique ID of the ad source](/admob/api/v1/ad_sources) (for example, \"5450213213286189855\" and \"AdMob Network\" as label value).",
              "The unique ID of the ad source instance (for example, \"ca-app-pub-1234#5678\" and \"AdMob (default)\" as label value).",
              "The unique ID of the ad unit (for example, \"ca-app-pub-1234/8790\"). If AD_UNIT dimension is specified, then APP is included automatically.",
              "The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").",
              "The unique ID of the mediation group (for example, \"ca-app-pub-1234:mg:1234\" and \"AdMob (default)\" as label value).",
              "CLDR country code of the place where the ad views/clicks occur (for example, \"US\" or \"FR\"). This is a geography dimension.",
              "Format of the ad unit (for example, \"banner\", \"native\"), an ad delivery dimension.",
              "Mobile OS platform of the app (for example, \"Android\" or \"iOS\")."
            ],
            "enum": [
              "DIMENSION_UNSPECIFIED",
              "DATE",
              "MONTH",
              "WEEK",
              "AD_SOURCE",
              "AD_SOURCE_INSTANCE",
              "AD_UNIT",
              "APP",
              "MEDIATION_GROUP",
              "COUNTRY",
              "FORMAT",
              "PLATFORM"
            ]
          },
          "type": "array"
        },
        "dimensionFilters": {
          "description": "Describes which report rows to match based on their dimension values.",
          "type": "array",
          "items": {
            "$ref": "MediationReportSpecDimensionFilter"
          }
        },
        "localizationSettings": {
          "$ref": "LocalizationSettings",
          "description": "Localization settings of the report."
        }
      },
      "id": "MediationReportSpec",
      "type": "object",
      "description": "The specification for generating an AdMob Mediation report. For example, the specification to get observed ECPM sliced by ad source and app for the 'US' and 'CN' countries can look like the following example: { \"date_range\": { \"start_date\": {\"year\": 2018, \"month\": 9, \"day\": 1}, \"end_date\": {\"year\": 2018, \"month\": 9, \"day\": 30} }, \"dimensions\": [\"AD_SOURCE\", \"APP\", \"COUNTRY\"], \"metrics\": [\"OBSERVED_ECPM\"], \"dimension_filters\": [ { \"dimension\": \"COUNTRY\", \"matches_any\": {\"values\": [{\"value\": \"US\", \"value\": \"CN\"}]} } ], \"sort_conditions\": [ {\"dimension\":\"APP\", order: \"ASCENDING\"} ], \"localization_settings\": { \"currency_code\": \"USD\", \"language_code\": \"en-US\" } } For a better understanding, you can treat the preceding specification like the following pseudo SQL: SELECT AD_SOURCE, APP, COUNTRY, OBSERVED_ECPM FROM MEDIATION_REPORT WHERE DATE \u003e= '2018-09-01' AND DATE \u003c= '2018-09-30' AND COUNTRY IN ('US', 'CN') GROUP BY AD_SOURCE, APP, COUNTRY ORDER BY APP ASC;"
    },
    "StringList": {
      "type": "object",
      "properties": {
        "values": {
          "description": "The string values.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "description": "List of string values.",
      "id": "StringList"
    },
    "AdUnit": {
      "id": "AdUnit",
      "type": "object",
      "properties": {
        "adUnitId": {
          "description": "The externally visible ID of the ad unit which can be used to integrate with the AdMob SDK. This is a read only property. Example: ca-app-pub-9876543210987654/0123456789",
          "type": "string"
        },
        "adTypes": {
          "description": "Ad media type supported by this ad unit. Possible values as follows: \"RICH_MEDIA\" - Text, image, and other non-video media. \"VIDEO\" - Video media.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "appId": {
          "description": "The externally visible ID of the app this ad unit is associated with. Example: ca-app-pub-9876543210987654~0123456789",
          "type": "string"
        },
        "displayName": {
          "type": "string",
          "description": "The display name of the ad unit as shown in the AdMob UI, which is provided by the user. The maximum length allowed is 80 characters."
        },
        "name": {
          "description": "Resource name for this ad unit. Format is accounts/{publisher_id}/adUnits/{ad_unit_id_fragment} Example: accounts/pub-9876543210987654/adUnits/0123456789",
          "type": "string"
        },
        "adFormat": {
          "description": "AdFormat of the ad unit. Possible values are as follows: \"BANNER\" - Banner ad format. \"BANNER_INTERSTITIAL\" - Legacy format that can be used as either banner or interstitial. This format can no longer be created but can be targeted by mediation groups. \"INTERSTITIAL\" - A full screen ad. Supported ad types are \"RICH_MEDIA\" and \"VIDEO\". \"NATIVE\" - Native ad format. \"REWARDED\" - An ad that, once viewed, gets a callback verifying the view so that a reward can be given to the user. Supported ad types are \"RICH_MEDIA\" (interactive) and video where video can not be excluded.",
          "type": "string"
        }
      },
      "description": "Describes an AdMob ad unit."
    },
    "GenerateNetworkReportResponse": {
      "type": "object",
      "properties": {
        "header": {
          "description": "Report generation settings that describes the report contents, such as the report date range and localization settings.",
          "$ref": "ReportHeader"
        },
        "row": {
          "$ref": "ReportRow",
          "description": "Actual report data."
        },
        "footer": {
          "$ref": "ReportFooter",
          "description": "Additional information about the generated report, such as warnings about the data."
        }
      },
      "id": "GenerateNetworkReportResponse",
      "description": "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} }]"
    },
    "ReportRow": {
      "description": "A row of the returning report.",
      "properties": {
        "dimensionValues": {
          "additionalProperties": {
            "$ref": "ReportRowDimensionValue"
          },
          "type": "object",
          "description": "Map of dimension values in a row, with keys as enum name of the dimensions."
        },
        "metricValues": {
          "additionalProperties": {
            "$ref": "ReportRowMetricValue"
          },
          "type": "object",
          "description": "Map of metric values in a row, with keys as enum name of the metrics. If a metric being requested has no value returned, the map will not include it."
        }
      },
      "type": "object",
      "id": "ReportRow"
    },
    "DateRange": {
      "type": "object",
      "description": "Specification of a single date range. Both dates are inclusive.",
      "properties": {
        "endDate": {
          "$ref": "Date",
          "description": "End date of the date range, inclusive. Must be greater than or equal to the start date."
        },
        "startDate": {
          "description": "Start date of the date range, inclusive. Must be less than or equal to the end date.",
          "$ref": "Date"
        }
      },
      "id": "DateRange"
    },
    "PublisherAccount": {
      "properties": {
        "name": {
          "description": "Resource name of this account. Format is accounts/{publisher_id}.",
          "type": "string"
        },
        "currencyCode": {
          "description": "Currency code of the earning-related metrics, which is the 3-letter code defined in ISO 4217. The daily average rate is used for the currency conversion.",
          "type": "string"
        },
        "reportingTimeZone": {
          "type": "string",
          "description": "The time zone that is used in reports that are generated for this account. The value is a time-zone ID as specified by the CLDR project, for example, \"America/Los_Angeles\"."
        },
        "publisherId": {
          "type": "string",
          "description": "The unique ID by which this publisher account can be identified in the API requests (for example, pub-1234567890)."
        }
      },
      "id": "PublisherAccount",
      "type": "object",
      "description": "A publisher account contains information relevant to the use of this API, such as the time zone used for the reports."
    },
    "LocalizationSettings": {
      "properties": {
        "languageCode": {
          "description": "Language used for any localized text, such as some dimension value display labels. The language tag defined in the IETF BCP47. Defaults to 'en-US' if unspecified.",
          "type": "string"
        },
        "currencyCode": {
          "type": "string",
          "description": "Currency code of the earning related metrics, which is the 3-letter code defined in ISO 4217. The daily average rate is used for the currency conversion. Defaults to the account currency code if unspecified."
        }
      },
      "type": "object",
      "description": "Localization settings for reports, such as currency and language. It affects how metrics are calculated.",
      "id": "LocalizationSettings"
    },
    "AppManualAppInfo": {
      "id": "AppManualAppInfo",
      "properties": {
        "displayName": {
          "description": "The display name of the app as shown in the AdMob UI, which is provided by the user. The maximum length allowed is 80 characters.",
          "type": "string"
        }
      },
      "type": "object",
      "description": "Information provided for manual apps which are not linked to an application store (Example: Google Play, App Store)."
    },
    "ReportFooter": {
      "properties": {
        "matchingRowCount": {
          "format": "int64",
          "type": "string",
          "description": "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."
        },
        "warnings": {
          "description": "Warnings associated with generation of the report.",
          "items": {
            "$ref": "ReportWarning"
          },
          "type": "array"
        }
      },
      "id": "ReportFooter",
      "description": "Groups data available after report generation, for example, warnings and row counts. Always sent as the last message in the stream response.",
      "type": "object"
    },
    "NetworkReportSpecSortCondition": {
      "id": "NetworkReportSpecSortCondition",
      "description": "Sorting direction to be applied on a dimension or a metric.",
      "type": "object",
      "properties": {
        "dimension": {
          "description": "Sort by the specified dimension.",
          "enumDescriptions": [
            "Default value for an unset field. Do not use.",
            "A date in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.",
            "A month in the YYYY-MM format (for example, \"2018-12\"). Requests can specify at most one time dimension.",
            "The date of the first day of a week in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.",
            "The unique ID of the ad unit (for example, \"ca-app-pub-1234/1234\"). If AD_UNIT dimension is specified, then APP is included automatically.",
            "The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").",
            "Type of the ad (for example, \"text\" or \"image\"), an ad delivery dimension. **Warning:** The dimension is incompatible with [AD_REQUESTS](#Metric.ENUM_VALUES.AD_REQUESTS), [MATCH_RATE](#Metric.ENUM_VALUES.MATCH_RATE) and [IMPRESSION_RPM](#Metric.ENUM_VALUES.IMPRESSION_RPM) metrics.",
            "CLDR country code of the place where the ad views/clicks occur (for example, \"US\" or \"FR\"). This is a geography dimension.",
            "Format of the ad unit (for example, \"banner\", \"native\"), an ad delivery dimension.",
            "Mobile OS platform of the app (for example, \"Android\" or \"iOS\")."
          ],
          "enum": [
            "DIMENSION_UNSPECIFIED",
            "DATE",
            "MONTH",
            "WEEK",
            "AD_UNIT",
            "APP",
            "AD_TYPE",
            "COUNTRY",
            "FORMAT",
            "PLATFORM"
          ],
          "type": "string"
        },
        "order": {
          "type": "string",
          "enumDescriptions": [
            "Default value for an unset field. Do not use.",
            "Sort dimension value or metric value in ascending order.",
            "Sort dimension value or metric value in descending order."
          ],
          "description": "Sorting order of the dimension or metric.",
          "enum": [
            "SORT_ORDER_UNSPECIFIED",
            "ASCENDING",
            "DESCENDING"
          ]
        },
        "metric": {
          "enum": [
            "METRIC_UNSPECIFIED",
            "AD_REQUESTS",
            "CLICKS",
            "ESTIMATED_EARNINGS",
            "IMPRESSIONS",
            "IMPRESSION_CTR",
            "IMPRESSION_RPM",
            "MATCHED_REQUESTS",
            "MATCH_RATE",
            "SHOW_RATE"
          ],
          "enumDescriptions": [
            "Default value for an unset field. Do not use.",
            "The number of ad requests. The value is an integer. **Warning:** The metric is incompatible with [AD_TYPE](#Dimension.ENUM_VALUES.AD_TYPE) dimension.",
            "The number of times a user clicks an ad. The value is an integer.",
            "The estimated earnings of the AdMob publisher. The currency unit (USD, EUR, or other) of the earning metrics are determined by the localization setting for currency. The amount is in micros. For example, $6.50 would be represented as 6500000.",
            "The total number of ads shown to users. The value is an integer.",
            "The ratio of clicks over impressions. The value is a double precision (approximate) decimal value.",
            "The estimated earnings per thousand ad impressions. The value is in micros. For example, $1.03 would be represented as 1030000. Equivalent to eCPM in the AdMob UI. **Warning:** The metric is incompatible with [AD_TYPE](#Dimension.ENUM_VALUES.AD_TYPE) dimension.",
            "The number of times ads are returned in response to a request. The value is an integer.",
            "The ratio of matched ad requests over the total ad requests. The value is a double precision (approximate) decimal value. **Warning:** The metric is incompatible with [AD_TYPE](#Dimension.ENUM_VALUES.AD_TYPE) dimension.",
            "The ratio of ads that are displayed over ads that are returned, defined as impressions / matched requests. The value is a double precision (approximate) decimal value."
          ],
          "description": "Sort by the specified metric.",
          "type": "string"
        }
      }
    },
    "Date": {
      "id": "Date",
      "type": "object",
      "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.",
      "properties": {
        "day": {
          "type": "integer",
          "format": "int32",
          "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant."
        },
        "month": {
          "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.",
          "type": "integer",
          "format": "int32"
        },
        "year": {
          "format": "int32",
          "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.",
          "type": "integer"
        }
      }
    },
    "ReportRowMetricValue": {
      "type": "object",
      "description": "Representation of a metric value.",
      "id": "ReportRowMetricValue",
      "properties": {
        "integerValue": {
          "format": "int64",
          "type": "string",
          "description": "Metric integer value."
        },
        "microsValue": {
          "description": "Amount in micros. One million is equivalent to one unit. Currency value is in the unit (USD, EUR or other) specified by the request. For example, $6.50 whould be represented as 6500000 micros.",
          "type": "string",
          "format": "int64"
        },
        "doubleValue": {
          "type": "number",
          "description": "Double precision (approximate) decimal values. Rates are from 0 to 1.",
          "format": "double"
        }
      }
    },
    "App": {
      "description": "Describes an AdMob app for a specific platform (For example: Android or iOS).",
      "id": "App",
      "type": "object",
      "properties": {
        "name": {
          "description": "Resource name for this app. Format is accounts/{publisher_id}/apps/{app_id_fragment} Example: accounts/pub-9876543210987654/apps/0123456789",
          "type": "string"
        },
        "appId": {
          "description": "The externally visible ID of the app which can be used to integrate with the AdMob SDK. This is a read only property. Example: ca-app-pub-9876543210987654~0123456789",
          "type": "string"
        },
        "platform": {
          "description": "Describes the platform of the app. Limited to \"IOS\" and \"ANDROID\".",
          "type": "string"
        },
        "manualAppInfo": {
          "description": "The information for an app that is not linked to any app store. After an app is linked, this information is still retrivable. If no name is provided for the app upon creation, a placeholder name will be used.",
          "$ref": "AppManualAppInfo"
        },
        "linkedAppInfo": {
          "$ref": "AppLinkedAppInfo",
          "description": "Immutable. The information for an app that is linked to an app store. This field is present if and only if the app is linked to an app store."
        }
      }
    },
    "GenerateMediationReportRequest": {
      "type": "object",
      "properties": {
        "reportSpec": {
          "$ref": "MediationReportSpec",
          "description": "Network report specification."
        }
      },
      "description": "Request to generate an AdMob Mediation report.",
      "id": "GenerateMediationReportRequest"
    }
  },
  "ownerDomain": "google.com",
  "revision": "20201114",
  "protocol": "rest"
}
