查询指标集

完成所有设置后,您可以向 Google Play Developer Reporting API 发送请求,以检索有关指标集的元数据并查询其指标。

以下代码示例演示了如何发送一些简单的请求。例如,以下方法展示了如何检索应用的各种指标。您可以使用几个不同的查询参数来缩小查询范围。

检索指标集元数据

以下示例检索了针对虚构应用 com.example.app 设置的崩溃率指标的元数据。

简单请求:

此 HTTP GET 请求会指定应用名称参数,并返回与您的应用相关联的完整指标资源。

GET https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/crashRateMetricSet

指标信息响应:

响应包含以下与指标集相关的字段:

{
  "freshness_info": {
    "freshness": [
      "aggregation_period": "DAILY"
      "latest_end_time": { year: "2021" month: "7" day: "22" time_zone: "America/Los_Angeles" }
    ]
  }
}

使用查询功能

同一资源的以下 HTTP POST 请求使用 query 端点从指标集内检索特定数据。

POST https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/crashRateMetricSet:query

在请求正文中,传递查询选项以根据特定条件检索指标。

{
  "timeline_spec": {
    "aggregation_period": "DAILY"
    "start_time": { year: "2021" month: "7" day: "1" time_zone: "America/Los_Angeles" }
    "end_time": { year: "2021" month: "7" day: "3" time_zone: "America/Los_Angeles" }
   }
  "dimensions": ["apiLevel"]
  "metrics": ["errorReportCount", "distinctUsers"]
  "page_size": "10"
}

以下是一些集合级别的示例:

字段
timelineSpec

object (TimelineSpec)

时间轴聚合参数的规范。请参阅每个指标集的文档,了解受支持的汇总期列表。

dimensions[]

string

指标的细分维度。请参阅每个指标集的文档,了解支持的维度列表。

metrics[]

string

要汇总的指标。

pageSize

integer

所返回数据的大小上限。

如果未指定,则最多返回 1000 行。最大值为 100,000;大于 100,000 的值将被强制转换为 100,000。

处理响应

服务器处理完含有有效字段的有效请求之后,会发回 HTTP 200 OK 状态代码以及所请求的数据。如果 fields 查询参数存在错误或因其他原因而无效,服务器将返回 HTTP 400 Bad Request 状态代码以及一条错误消息,告知用户他们的字段选择出现了什么错误(例如 "Invalid field timeline_spec")。

以下是上述介绍部分中显示的响应示例。

POST https://playdeveloperreporting.googleapis.com/v1beta1/apps/com.example.app/crashRateMetricSet:query

响应如下所示:

200 OK
{
  rows: [
    {
      aggregation_period: "DAILY"
      start_time: { year: "2021" month: "7" day: "1" time_zone: "America/Los_Angeles" }
      dimensions: [{dimension: "apiLevel" int64_value: "20"}]
      metrics: [
        {metric: "errorReportCount" decimal_value: "100"},
        {metric: "distinctUsers" decimal_value: "57"},
      ]
    }, {
      aggregation_period: "DAILY"
      start_time: { year: "2021" month: "7" day: "1" time_zone: "America/Los_Angeles" }
      dimensions: [{dimension: "apiLevel" int64_value: "21"}]
      metrics: [
        {metric: "errorReportCount" decimal_value: "123"},
        {metric: "distinctUsers" decimal_value: "65"},
      ]
    },
    ...
  ]
  next_page_token: "eW91IGhhdmUgdG9vIG11Y2ggZnJlZSB0aW1l"
}

注意:对于支持使用查询参数(例如 maxResultsnextPageToken)进行数据分页的 API,请使用这些参数将每个查询的结果缩减为便于管理的大小。