Method: gameStats.batchRecordEvents

Erfasst eine Batch-Anfrage mit Spielerereignissen für einen bestimmten Spieler. Mit dieser Methode können mehrere Ereignisse in einer einzigen Anfrage gesendet werden.

HTTP-Anfrage

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

Pfadparameter

Parameter
playerId

string

Erforderlich: Die Spieler-ID des Spielers, der die Ereignisse ausgelöst hat.

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

JSON-Darstellung
{
  "packageName": string,
  "requestTime": string,
  "events": [
    {
      object (PlayerGameEvent)
    }
  ],
}
Felder
packageName

string

Erforderlich: Paketname der Anwendung (z.B. „com.beispiel.spiel“).

requestTime

string (Timestamp format)

Erforderlich: Die Zeit vom Client, zu der dieser bestimmte Batch mit Ereignissen gesendet wurde.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

events[]

object (PlayerGameEvent)

Erforderlich: Eine Liste der zu erfassenden Spielerereignisse. Maximal 30 Ereignisse pro Batch-Anfrage.

Antworttext

Eine erfolgreiche Antwort gibt an, dass der Batch mit Ereignissen verarbeitet wurde.

Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:

JSON-Darstellung
{
  "failedRequests": {
    integer: {
      object (Status)
    },
    ...
  }
}
Felder
failedRequests

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

Map der fehlgeschlagenen Ereignisse, nach dem nullbasierten Index in BatchRecordEventsRequest.events sortiert. Fehlende Schlüssel geben an, dass die Erfassung erfolgreich war.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Autorisierungsbereiche

Erfordert einen der folgenden OAuth-Bereiche:

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

Weitere Informationen finden Sie unter OAuth 2.0 Overview.

PlayerGameEvent

Eine Darstellung eines Einzelspielermodus-Ereignisses, das durch ein Spielerereignis in einem Spiel ausgelöst wurde. Das kann beispielsweise das Abschließen eines Levels, das Freischalten eines Artikels oder das Beenden eines Spiels sein.

JSON-Darstellung
{
  "eventId": string,
  "eventName": string,
  "eventProperties": {
    string: {
      object (PropertyValue)
    },
    ...
  },
  "eventTime": string
}
Felder
eventId

string

Erforderlich: Eine eindeutige, clientseitig generierte UUID für diese bestimmte Ereignisinstanz. Wird für die serverseitige Idempotenz und Deduplizierung verwendet. Das Senden eines Ereignisses mit einer zuvor erfassten eventId für denselben Spieler wird ignoriert.

eventName

string

Erforderlich: Clientseitig definierter Name des Ereignisses (z.B. „run_completed“, „level_up“). Maximale Länge: 100 Zeichen.

eventProperties

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

Optional: Schlüssel/Wert-Paare mit Details zum Ereignis. - Maximale Anzahl von Attributen: 25. - Maximale Länge des Attributschlüssels: 100 Zeichen. - Maximale Länge von Stringwerten in PropertyValue: 1.024 Zeichen.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

eventTime

string (Timestamp format)

Erforderlich: Die Zeit vom Client, zu der dieses bestimmte Ereignis ausgeführt wurde.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

PropertyValue

Wrapper für den Wert.

JSON-Darstellung
{

  // 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.
}
Felder
Union-Feld value. Der Wert des Skalars. Für value ist nur einer der folgenden Werte zulässig:
intValue

string (int64 format)

Ganzzahlwert.

doubleValue

number

Double-Wert.

stringValue

string

Stringwert.

boolValue

boolean

Boolescher Wert.

Status

Mit dem Typ Status wird ein logisches Fehlermodell definiert, das für verschiedene Programmierumgebungen wie REST APIs und RPC APIs geeignet ist. Dieses Modell wird von gRPC verwendet. Jede Status-Meldung enthält die folgenden drei Datenelemente: Fehlercode, Fehlermeldung und Fehlerdetails.

Weitere Informationen zu diesem Fehlermodell und zur Arbeit damit finden Sie in der API-Designanleitung.

JSON-Darstellung
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Felder
code

integer

Der Statuscode, der idealerweise ein ENUM-Wert von google.rpc.Code ist.

message

string

Eine an Entwickler gerichtete Fehlermeldung, die englischsprachig sein sollte. Jede für Nutzer sichtbare Fehlermeldung sollte lokalisiert und im Feld google.rpc.Status.details gesendet werden. Sie kann auch clientseitig lokalisiert werden.

details[]

object

Eine Auflistung aller Meldungen, die die Fehlerdetails enthalten. Es gibt einen gemeinsamen Satz von Nachrichtentypen, die APIs verwenden können.

Ein Objekt, das Felder eines beliebigen Typs enthält. Ein zusätzliches Feld "@type" enthält einen URI zur Identifizierung des Typs. Beispiel: { "id": 1234, "@type": "types.example.com/standard/id" }.