Method: gameStats.batchRecordEvents

Rejestruje partię zdarzeń w grze dla konkretnego gracza. Ta metoda umożliwia wysyłanie wielu zdarzeń w jednym żądaniu.

Żądanie HTTP

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

Parametry ścieżki

Parametry
playerId

string

Wymagane: identyfikator gracza, który wykonał zdarzenia.

Treść żądania

Treść żądania zawiera dane o następującej strukturze:

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

string

Wymagane: nazwa pakietu aplikacji (np. „com.example.game”).

requestTime

string (Timestamp format)

Wymagane: czas z klienta, kiedy przesłano tę konkretną partię zdarzeń.

Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" lub "2014-10-02T15:01:23+05:30".

events[]

object (PlayerGameEvent)

Wymagane: lista zdarzeń w grze, które mają zostać zarejestrowane. Maksymalnie 30 zdarzeń w żądaniu zbiorczym.

Treść odpowiedzi

Pomyślna odpowiedź oznacza, że partia zdarzeń została przetworzona.

W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:

Zapis JSON
{
  "failedRequests": {
    integer: {
      object (Status)
    },
    ...
  }
}
Pola
failedRequests

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

Mapa nieudanych zdarzeń, których kluczem jest indeks oparty na zerze w BatchRecordEventsRequest.events. Pominięte klucze oznaczają pomyślne zarejestrowanie.

Obiekt zawierający listę par "key": value. Przykład: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Zakresy autoryzacji

Wymaga jednego z tych zakresów OAuth:

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

Więcej informacji znajdziesz w OAuth 2.0 Overview.

PlayerGameEvent

Reprezentacja zdarzenia w grze dla 1 gracza wywołanego przez zdarzenie gracza w grze. Może to być ukończenie poziomu, odblokowanie przedmiotu lub zakończenie meczu.

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

string

Wymagane: unikalny identyfikator UUID wygenerowany przez klienta dla tej konkretnej instancji zdarzenia. Używany do zapewnienia idempotencji i deduplikacji po stronie serwera. Przesłanie zdarzenia z wcześniej zarejestrowanym identyfikatorem eventId dla tego samego gracza zostanie zignorowane.

eventName

string

Wymagane: nazwa zdarzenia zdefiniowana przez klienta (np. „run_completed”, „level_up”). Maksymalna długość: 100 znaków.

eventProperties

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

Opcjonalnie: właściwości klucz-wartość zawierające szczegóły zdarzenia. - Maksymalna liczba właściwości: 25. - Maksymalna długość klucza właściwości: 100 znaków. - Maksymalna długość wartości ciągu w PropertyValue: 1024 znaki.

Obiekt zawierający listę par "key": value. Przykład: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

eventTime

string (Timestamp format)

Wymagane: czas z klienta, kiedy wykonano to konkretne zdarzenie.

Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" lub "2014-10-02T15:01:23+05:30".

PropertyValue

Otoka wartości.

Zapis 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.
}
Pola
Pole unii value. Wartość skalarna. value może mieć tylko jedną z tych wartości:
intValue

string (int64 format)

Wartość całkowita.

doubleValue

number

Wartość podwójna.

stringValue

string

Wartość ciągu.

boolValue

boolean

Wartość logiczna.

Stan

Typ Status definiuje model błędu logicznego, który jest odpowiedni dla różnych środowisk programistycznych, w tym interfejsów API typu REST i RPC. Jest używany przez gRPC. Każdy komunikat Status zawiera 3 rodzaje danych: kod błędu, komunikat o błędzie i szczegóły błędu.

Więcej informacji o tym modelu błędów i sposobie pracy z nim znajdziesz w przewodniku API Design Guide.

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

integer

Kod stanu, który powinien być wartością wyliczeniową google.rpc.Code.

message

string

Komunikat o błędzie widoczny dla programisty, który powinien być w języku angielskim. Wszelkie komunikaty o błędach dla użytkowników powinny być zlokalizowane i wysyłane w polu google.rpc.Status.details lub zlokalizowane przez klienta.

details[]

object

Lista wiadomości zawierających szczegóły błędu. Istnieje wspólny zestaw typów wiadomości, których mogą używać interfejsy API.

Obiekt zawierający pola dowolnego typu. Dodatkowe pole "@type" zawiera identyfikator URI określający typ. Przykład: { "id": 1234, "@type": "types.example.com/standard/id" }.