Skip to content

sdk.custom()

Firma

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

Envía un evento de tipo custom al servidor. No activa recompensas ni afecta misiones directamente — es útil para registrar métricas específicas de tu juego que quieras analizar después.


Parámetros

ParámetroTipoRequeridoDescripción
payloadobjectDatos libres. No hay campos obligatorios.

Valor de retorno

Promise<EventResult>:

interface EventResult {
event_id?: string | number | null;
reward?: null; // siempre null en custom()
relayed?: boolean;
}

Cuándo usarlo

Usa custom() para eventos que son específicos de tu juego y que quieres registrar sin que sean checkpoints de misión ni finales de sesión:

  • Cuando el jugador usa una ayuda o pista.
  • Cuando el jugador pausa la partida.
  • Cuando elige una dificultad o modo.
  • Cuando comete un tipo específico de error.
  • Para A/B testing de mecánicas.

Ejemplos

Registrar uso de ayuda

botonAyuda.addEventListener('click', () => {
sdk.custom({
evento: 'ayuda_usada',
pregunta: preguntaActual,
tipo: 'pista_50_50',
});
mostrarAyuda();
});

Registrar pausa

document.addEventListener('visibilitychange', () => {
if (document.hidden) {
sdk.custom({ evento: 'pausa', tiempo_transcurrido_ms: tiempoTranscurrido });
}
});

Telemetría de errores de juego

try {
iniciarNivel(nivel);
} catch (error) {
sdk.custom({
evento: 'error_juego',
nivel: nivel,
msg: error.message,
});
}

Diferencia entre checkpoint() y custom()

checkpoint()custom()
¿Actualiza misiones?No
¿Otorga recompensa?NoNo
¿Para qué?Progreso del jugadorTelemetría libre
Payload esperadostreak, score, levelCualquier cosa

Si el evento es sobre el progreso del jugador en la partida, usa checkpoint(). Si es sobre otra cosa, usa custom().