Truy vấn tập hợp chỉ số

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

Các mã mẫu 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 dưới đây cho bạn biết cách truy xuất các chỉ số khác nhau cho ứng dụng của bạn. Bạn có thể sử dụng một số tham số truy vấn khác nhau để thu hẹp truy vấn của mình.

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

Ví dụ sau đây truy xuất siêu dữ liệu cho chỉ số tỷ lệ 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 chỉ số:

Nội dung phản hồi bao gồm các trường sau liên quan đến tập hợp 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 tài nguyên này sử dụng điểm cuối query để truy xuất dữ liệu cụ thể từ bên trong tập hợp chỉ số.

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

Trong phần nội dung yêu cầu, hãy chuyển các tùy 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:

Các trường
timelineSpec

object (TimelineSpec)

Thông số kỹ thuật của các thông số tổng hợp dòng thời gian. Vui lòng xem tài liệu về từng chỉ số để tìm hiểu danh sách các khoảng thời gian tổng hợp được hỗ trợ.

dimensions[]

string

Phương diện để phân chia các chỉ số. Vui lòng xem tài liệu về 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 bạn không chỉ định, tối đa 1000 hàng sẽ được trả về. Giá trị tối đa là 100.000; các giá trị trên 100.000 sẽ bị ép buộc thành 100.000.

Xử lý phản hồi

Sau khi xử lý một yêu cầu hợp lệ 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ệ, máy chủ sẽ trả về một 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 về sự cố với lựa chọn trường của họ (ví dụ: "Invalid field timeline_spec").

Dưới đây là ví dụ về phản hồi xuất hiện trong phần giới thiệu ở trên.

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

Câu trả lờ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 các 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ý được.