指標セットのクエリ

すべてを設定すると、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

返されるデータの最大サイズ。

指定しない場合は、最大 1, 000 行が返されます。最大値は 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"
}

注: データのページ設定のためのクエリ パラメータをサポートする API(maxResultsnextPageToken など)の場合は、それらのパラメータを使用して、各クエリの結果を適切なサイズに制限してください。