Method: gameStats.batchRecordEvents

Zeichnet eine Reihe von Spieler-Spielereignissen für einen bestimmten Spieler auf. 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 ausgeführt 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, zu der dieser bestimmte Batch von Ereignissen vom Client 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 Spieler-Spielereignisse, die aufgezeichnet werden sollen. Maximal 30 Ereignisse pro Batchanfrage.

Antworttext

Eine erfolgreiche Antwort gibt an, dass der Batch von 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))

Karte der fehlgeschlagenen Ereignisse, die nach ihrem nullbasierten Index in BatchRecordEventsRequest.events sortiert sind. Ausgelassene Schlüssel weisen auf eine erfolgreiche Aufzeichnung hin.

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 Einzelspieler-Spielereignisses, das durch ein Ereignis eines Spielers in einem Spiel ausgelöst wird. Das kann zum Beispiel das Abschließen eines Levels, das Freischalten eines Gegenstands oder das Beenden eines Spiels sein.

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

string

Erforderlich. Eine eindeutige vom Client generierte UUID für diese bestimmte Ereignisinstanz. Wird für die serverseitige Idempotenz und Deduplizierung verwendet. Wenn Sie ein Ereignis mit einer zuvor aufgezeichneten eventId für denselben Player einreichen, wird es ignoriert.

eventName

string

Erforderlich. Vom Client 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 Eigenschaftenschlüssels: 100 Zeichen. – String-Werte in PropertyValue: maximale Länge 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, zu der dieses bestimmte Ereignis vom Client 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
{

  // 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
}
Felder
Der Wert des Skalars. Im Folgenden finden Sie eine Liste von sich gegenseitig ausschließenden Feldern. In einer Antwort wird höchstens eines der Felder festgelegt:
intValue

string (int64 format)

Ein Ganzzahlwert.

doubleValue

number

Ein Double-Wert.

stringValue

string

Ein Stringwert.

boolValue

boolean

Ein boolescher Wert.

durationValue

string (Duration format)

Ein Wert für die Dauer.

Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit „s“. Beispiel: "3.5s".

Ende der sich gegenseitig ausschließenden Felder.

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