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ámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
payload | object | Sí | Datos 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? | Sí | No |
| ¿Otorga recompensa? | No | No |
| ¿Para qué? | Progreso del jugador | Telemetría libre |
| Payload esperado | streak, score, level… | Cualquier cosa |
Si el evento es sobre el progreso del jugador en la partida, usa checkpoint(). Si es sobre otra cosa, usa custom().