Method: gameStats.batchRecordEvents

Записывает пакет игровых событий для конкретного игрока. Этот метод позволяет отправлять несколько событий в одном запросе.

HTTP-запрос

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

Параметры пути

Параметры
playerId

string

Обязательно: Идентификатор игрока, выполнившего действия.

Текст запроса

Тело запроса содержит данные следующей структуры:

JSON-представление
{
  "packageName": string,
  "requestTime": string,
  "events": [
    {
      object (PlayerGameEvent)
    }
  ],
}
Поля
packageName

string

Обязательно: имя пакета приложения (например, "com.example.game").

requestTime

string ( Timestamp format)

Обязательно: время, указанное клиентом при отправке данной партии событий.

Используется RFC 3339, согласно которому сгенерированный вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

events[]

object ( PlayerGameEvent )

Обязательно: Список игровых событий игрока, которые необходимо записать. Максимум 30 событий на один пакетный запрос.

Ответный текст

Успешный ответ означает, что пакет событий обработан.

В случае успеха тело ответа содержит данные следующей структуры:

JSON-представление
{
  "failedRequests": {
    integer: {
      object (Status)
    },
    ...
  }
}
Поля
failedRequests

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

Карта неудачных событий, отсортированная по их индексу, начинающемуся с нуля, в файле BatchRecordEventsRequest.events . Пропущенные ключи указывают на успешную запись.

Объект, содержащий список пар "key": value . Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

Области полномочий

Требуется один из следующих диапазонов аутентификации OAuth:

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

Для получения более подробной информации см.OAuth 2.0 Overview .

PlayerGameEvent

Изображение события в одиночной игре, запускаемого действием игрока в игре. Это может быть прохождение уровня, разблокировка предмета или завершение матча.

JSON-представление
{
  "eventId": string,
  "eventName": string,
  "eventProperties": {
    string: {
      object (PropertyValue)
    },
    ...
  },
  "eventTime": string
}
Поля
eventId

string

Обязательно: уникальный UUID, сгенерированный клиентом для данного экземпляра события. Используется для обеспечения идемпотентности и дедупликации на стороне сервера. Отправка события с ранее зарегистрированным eventId для того же игрока будет проигнорирована.

eventName

string

Обязательно: заданное клиентом имя события (например, "run_completed", "level_up"). Максимальная длина: 100 символов.

eventProperties

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

Необязательно: свойства типа «ключ-значение», предоставляющие подробную информацию о событии. - Максимальное количество свойств: 25. - Максимальная длина ключа свойства: 100 символов. - Максимальная длина строковых значений внутри PropertyValue: 1024 символа.

Объект, содержащий список пар "key": value . Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

eventTime

string ( Timestamp format)

Требуется: время, прошедшее с момента выполнения данного конкретного события клиентом.

Используется RFC 3339, согласно которому сгенерированный вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

Стоимость недвижимости

Оболочка для значения.

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.
}
Поля
value поля объединения. Скалярное значение. value может быть только одним из следующих:
intValue

string ( int64 format)

Целочисленное значение.

doubleValue

number

Двойное значение.

stringValue

string

Строковое значение.

boolValue

boolean

Логическое значение.

Статус

Тип Status определяет логическую модель ошибок, подходящую для различных сред программирования, включая REST API и RPC API. Он используется в gRPC . Каждое сообщение Status содержит три элемента данных: код ошибки, сообщение об ошибке и подробности ошибки.

Более подробную информацию об этой модели ошибок и способах работы с ней вы найдете в Руководстве по проектированию API .

JSON-представление
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Поля
code

integer

Код состояния, который должен быть значением перечисления google.rpc.Code .

message

string

Сообщение об ошибке, предназначенное для разработчика, должно быть на английском языке. Любое сообщение об ошибке, предназначенное для пользователя, должно быть локализовано и отправлено в поле google.rpc.Status.details или локализовано клиентом.

details[]

object

Список сообщений, содержащих подробную информацию об ошибке. Существует общий набор типов сообщений, используемых API.

Объект, содержащий поля произвольного типа. Дополнительное поле "@type" содержит URI, идентифицирующий тип. Пример: { "id": 1234, "@type": "types.example.com/standard/id" } .