Method: gameStats.batchRecordEvents

Ghi lại một loạt sự kiện trò chơi của người chơi cho một người chơi cụ thể. Phương thức này cho phép gửi nhiều sự kiện trong một yêu cầu.

Yêu cầu HTTP

POST https://games.googleapis.com/games/v1/players/{playerId}/gameStats:batchRecordEvents

Tham số đường dẫn

Tham số
playerId

string

Bắt buộc: Mã nhận dạng người chơi của người chơi đã thực hiện các sự kiện.

Nội dung yêu cầu

Nội dung yêu cầu chứa dữ liệu có cấu trúc sau:

Biểu diễn dưới dạng JSON
{
  "packageName": string,
  "requestTime": string,
  "events": [
    {
      object (PlayerGameEvent)
    }
  ],
}
Trường
packageName

string

Bắt buộc: Tên gói ứng dụng (ví dụ: "com.example.game").

requestTime

string (Timestamp format)

Bắt buộc: Thời gian từ ứng dụng khi lô sự kiện cụ thể này được gửi.

Dùng RFC 3339, trong đó dữ liệu đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các khoảng lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" hoặc "2014-10-02T15:01:23+05:30".

events[]

object (PlayerGameEvent)

Bắt buộc: Danh sách các sự kiện trong trò chơi của người chơi cần được ghi lại. Tối đa 30 sự kiện cho mỗi yêu cầu hàng loạt.

Nội dung phản hồi

Phản hồi thành công cho biết lô sự kiện đã được xử lý.

Nếu thành công, nội dung phản hồi sẽ chứa dữ liệu có cấu trúc sau:

Biểu diễn dưới dạng JSON
{
  "failedRequests": {
    integer: {
      object (Status)
    },
    ...
  }
}
Trường
failedRequests

map (key: integer, value: object (Status))

Bản đồ các sự kiện không thành công, được khoá theo chỉ mục từ 0 trong BatchRecordEventsRequest.events. Các khoá bị bỏ qua cho biết quá trình ghi đã thành công.

Một đối tượng chứa danh sách các cặp "key": value. Ví dụ: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Phạm vi uỷ quyền

Yêu cầu một trong các phạm vi OAuth sau:

  • https://www.googleapis.com/auth/games
  • https://www.googleapis.com/auth/games_lite

Để biết thêm thông tin, hãy xem OAuth 2.0 Overview.

PlayerGameEvent

Một biểu thị về sự kiện trò chơi dành cho một người chơi do sự kiện của người chơi kích hoạt trong trò chơi. Đó có thể là hoàn thành một cấp độ, mở khoá một vật phẩm hoặc kết thúc một trận đấu.

Biểu diễn dưới dạng JSON
{
  "eventId": string,
  "eventName": string,
  "eventProperties": {
    string: {
      object (PropertyValue)
    },
    ...
  },
  "eventTime": string
}
Trường
eventId

string

Bắt buộc: UUID duy nhất do ứng dụng tạo cho phiên bản sự kiện cụ thể này. Dùng cho tính chất bất biến và loại bỏ trùng lặp phía máy chủ. Việc gửi một sự kiện có eventId đã được ghi lại trước đó cho cùng một trình phát sẽ bị bỏ qua.

eventName

string

Bắt buộc: Tên do ứng dụng khách xác định của sự kiện (ví dụ: "run_completed", "level_up"). Độ dài tối đa: 100 ký tự.

eventProperties

map (key: string, value: object (PropertyValue))

Không bắt buộc: Các thuộc tính khoá-giá trị cung cấp thông tin chi tiết về sự kiện. – Số lượng tài sản tối đa: 25. – Độ dài tối đa của khoá thuộc tính: 100 ký tự. – Giá trị chuỗi trong PropertyValue có độ dài tối đa là 1024 ký tự.

Một đối tượng chứa danh sách các cặp "key": value. Ví dụ: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

eventTime

string (Timestamp format)

Bắt buộc: Thời gian từ ứng dụng khi sự kiện cụ thể này được thực hiện.

Dùng RFC 3339, trong đó dữ liệu đầu ra được tạo sẽ luôn được chuẩn hoá theo múi giờ và sử dụng 0, 3, 6 hoặc 9 chữ số thập phân. Các khoảng lệch khác ngoài "Z" cũng được chấp nhận. Ví dụ: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" hoặc "2014-10-02T15:01:23+05:30".

PropertyValue

Trình bao bọc cho giá trị.

Biểu diễn dưới dạng JSON
{

  // Union field value can be only one of the following:
  "intValue": string,
  "doubleValue": number,
  "stringValue": string,
  "boolValue": boolean,
  // End of list of possible types for union field value.
}
Trường
Trường nhóm value. Giá trị của đại lượng vô hướng. value chỉ có thể là một trong những trạng thái sau:
intValue

string (int64 format)

Giá trị số nguyên.

doubleValue

number

Một giá trị kiểu double.

stringValue

string

Giá trị chuỗi.

boolValue

boolean

Một giá trị boolean.

Trạng thái

Loại Status xác định một mô hình lỗi logic phù hợp với nhiều môi trường lập trình, trong đó có API REST và API RPC. gRPC sử dụng loại này. Mỗi thông báo Status chứa 3 phần dữ liệu: mã lỗi, thông báo lỗi và thông tin cụ thể về lỗi.

Bạn có thể tìm hiểu thêm về mô hình lỗi này và cách xử lý mô hình này trong Hướng dẫn thiết kế API.

Biểu diễn dưới dạng JSON
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Trường
code

integer

Mã trạng thái, phải là giá trị enum của google.rpc.Code.

message

string

Thông báo lỗi dành cho nhà phát triển, phải bằng tiếng Anh. Mọi thông báo lỗi mà người dùng thấy đều phải được bản địa hoá và gửi trong trường google.rpc.Status.details hoặc được ứng dụng khách bản địa hoá.

details[]

object

Danh sách các thông báo chứa thông tin cụ thể về lỗi. Có một nhóm gồm nhiều loại thông báo chung để API sử dụng.

Một đối tượng chứa các trường thuộc một loại tuỳ ý. Một trường bổ sung "@type" chứa một URI xác định loại. Ví dụ: { "id": 1234, "@type": "types.example.com/standard/id" }.