Truy vấn các nhóm chỉ số

Sau khi thiết lập mọi thứ, bạn có thể gửi yêu cầu đến API Google Play Developer Reporting để truy xuất siêu dữ liệu về các nhóm chỉ số và truy vấn chỉ số của chúng.

Các mẫu mã sau đây minh hoạ cách gửi một số yêu cầu đơn giản. Ví dụ: các phương thức bên dưới cho biết cách truy xuất nhiều chỉ số cho ứng dụng của bạn. Có một số tham số truy vấn khác nhau mà bạn có thể dùng để thu hẹp truy vấn.

Truy xuất siêu dữ liệu của tập hợp chỉ số

Ví dụ sau đây truy xuất siêu dữ liệu cho tập hợp chỉ số tỷ lệ gặp sự cố được đặt cho một ứng dụng hư cấu, com.example.app.

Yêu cầu đơn giản:

Yêu cầu HTTP GET này chỉ định tham số tên ứng dụng và trả về tài nguyên chỉ số đầy đủ được liên kết với ứng dụng của bạn.

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

Phản hồi thông tin về chỉ số:

Phản hồi này bao gồm các trường sau liên quan đến nhóm chỉ số:

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

Sử dụng tính năng truy vấn

Yêu cầu HTTP POST sau đây cho cùng một tài nguyên này sử dụng điểm cuối query để truy xuất dữ liệu cụ thể trong tập hợp chỉ số.

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

Trong nội dung yêu cầu, hãy truyền các lựa chọn truy vấn để truy xuất chỉ số dựa trên các tiêu chí cụ thể.

{
  "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"
}

Dưới đây là một số ví dụ ở cấp bộ sưu tập:

Trường
timelineSpec

object (TimelineSpec)

Quy cách của các thông số tổng hợp dòng thời gian. Vui lòng kiểm tra tài liệu của từng bộ chỉ số để biết danh sách các khoảng thời gian tổng hợp được hỗ trợ.

dimensions[]

string

Các phương diện để phân chia chỉ số. Vui lòng kiểm tra tài liệu của từng bộ chỉ số để biết danh sách các phương diện được hỗ trợ.

metrics[]

string

Các chỉ số cần tổng hợp.

pageSize

integer

Kích thước tối đa của dữ liệu được trả về.

Nếu không chỉ định, tối đa 1.000 hàng sẽ được trả về. Giá trị tối đa là 100.000; các giá trị lớn hơn 100.000 sẽ được chuyển đổi thành 100.000.

Xử lý phản hồi

Sau khi xử lý một yêu cầu hợp lệ có chứa các trường hợp lệ, máy chủ sẽ gửi lại mã trạng thái HTTP 200 OK cùng với dữ liệu được yêu cầu. Nếu tham số truy vấn fields có lỗi hoặc không hợp lệ, thì máy chủ sẽ trả về mã trạng thái HTTP 400 Bad Request, cùng với một thông báo lỗi cho người dùng biết điều gì không ổn với lựa chọn trường của họ (ví dụ: "Invalid field timeline_spec").

Sau đây là ví dụ về phản hồi được minh hoạ trong phần giới thiệu ở trên.

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

Phản hồi sẽ có dạng như sau:

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"
}

Lưu ý: Đối với những API hỗ trợ các tham số truy vấn để phân trang dữ liệu (ví dụ: maxResultsnextPageToken), hãy sử dụng các tham số đó để giảm kết quả của mỗi truy vấn xuống một kích thước có thể quản lý.