sdk.checkpoint()
Firma
sdk.checkpoint(payload: Record<string, unknown>): Promise<EventResult>Envía un evento checkpoint al servidor con datos de progreso del juego. El GameCenter usa estos datos para actualizar los indicadores de misiones activas del estudiante en tiempo real.
Parámetros
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
payload | object | Sí | Datos de progreso específicos del juego. |
No hay campos obligatorios dentro del payload — envía lo que sea relevante para tu tipo de juego.
Valor de retorno
Promise<EventResult>:
interface EventResult { event_id?: string | number | null; reward?: null; // checkpoint no otorga recompensa directa relayed?: boolean;}Campos recomendados en el payload
El GameCenter reconoce estos campos para cruzarlos con las misiones activas:
| Campo | Tipo | Descripción |
|---|---|---|
streak | number | Racha actual de aciertos / acciones correctas consecutivas. |
score | number | Puntuación acumulada hasta el momento. |
level | number | Nivel o etapa actual dentro del juego. |
accuracy | number | Porcentaje de aciertos (0–100). |
correct | boolean | Si la última acción fue correcta. |
question_idx | number | Índice de la pregunta actual (para quizzes). |
Puedes añadir cualquier campo adicional — son guardados como telemetría pero no afectan misiones directamente.
Ejemplos
Quiz — después de cada respuesta
function alResponder(esCorrecta) { if (esCorrecta) { racha++; score += 200; } else { racha = 0; }
sdk.checkpoint({ streak: racha, score: score, correct: esCorrecta, question_idx: preguntaActual, });}Plataformas / acción — al completar un nivel
function alCompletarNivel(nivel, tiempo) { sdk.checkpoint({ level: nivel, tiempo_ms: tiempo, enemigos_vencidos: contadorEnemigos, });}Cada N puntos (para juegos continuos)
// Enviar checkpoint cada 500 puntosif (score % 500 === 0 && score > 0) { sdk.checkpoint({ score: score, combo: comboActual });}¿Con qué frecuencia llamarlo?
Llama a checkpoint() cuando ocurra algo significativo en el juego, no en cada frame. Guías aproximadas:
| Tipo de juego | Cuándo llamar |
|---|---|
| Quiz | Después de cada respuesta |
| Plataformas | Al completar cada nivel/etapa |
| Puzzles | Al resolver cada pieza o tablero |
| Juegos de acción | Cada N puntos o al derrotar jefes |
| Juego continuo | Máximo una vez por segundo |