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-представление
{

  // 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
}
Поля
Значение скалярной величины. Ниже приведён список взаимоисключающих полей. В ответе будет установлено не более одного из этих полей:
intValue

string ( int64 format)

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

doubleValue

number

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

stringValue

string

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

boolValue

boolean

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

durationValue

string ( Duration format)

Значение продолжительности.

Длительность в секундах, содержащая до девяти знаков после запятой, заканчивающаяся на « s ». Пример: "3.5s" .

Конец взаимоисключающих областей.

Статус

Тип 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" } .

,

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

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-представление
{

  // 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
}
Поля
Значение скалярной величины. Ниже приведён список взаимоисключающих полей. В ответе будет установлено не более одного из этих полей:
intValue

string ( int64 format)

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

doubleValue

number

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

stringValue

string

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

boolValue

boolean

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

durationValue

string ( Duration format)

Значение продолжительности.

Длительность в секундах, содержащая до девяти знаков после запятой, заканчивающаяся на « s ». Пример: "3.5s" .

Конец взаимоисключающих областей.

Статус

Тип 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" } .