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 规范化(即转换为 UTC 零时区格式并在末尾附加 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 规范化(即转换为 UTC 零时区格式并在末尾附加 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" }