Method: gameStats.batchRecordEvents

Registra um lote de eventos de jogos de jogadores para um jogador específico. Esse método permite o envio de 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 saída 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 jogos de jogadores 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, com chave pelo índice de base zero em BatchRecordEventsRequest.events. As chaves omitidas indicam a gravação bem-sucedida.

Um objeto com uma lista de "key": value pares. 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 de jogador acionado por um evento de jogador em um jogo. Isso 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 essa 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 de valores de string em PropertyValue: 1024 caracteres.

Um objeto com uma lista de "key": value pares. 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 saída 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
{

  // 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.
}
Campos
Campo de união value. O valor do escalar. value pode ser apenas de um dos tipos a seguir:
intValue

string (int64 format)

Um valor inteiro.

doubleValue

number

Um valor duplo.

stringValue

string

Um valor de string.

boolValue

boolean

Um valor booleano.

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