Method: accounts.networkReport.generate

根据所提供的报告规范生成 AdMob 广告联盟报告。返回服务器端流式 RPC 的结果。结果以一系列响应的形式返回。

HTTP 请求

POST https://admob.googleapis.com/v1beta/{parent=accounts/*}/networkReport:generate

网址采用 gRPC 转码语法。

路径参数

参数
parent

string

要生成报告的账号的资源名称。示例:accounts/pub-9876543210987654

请求正文

请求正文中包含结构如下的数据:

JSON 表示法
{
  "reportSpec": {
    object (NetworkReportSpec)
  }
}
字段
reportSpec

object (NetworkReportSpec)

广告联盟报告规范。

响应正文

在针对 AdMob 广告联盟报告的流式响应中,第一个响应包含的是报告标题,接着是行响应流,最后是作为最终响应消息的页脚。

例如:

[{
  "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}
}]

如果成功,响应正文将包含结构如下的数据:

JSON 表示法
{

  // Union field payload can be only one of the following:
  "header": {
    object (ReportHeader)
  },
  "row": {
    object (ReportRow)
  },
  "footer": {
    object (ReportFooter)
  }
  // End of list of possible types for union field payload.
}
字段
联合字段 payload。每个流式响应消息都会包含一种有效负载类型。payload 只能是下列其中一项:
header

object (ReportHeader)

即报告生成设置,用于描述报告的内容,如报告日期范围和本地化设置。

row

object (ReportRow)

实际的报告数据。

footer

object (ReportFooter)

有关已生成的报告的其他信息,如关于数据的警告。

授权范围

需要以下 OAuth 范围之一:

  • https://www.googleapis.com/auth/admob.readonly
  • https://www.googleapis.com/auth/admob.report

如需了解详情,请参阅 OAuth 2.0 Overview

NetworkReportSpec

这指的是 AdMob 广告联盟报告的生成规范。例如,下面是一个仅获取“美国”和“中国”的点击次数和估算收入的规范示例,代码大致如下所示:

{
  'dateRange': {
    'startDate': {'year': 2021, 'month': 9, 'day': 1},
    'endDate': {'year': 2021, 'month': 9, 'day': 30}
  },
  'dimensions': ['DATE', 'APP', 'COUNTRY'],
  'metrics': ['CLICKS', 'ESTIMATED_EARNINGS'],
  'dimensionFilters': [
    {
      'dimension': 'COUNTRY',
      'matchesAny': {'values': [{'value': 'US', 'value': 'CN'}]}
    }
  ],
  'sortConditions': [
    {'dimension':'APP', order: 'ASCENDING'},
    {'metric':'CLICKS', order: 'DESCENDING'}
  ],
  'localizationSettings': {
    'currencyCode': 'USD',
    'languageCode': 'en-US'
  }
}

为了更好地理解,您可以将上面的规范视作如下的伪 SQL:

SELECT DATE, APP, COUNTRY, CLICKS, ESTIMATED_EARNINGS
FROM NETWORK_REPORT
WHERE DATE >= '2021-09-01' AND DATE <= '2021-09-30'
    AND COUNTRY IN ('US', 'CN')
GROUP BY DATE, APP, COUNTRY
ORDER BY APP ASC, CLICKS DESC;
JSON 表示法
{
  "dateRange": {
    object (DateRange)
  },
  "dimensions": [
    enum (Dimension)
  ],
  "metrics": [
    enum (Metric)
  ],
  "dimensionFilters": [
    {
      object (DimensionFilter)
    }
  ],
  "sortConditions": [
    {
      object (SortCondition)
    }
  ],
  "localizationSettings": {
    object (LocalizationSettings)
  },
  "maxReportRows": integer,
  "timeZone": string
}
字段
dateRange

object (DateRange)

所生成的报告的日期范围。

dimensions[]

enum (Dimension)

报告的维度列表。这些维度的值组合决定了报告的行数。如果未指定维度,则报告只会为整个账号返回一行请求的指标。

metrics[]

enum (Metric)

报告的指标列表。报告必须指定至少一个指标。

dimensionFilters[]

object (DimensionFilter)

根据维度值描述要匹配的报告行。

sortConditions[]

object (SortCondition)

描述报告行的排序条件。条件在列表中的顺序决定了其优先级顺序,即条件越靠前,其优先级越高。如果未指定排序条件,则不会定义行的顺序。

localizationSettings

object (LocalizationSettings)

报告的本地化设置。

maxReportRows

integer

要返回的报告数据行数上限。如果未设置该值,则 API 将返回尽可能多的行,最多可达 100,000 行。可接受的值为 1-100, 000(含)。如果值大于 100000,则会返回错误。

timeZone

string

报告时区。接受 IANA TZ 名称值,例如“America/Los_Angeles”。如果未定义时区,则采用账号默认时区。通过获取账号操作检查默认值。

警告:目前唯一支持的值是“America/Los_Angeles”。

维度

广告联盟报告的维度。维度是用于按特定属性(如广告格式或用于查看广告的平台)细分或细化各种量化衡量标准(即指标)的数据属性。

枚举
DIMENSION_UNSPECIFIED 这是未设置字段的默认值。请勿使用。
DATE 采用 YYYYMMDD 格式的日期,例如“20210701”。请求最多可以指定一个时间维度。
MONTH 采用 YYYYMM 格式的月份,例如“202107”。请求最多可以指定一个时间维度。
WEEK 每周第一天的日期,采用 YYYYMMDD 格式,例如“20210701”。请求最多可以指定一个时间维度。
AD_UNIT 广告单元的唯一 ID,例如“ca-app-pub-1234/1234”。如果指定了 AD_UNIT 维度,则 ID 中会自动包含“app”字样。
APP 移动应用的唯一 ID,例如“ca-app-pub-1234~1234”。
AD_TYPE

广告的类型(例如“文字”或“图片”),这是一种广告投放维度。

警告:此维度与 AD_REQUESTSMATCH_RATEIMPRESSION_RPM 指标不兼容。

COUNTRY 发生广告浏览/广告点击操作的国家/地区的 CLDR 代码,例如“US”或“FR”。这是一个地理位置维度。
FORMAT 广告单元的格式,例如“横幅广告”“原生广告”,这是一种广告投放维度。
PLATFORM 应用的移动操作系统平台,例如“Android”或“iOS”。
MOBILE_OS_VERSION 移动操作系统版本,例如“iOS 13.5.1”。
GMA_SDK_VERSION GMA SDK 版本,例如“iOS 7.62.0”。
APP_VERSION_NAME 对于 Android,应用版本名称可在 PackageInfo 中的 versionName 中找到。对于 iOS,应用版本名称可在 CFBundleShortVersionString 中找到。
SERVING_RESTRICTION 广告投放的限制模式(例如“非个性化广告”)。

指标

广告联盟报告的指标。这些指标都是量化的衡量标准,用于表明发布商业务取得多大的成效。它们都是在各个广告事件的基础上汇总出来的,并按报告维度进行分组。指标值可以是整数,也可以是小数(不四舍五入为整数)。

枚举
METRIC_UNSPECIFIED 这是未设置字段的默认值。请勿使用。
AD_REQUESTS

广告请求的数量。该值为整数。

警告:此指标与 AD_TYPE 维度不兼容。

CLICKS 用户点击广告的次数。该值为整数。
ESTIMATED_EARNINGS AdMob 发布商的估算收入。收入指标的货币单位(如 USD、EUR 或其他单位)均由货币的本地化设置决定。金额以微单位表示。例如,6.50 美元将表示为 6500000。
IMPRESSIONS 广告向用户展示的总次数。该值为整数。
IMPRESSION_CTR 点击次数与展示次数的比值。该值为双精度(近似)十进制值。
IMPRESSION_RPM

每千次广告展示的估算收入。该值以微单位表示。例如,1.03 美元将表示为 1030000。与 AdMob 界面中的 eCPM 相同。

警告:此指标与 AD_TYPE 维度不兼容。

MATCHED_REQUESTS 系统为响应请求而返回广告的次数。该值为整数。
MATCH_RATE

匹配的广告请求数与总广告请求数的比值。该值为双精度(近似)十进制值。

警告:此指标与 AD_TYPE 维度不兼容。

SHOW_RATE 展示的广告数与返回的广告数的比值,被定义为展示次数 / 匹配的请求数。该值为双精度(近似)十进制值。

DimensionFilter

根据维度值描述要匹配的报告行。

JSON 表示法
{
  "dimension": enum (Dimension),

  // Union field operator can be only one of the following:
  "matchesAny": {
    object (StringList)
  }
  // End of list of possible types for union field operator.
}
字段
dimension

enum (Dimension)

将过滤条件应用于指定的维度。

联合字段 operator。要应用的过滤条件运算符。operator 只能是下列其中一项:
matchesAny

object (StringList)

如果指定维度的值在此条件中指定的一个值之内,则系统会匹配一行。

SortCondition

要在维度或指标中应用的排序方向。

JSON 表示法
{
  "order": enum (SortOrder),

  // Union field sort_on can be only one of the following:
  "dimension": enum (Dimension),
  "metric": enum (Metric)
  // End of list of possible types for union field sort_on.
}
字段
order

enum (SortOrder)

维度或指标的排序顺序。

联合字段 sort_on。标识要排序的值。sort_on 只能是下列其中一项:
dimension

enum (Dimension)

按指定的维度排序。

metric

enum (Metric)

按指定的指标排序。