Method: gameStats.batchRecordEvents

特定のプレーヤーのゲーム イベントのバッチを記録します。このメソッドを使用すると、1 つのリクエストで複数のイベントを送信できます。

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 の 0 ベースのインデックスをキーとします。キーが省略されている場合は、録画が成功したことを示します。

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

省略可。イベントの詳細を提供する Key-Value プロパティ。- プロパティの最大数: 25。- プロパティ キーの最大長: 100 文字。- PropertyValue 内の文字列値の最大長: 1,024 文字。

"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 表現
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "intValue": string,
  "doubleValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "durationValue": string
}
フィールド
スカラーの値。以下は、相互に排他的なフィールドのリストです。レスポンスに設定されるフィールドは、最大 1 つです。
intValue

string (int64 format)

整数値。

doubleValue

number

double 値。

stringValue

string

文字列値。

boolValue

boolean

ブール値。

durationValue

string (Duration format)

期間の値。

s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"。

相互に排他的なフィールドの終了。

ステータス

Status 型は、REST API や RPC API など、さまざまなプログラミング環境に適した論理エラーモデルを定義します。gRPC により使用されます。各 Status メッセージには、エラーコード、エラー メッセージ、エラーの詳細という 3 種類のデータが含まれます。

このエラーモデルと使い方について詳しくは、API 設計ガイドをご覧ください。

JSON 表現
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
フィールド
code

integer

ステータス コード。google.rpc.Code の列挙値である必要があります。

message

string

デベロッパー向けのエラー メッセージ。英語で記述します。ユーザー向けのエラー メッセージは、ローカライズして google.rpc.Status.details フィールドで送信するか、クライアントでローカライズする必要があります。

details[]

object

エラーの詳細を保持するメッセージのリスト。API が使用する共通のメッセージ タイプのセットがあります。

任意のデータ型のフィールドを含むオブジェクトであり、型を識別する URI を含むフィールド "@type" を追加できます。例: { "id": 1234, "@type": "types.example.com/standard/id" }