记录特定玩家的一批玩家游戏事件。此方法允许在单个请求中发送多个事件。
HTTP 请求
POST https://games.googleapis.com/games/v1/players/{playerId}/gameStats:batchRecordEvents
路径参数
| 参数 | |
|---|---|
playerId |
必需:执行相应事件的玩家的 ID。 |
请求正文
请求正文将包含采用如下结构的数据:
| JSON 表示法 |
|---|
{
"packageName": string,
"requestTime": string,
"events": [
{
object ( |
| 字段 | |
|---|---|
packageName |
必需:应用软件包名称(例如“com.example.game”)。 |
requestTime |
必需:客户端提交此特定批次事件的时间。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。也支持“Z”以外的偏移量。示例: |
events[] |
必需:要记录的玩家游戏事件列表。每个批量请求最多包含 30 个事件。 |
响应正文
成功的响应表示相应批次的事件已处理完毕。
如果成功,响应正文将包含结构如下的数据:
| JSON 表示法 |
|---|
{
"failedRequests": {
integer: {
object ( |
| 字段 | |
|---|---|
failedRequests |
失败事件的映射,以它们在 包含一系列 |
授权范围
需要以下 OAuth 范围之一:
https://www.googleapis.com/auth/gameshttps://www.googleapis.com/auth/games_lite
如需了解详情,请参阅 OAuth 2.0 Overview。
PlayerGameEvent
表示由玩家在游戏中的事件触发的单人游戏事件。例如,完成关卡、解锁商品或结束对局。
| JSON 表示法 |
|---|
{
"eventId": string,
"eventName": string,
"eventProperties": {
string: {
object ( |
| 字段 | |
|---|---|
eventId |
必需:此特定事件实例的唯一客户端生成的 UUID。用于服务器端幂等性和去重。如果提交的事件具有之前为同一玩家记录的 eventId,系统会忽略该事件。 |
eventName |
必需:客户端定义的事件名称(例如“run_completed”“level_up”)。长度上限:100 个字符。 |
eventProperties |
可选:提供有关事件详细信息的键值对属性。- 属性数量上限:25。- 属性键长度上限:100 个字符。- PropertyValue 中的字符串值长度上限:1024 个字符。 包含一系列 |
eventTime |
必需:客户端执行相应特定事件的时间。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。也支持“Z”以外的偏移量。示例: |
PropertyValue
值的封装容器。
| JSON 表示法 |
|---|
{ // Union field |
| 字段 | |
|---|---|
联合字段 value。标量的值。value 只能是下列其中一项: |
|
intValue |
一个整数值。 |
doubleValue |
双精度值。 |
stringValue |
一个字符串值。 |
boolValue |
布尔值。 |
状态
Status 类型定义了适用于不同编程环境(包括 REST API 和 RPC API)的逻辑错误模型。此类型供 gRPC 使用。每条 Status 消息包含三部分数据:错误代码、错误消息和错误详细信息。
如需详细了解该错误模型及其使用方法,请参阅 API 设计指南。
| JSON 表示法 |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| 字段 | |
|---|---|
code |
状态代码,应为 |
message |
面向开发者的错误消息(应采用英语)。任何向用户显示的错误消息都应进行本地化并通过 |
details[] |
包含错误详细信息的消息列表。有一组通用的消息类型可供 API 使用。 可以包含任意类型字段的对象。附加字段 |