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

  // 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

double 値。

stringValue

string

文字列値。

boolValue

boolean

ブール値。

ステータス

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