Method: gameStats.batchRecordEvents

為特定玩家記錄一批玩家遊戲事件。這個方法可讓您在單一要求中傳送多個事件。

HTTP 要求

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

路徑參數

參數
playerId

string

必要:執行事件的玩家 ID。

要求主體

要求主體會包含結構如下的資料:

JSON 表示法
{
  "packageName": string,
  "requestTime": string,
  "events": [
    {
      object (PlayerGameEvent)
    }
  ],
}
欄位
packageName

string

必要:應用程式套件名稱 (例如「com.example.game」)。

requestTime

string (Timestamp format)

必要:用戶端提交這批特定事件的時間。

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

events[]

object (PlayerGameEvent)

必要:要記錄的玩家遊戲事件清單。每個批次要求最多可包含 30 個事件。

回應主體

成功的回應表示已處理事件批次。

如果成功,則回應內容包含具有以下結構的資料:

JSON 表示法
{
  "failedRequests": {
    integer: {
      object (Status)
    },
    ...
  }
}
欄位
failedRequests

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

失敗事件的地圖,以 BatchRecordEventsRequest.events 中的零基底索引為鍵。如果省略金鑰,表示錄製成功。

包含 "key": value 組合清單的物件,範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

授權範圍

需要下列其中一種 OAuth 範圍:

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

詳情請參閱OAuth 2.0 Overview

PlayerGameEvent

代表玩家在遊戲中觸發的單人模式遊戲事件。例如完成關卡、解鎖道具或完成賽事。

JSON 表示法
{
  "eventId": string,
  "eventName": string,
  "eventProperties": {
    string: {
      object (PropertyValue)
    },
    ...
  },
  "eventTime": string
}
欄位
eventId

string

必要:這個特定事件執行個體的專屬用戶端產生 UUID。用於伺服器端冪等和重複資料刪除。如果提交的事件與先前記錄的 eventId 相同,系統會忽略該事件。

eventName

string

必要:用戶定義的事件名稱 (例如「run_completed」、「level_up」)。長度上限為 100 個半形字元。

eventProperties

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

選用:提供事件詳細資料的鍵/值屬性。- 屬性數量上限:25 個。- 屬性鍵長度上限:100 個半形字元。- PropertyValue 內的字串值長度上限為 1024 個字元。

包含 "key": value 組合清單的物件,範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

eventTime

string (Timestamp format)

必填:用戶端執行這項特定事件的時間。

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

PropertyValue

值的包裝函式。

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.
}
欄位
聯集欄位 value。純量的值。value 只能是下列其中一項:
intValue

string (int64 format)

整數值。

doubleValue

number

雙精度值。

stringValue

string

字串值。

boolValue

boolean

布林值。

狀態

Status 類型會定義適用於不同程式設計環境 (包含 REST API 和遠端程序呼叫 (RPC) API) 的邏輯錯誤模型。gRPC 會使用這個模型。每個 Status 訊息包含三部分的資料:錯誤代碼、錯誤訊息和錯誤詳細資料。

如要進一步瞭解這個錯誤模型,以及如何使用這個錯誤模型,請參閱「API 設計指南」。

JSON 表示法
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
欄位
code

integer

狀態碼,應為 google.rpc.Code 的列舉值。

message

string

向開發人員顯示的錯誤訊息,應以英文呈現。所有面向使用者的錯誤訊息都應經過本地化,並透過 google.rpc.Status.details 欄位傳送,或是由用戶端加以本地化。

details[]

object

包含錯誤詳細資料的訊息清單。這是供 API 使用的一組常用訊息類型。

包含任意類型欄位的物件。額外的 "@type" 欄位則包含能辨識類型的 URI。範例:{ "id": 1234, "@type": "types.example.com/standard/id" }