指標セットのクエリ

すべての設定が完了したら、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"
}

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