Skip to content

Desarrollo local

Desarrollar un juego para Ecotic no requiere una cuenta real ni acceso al backend. Usa el GameCenter Tester para simular el entorno completo en tu máquina.


Flujo de desarrollo recomendado

  1. Fase 1 — Solo HTML/CSS/JS

    Desarrolla toda la mecánica del juego sin el SDK. Asegúrate de que funcione bien en el navegador antes de integrarlo.

  2. Fase 2 — Integra el SDK

    Añade el SDK y llama a start(), checkpoint() y complete() en los momentos correctos:

    game.js
    const sdk = EcoticSDK.init({
    gameSlug: 'mi-juego',
    debug: true, // logs en consola mientras desarrollas
    onReady: iniciarMenu,
    onReward: mostrarRecompensa,
    });

    Con debug: true verás en la consola (F12) cada evento que se dispara:

    [EcoticSDK] Listo. Esperando token del GameCenter...
    [EcoticSDK] Token recibido.
    [EcoticSDK] start()
    [EcoticSDK] checkpoint()
    [EcoticSDK] complete(750)
  3. Fase 3 — Valida con el GameCenter Tester

    Sirve tu juego con un servidor local y abre el GameCenter Tester:

    Terminal window
    npx serve .
    # → http://localhost:3000

    El Tester envía el token automáticamente al iframe, lo que dispara onReady() en tu juego. Juega una partida completa y verifica en el panel del Tester que aparecen: STARTED, CHECKPOINT, COMPLETED y EXIT.

    Al completar la partida, el SDK dispara onReward con una recompensa simulada (xp: 50, coins: 10) para que puedas probar tu UI de premios.

  4. Fase 4 — Envío a revisión

    Cuando el Tester muestre todos los eventos correctamente, comparte el repositorio con el equipo Ecotic. Ellos se encargan del registro en la plataforma, los dominios permitidos y el despliegue.


Probar sin iframe (token manual)

Cuando abres tu index.html directamente en el navegador sin el Tester, nunca llega ECOTIC_GAME_TOKEN. El SDK se quedará esperando — onReady nunca se llama.

La forma recomendada de probar es siempre el Tester. Si por algún motivo necesitas enviar el token manualmente, puedes hacerlo desde la consola del navegador (F12):

window.dispatchEvent(new MessageEvent('message', {
data: { type: 'ECOTIC_GAME_TOKEN', token: 'test-local' },
origin: window.location.origin,
}));

Esto dispara onReady exactamente igual que si llegara desde el GameCenter real.


Activar logs con debug: true

Añade debug: true al inicializar el SDK para ver todos los eventos en la consola:

const sdk = EcoticSDK.init({
gameSlug: 'mi-juego',
debug: true,
// ...
});

Es útil para verificar que los eventos se disparan en el orden correcto y sin duplicados.