Method: gameStats.batchRecordEvents

Registra um lote de eventos de jogo de um jogador específico. Esse método permite enviar vários eventos em uma única solicitação.

Solicitação HTTP

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

Parâmetros de caminho

Parâmetros
playerId

string

Obrigatório. O ID do jogador que realizou os eventos.

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação JSON
{
  "packageName": string,
  "requestTime": string,
  "events": [
    {
      object (PlayerGameEvent)
    }
  ],
}
Campos
packageName

string

Obrigatório. Nome do pacote do aplicativo (por exemplo, "com.example.game").

requestTime

string (Timestamp format)

Obrigatório. O horário do cliente em que esse lote específico de eventos foi enviado.

Usa o padrão RFC 3339, em que a resposta gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

events[]

object (PlayerGameEvent)

Obrigatório. Uma lista de eventos de jogo do jogador a serem registrados. Máximo de 30 eventos por solicitação em lote.

Corpo da resposta

Uma resposta bem-sucedida indica que o lote de eventos foi processado.

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Representação JSON
{
  "failedRequests": {
    integer: {
      object (Status)
    },
    ...
  }
}
Campos
failedRequests

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

Mapa de eventos com falha, indexados pelo índice de base zero em BatchRecordEventsRequest.events. As chaves omitidas indicam uma gravação bem-sucedida.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Escopos de autorização

Requer um dos seguintes escopos do OAuth:

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

Para mais informações, consulte OAuth 2.0 Overview.

PlayerGameEvent

Uma representação de um único evento de jogo para um jogador acionado por um evento dele em um jogo. Pode ser concluir um nível, desbloquear um item ou terminar uma partida.

Representação JSON
{
  "eventId": string,
  "eventName": string,
  "eventProperties": {
    string: {
      object (PropertyValue)
    },
    ...
  },
  "eventTime": string
}
Campos
eventId

string

Obrigatório. Um UUID exclusivo gerado pelo cliente para esta instância de evento específica. Usado para idempotência e remoção de duplicação do lado do servidor. O envio de um evento com um eventId gravado anteriormente para o mesmo jogador será ignorado.

eventName

string

Obrigatório. Nome do evento definido pelo cliente (por exemplo, "run_completed", "level_up"). Comprimento máximo: 100 caracteres.

eventProperties

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

Opcional. Propriedades de chave-valor que fornecem detalhes sobre o evento. - Número máximo de propriedades: 25. - Comprimento máximo da chave da propriedade: 100 caracteres. - Comprimento máximo dos valores de string em PropertyValue: 1.024 caracteres.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

eventTime

string (Timestamp format)

Obrigatório. O horário do cliente em que esse evento específico foi realizado.

Usa o padrão RFC 3339, em que a resposta gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

PropertyValue

Wrapper para o valor.

Representação 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
}
Campos
O valor do escalar. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
intValue

string (int64 format)

Um valor inteiro.

doubleValue

number

Um valor duplo.

stringValue

string

Um valor de string.

boolValue

boolean

Um valor booleano.

durationValue

string (Duration format)

Um valor de duração.

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

Fim dos campos mutuamente exclusivos.

Status

O tipo Status define um modelo de erro lógico que é adequado a diferentes ambientes de programação, incluindo APIs REST e RPC. É usado por gRPC (em inglês). Cada mensagem Status contém três partes de dados: código do erro, mensagem de erro e detalhes do erro.

É possível descobrir mais sobre esse modelo de erro e como trabalhar com ele no Guia de design de API.

Representação JSON
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Campos
code

integer

O código de status, que precisa ser um valor de enumeração de google.rpc.Code.

message

string

Uma mensagem de erro em inglês para o desenvolvedor. Qualquer mensagem de erro para o usuário precisa ser localizada e enviada no campo google.rpc.Status.details, ou localizada pelo cliente.

details[]

object

Uma lista de mensagens com os detalhes do erro. Há um conjunto comum de tipos de mensagens para as APIs usarem.

Um objeto contendo campos de um tipo arbitrário. Um campo adicional "@type" contém uma URI que identifica o tipo. Exemplo: { "id": 1234, "@type": "types.example.com/standard/id" }.