Skip to content

sdk.start()

Firma

sdk.start(payload?: Record<string, unknown>): Promise<EventResult>

Envía un evento started al servidor indicando que el jugador comenzó la partida. Solo se ejecuta una vez por sesión — las llamadas posteriores devuelven { skipped: true } sin hacer ninguna petición.


Parámetros

ParámetroTipoRequeridoDescripción
payloadobjectNoDatos adicionales sobre el inicio de la partida (modo, dificultad, etc.).

El SDK añade automáticamente game_slug al payload antes de enviarlo.


Valor de retorno

Promise<EventResult>:

interface EventResult {
event_id?: string | number | null; // ID del evento en la BD (si fue registrado)
reward?: null; // siempre null en start()
skipped?: boolean; // true si ya se había llamado antes
relayed?: boolean; // true si se envió por fallback postMessage
}

Cuándo llamarlo

Llama a start() cuando el jugador haga su primer gesto real — cuando haga clic en “Jugar”, no cuando cargue la página. Esto garantiza que la sesión solo existe cuando el jugador realmente inició.

document.getElementById('btn-jugar').addEventListener('click', async () => {
await sdk.start({ dificultad: 'normal' });
iniciarPartida();
});

Ejemplos

Mínimo

await sdk.start();

Con datos del modo de juego

await sdk.start({
modo: 'multijugador',
dificultad: 'difícil',
mapa: 'nivel_3',
});

Manejo de errores

try {
await sdk.start();
} catch (err) {
// Muestra un mensaje amigable pero no bloquees el juego.
// El servidor puede tener un error temporal.
console.warn('No se pudo registrar el inicio:', err.message);
}

Notas