Method: gameStats.batchRecordEvents

Registra un batch di eventi di gioco del giocatore per un giocatore specifico. Questo metodo consente di inviare più eventi in un'unica richiesta.

Richiesta HTTP

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

Parametri del percorso

Parametri
playerId

string

Obbligatorio: l'ID del giocatore che ha eseguito gli eventi.

Corpo della richiesta

Il corpo della richiesta contiene dati con la seguente struttura:

Rappresentazione JSON
{
  "packageName": string,
  "requestTime": string,
  "events": [
    {
      object (PlayerGameEvent)
    }
  ],
}
Campi
packageName

string

Obbligatorio: nome del pacchetto dell'applicazione (ad es. "com.example.game").

requestTime

string (Timestamp format)

Obbligatorio: l'ora del client in cui è stato inviato questo batch specifico di eventi.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

events[]

object (PlayerGameEvent)

Obbligatorio: un elenco di eventi di gioco del giocatore da registrare. Massimo 30 eventi per richiesta batch.

Corpo della risposta

Una risposta riuscita indica che il batch di eventi è stato elaborato.

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

Rappresentazione JSON
{
  "failedRequests": {
    integer: {
      object (Status)
    },
    ...
  }
}
Campi
failedRequests

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

Mappa degli eventi non riusciti, con chiave in base all'indice in base zero in BatchRecordEventsRequest.events. Le chiavi omesse indicano una registrazione riuscita.

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Ambiti di autorizzazione

Richiede uno dei seguenti ambiti OAuth:

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

Per saperne di più, consulta la OAuth 2.0 Overview.

PlayerGameEvent

Una rappresentazione di un evento di gioco per giocatore singolo attivato dall'evento di un giocatore in un gioco. Potrebbe trattarsi del completamento di un livello, dello sblocco di un elemento o della fine di una partita.

Rappresentazione JSON
{
  "eventId": string,
  "eventName": string,
  "eventProperties": {
    string: {
      object (PropertyValue)
    },
    ...
  },
  "eventTime": string
}
Campi
eventId

string

Obbligatorio: un UUID univoco generato dal client per questa istanza di evento specifica. Utilizzato per l'idempotenza e la deduplicazione lato server. L'invio di un evento con un eventId registrato in precedenza per lo stesso giocatore verrà ignorato.

eventName

string

Obbligatorio: nome dell'evento definito dal client (ad es. "run_completed", "level_up"). Lunghezza massima: 100 caratteri.

eventProperties

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

Facoltativo: proprietà chiave-valore che forniscono dettagli sull'evento. - Numero massimo di proprietà: 25. - Lunghezza massima della chiave della proprietà: 100 caratteri. - Lunghezza massima dei valori stringa all'interno di PropertyValue: 1024 caratteri.

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

eventTime

string (Timestamp format)

Obbligatorio: l'ora del client in cui è stato eseguito questo evento specifico.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

PropertyValue

Wrapper per il valore.

Rappresentazione 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.
}
Campi
Campo unione value. Il valore dello scalare. value può essere solo uno dei seguenti tipi:
intValue

string (int64 format)

Un valore intero.

doubleValue

number

Un valore double.

stringValue

string

Un valore stringa.

boolValue

boolean

Un valore booleano.

Stato

Il tipo Status definisce un modello di errore logico adatto a diversi ambienti di programmazione, tra cui API REST e API RPC. Viene utilizzato da gRPC. Ciascun messaggio Status contiene tre tipi di dati: codice di errore, messaggio di errore e dettagli dell'errore.

Per ulteriori informazioni su questo modello di errore e su come gestirlo, consulta la Guida alla progettazione delle API.

Rappresentazione JSON
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Campi
code

integer

Il codice di stato, che deve essere un valore enum di google.rpc.Code.

message

string

Un messaggio di errore rivolto agli sviluppatori, che deve essere in inglese. Qualsiasi messaggio di errore rivolto agli utenti deve essere localizzato e inviato nel campo google.rpc.Status.details o localizzato dal client.

details[]

object

Un elenco di messaggi contenenti i dettagli dell'errore. Esiste un insieme comune di tipi di messaggi da utilizzare per le API.

Un oggetto contenente campi di tipo arbitrario. Un campo aggiuntivo "@type" contenente un URI che identifica il tipo. Esempio: { "id": 1234, "@type": "types.example.com/standard/id" }.