Method: accounts.networkReport.generate

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

HTTP 请求

POST https://admob.googleapis.com/v1/{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 概览

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(含 1 和 100,000)。大于 100,000 的值会返回错误。

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 维度,则“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 界面中的有效每千次展示费用。

警告:该指标与 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)

按指定指标排序。