- Solicitud HTTP
- Parámetros de ruta
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- Permisos de autorización
- PlayerGameEvent
- PropertyValue
- Estado
- Pruébalo
Registra un lote de eventos de juego del jugador para un jugador específico. Este método permite enviar varios eventos en una sola solicitud.
Solicitud HTTP
POST https://games.googleapis.com/games/v1/players/{playerId}/gameStats:batchRecordEvents
Parámetros de ruta
| Parámetros | |
|---|---|
playerId |
Obligatorio. Es el ID del jugador que realizó los eventos. |
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
| Representación JSON |
|---|
{
"packageName": string,
"requestTime": string,
"events": [
{
object ( |
| Campos | |
|---|---|
packageName |
Obligatorio. Nombre del paquete de la aplicación (p.ej., "com.example.game"). |
requestTime |
Obligatorio. Es la fecha y hora del cliente en la que se envió este lote específico de eventos. Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: |
events[] |
Obligatorio. Es una lista de eventos de juego del jugador que se registrarán. Se pueden incluir hasta 30 eventos por solicitud por lotes. |
Cuerpo de la respuesta
Una respuesta correcta indica que se procesó el lote de eventos.
Si se ejecuta de forma correcta, el cuerpo de la respuesta contendrá datos con la siguiente estructura:
| Representación JSON |
|---|
{
"failedRequests": {
integer: {
object ( |
| Campos | |
|---|---|
failedRequests |
Es un mapa de los eventos fallidos, con clave según su índice basado en cero en Un objeto que contiene una lista de pares |
Permisos de autorización
Se necesita uno de los siguientes permisos de OAuth:
https://www.googleapis.com/auth/gameshttps://www.googleapis.com/auth/games_lite
Para obtener más información, consulta OAuth 2.0 Overview.
PlayerGameEvent
Es una representación de un evento de juego para un solo jugador que se activa por un evento del jugador en un juego. Esto puede ser completar un nivel, desbloquear un elemento o terminar una partida.
| Representación JSON |
|---|
{
"eventId": string,
"eventName": string,
"eventProperties": {
string: {
object ( |
| Campos | |
|---|---|
eventId |
Obligatorio. Es un UUID único generado por el cliente para esta instancia de evento específica. Se usa para la idempotencia y la anulación de duplicados del servidor. Se ignorará el envío de un evento con un eventId registrado anteriormente para el mismo reproductor. |
eventName |
Obligatorio. Es el nombre del evento definido por el cliente (p.ej., "run_completed", "level_up"). La longitud máxima es de 100 caracteres. |
eventProperties |
Opcional. Son propiedades de par clave-valor que proporcionan detalles sobre el evento. - Cantidad máxima de propiedades: 25 - La longitud máxima de la clave de propiedad es de 100 caracteres. - Los valores de cadena dentro de PropertyValue tienen una longitud máxima de 1,024 caracteres. Un objeto que contiene una lista de pares |
eventTime |
Obligatorio. Es la fecha y hora del cliente en la que se realizó este evento específico. Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: |
PropertyValue
Wrapper para el valor.
| Representación 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 } |
| Campos | |
|---|---|
| Es el valor del escalar. La siguiente es una lista de campos mutuamente excluyentes. Como máximo, se establecerá uno de los campos en una respuesta: | |
intValue |
Es un valor entero. |
doubleValue |
Es un valor doble. |
stringValue |
Es un valor de cadena. |
boolValue |
Un valor booleano |
durationValue |
Es un valor de duración. Una duración en segundos con hasta nueve dígitos decimales, que terminan en “ |
| Fin de los campos mutuamente excluyentes. | |
Estado
El tipo de Status define un modelo de error lógico que es adecuado para entornos de programación diferentes, incluidas las API de REST y las API de RPC. Lo usa gRPC. Cada mensaje Status contiene tres datos: código de error, mensaje de error y detalles del error.
Puedes obtener más información sobre este modelo de error y cómo trabajar con él en la guía de diseño de API.
| Representación JSON |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| Campos | |
|---|---|
code |
El código de estado, que debe ser un valor enum de |
message |
Un mensaje de error dirigido al desarrollador, que debe estar en inglés. Cualquier mensaje de error dirigido al usuario debe localizarse y enviarse al campo |
details[] |
Una lista de mensajes que contienen los detalles del error. Hay un conjunto común de tipos de mensajes para que usen las API. Un objeto que contiene campos de un tipo arbitrario. Un campo adicional |