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

Sau khi hoàn tất mọi khâu thiết lập, 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 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 nhiều chỉ số cho ứng dụng. Có một vài tham số truy vấn khác nhau có thể dùng để thu hẹp truy vấn.

Đang truy xuất siêu dữ liệu của nhóm chỉ số

Ví dụ sau đây truy xuất siêu dữ liệu cho nhóm chỉ số tỷ lệ sự cố của 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 đủ 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 về thông tin chỉ số:

Câu trả lời bao gồm các trường sau đây 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 đối với 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 nhóm 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 tuỳ 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 tập hợp:

Trường
timelineSpec

object (TimelineSpec)

Quy cách về các tham số tổng hợp theo dòng thời gian. Vui lòng xem tài liệu của từng nhóm chỉ số để biết 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 chỉ số. Vui lòng kiểm tra tài liệu của từng nhóm chỉ số để biết danh sách các phương diện được hỗ trợ.

metrics[]

string

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 được chỉ định, hệ thống sẽ trả về tối đa 1.000 hàng. Giá trị tối đa là 10.000; các giá trị trên 10.000 sẽ được chuyển thành 10.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 về vấn đề với trường mà họ chọn (ví dụ: "Invalid field timeline_spec").

Sau đây là ví dụ về phản hồi được trình bày 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ụ: maxResults và nextPageToken), hãy dùng các tham số đó để giảm số kết quả tương ứng với mỗi truy vấn xuống thành một lượng có thể quản lý.