측정항목 집합 쿼리

모든 설정을 완료하면 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의 경우 이러한 매개변수를 사용하여 각 쿼리의 결과를 관리 가능한 크기로 줄이세요.