指標セットのクエリ

すべてを設定すると、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 など)の場合は、それらのパラメータを使用して、各クエリの結果を適切なサイズに制限してください。