Utilidades
sdk.isReady()
sdk.isReady(): booleanRetorna true si el SDK ya recibió el token del GameCenter y está listo para enviar eventos.
Cuándo usarlo: antes de llamar a start() o complete() si quieres verificar que el SDK está listo sin depender del callback onReady.
// Habilitar el botón solo cuando el SDK está listosetInterval(() => { document.getElementById('btn-jugar').disabled = !sdk.isReady();}, 200);En la mayoría de los casos, onReady es más limpio que hacer polling con isReady().
sdk.getToken()
sdk.getToken(): stringRetorna el token de sesión actual. Retorna una cadena vacía si aún no se recibió el token.
Cuándo usarlo: en casos avanzados donde necesitas el token para hacer llamadas directas a la API desde tu propio código, o para pasarlo a otro servicio.
// Solo después de onReadyconst token = sdk.getToken();console.log('Token actual:', token.substring(0, 8) + '...');No necesitas el token para usar los métodos del SDK (
start,checkpoint,complete, etc.) — ellos lo usan internamente.
sdk.destroy()
sdk.destroy(): voidElimina el listener de message que el SDK registró en window. Útil si gestionas el ciclo de vida del juego manualmente y quieres liberar memoria.
Cuándo usarlo: en aplicaciones de página única (SPA) donde el componente de juego puede montarse y desmontarse varias veces.
// En React — limpiar al desmontar el componenteuseEffect(() => { const sdk = EcoticSDK.init({ gameSlug: 'mi-juego', ... }); setSdk(sdk);
return () => { sdk.destroy(); };}, []);Si usas
sdk.exit()al cerrar el juego, no es necesario llamar también adestroy().exit()ya maneja el cierre limpio. Usadestroy()solo cuando necesitas desmontar el SDK sin cerrar el iframe.