EcoticSDK.init()
Firma
EcoticSDK.init(config: EcoticGameConfig): EcoticGameCrea una instancia de EcoticGame, registra el listener de postMessage y comienza a esperar el token del GameCenter. Retorna la instancia con todos los métodos disponibles.
Parámetros
config (objeto requerido)
| Propiedad | Tipo | Requerido | Descripción |
|---|---|---|---|
gameSlug | string | Sí | Slug del juego tal como está registrado en la tabla games de Ecotic. |
parentOrigin | string | No | Origin del GameCenter. El equipo Ecotic lo configura al registrar el juego — no hace falta que lo definas tú. |
apiBase | string | No | URL base de la API. El GameCenter la envía automáticamente via postMessage. No hace falta configurarla. |
debug | boolean | No | Activa logs detallados en la consola del navegador. Útil durante desarrollo. Por defecto false. |
onReady | function | No | Callback llamado cuando el SDK recibe el token y está listo para enviar eventos. Recibe (token: string, apiBase: string). |
onError | function | No | Callback llamado ante cualquier error de API o de validación. Recibe (error: Error). |
onReward | function | No | Callback llamado tras un complete() exitoso. Recibe (reward: GameReward). |
Valor de retorno
Una instancia de EcoticGame con los métodos:
Ejemplos
Configuración mínima
const sdk = EcoticSDK.init({ gameSlug: 'mi-juego',});Configuración con callbacks
const sdk = EcoticSDK.init({ gameSlug: 'mi-juego', debug: true,
onReady(token, api) { console.log('SDK listo'); habilitarBotonJugar(); },
onReward(reward) { mostrarBanner({ xp: reward.xp, coins: reward.coins, walletBalance: reward.wallet_balance, }); },
onError(err) { console.error('Error del SDK:', err.message); // No bloquear la UI — el error es informativo },});Con TypeScript
import EcoticSDK, { type EcoticGameConfig, type GameReward } from './lib/ecotic-sdk.js';
const config: EcoticGameConfig = { gameSlug: 'mi-juego', onReady: (_token, api) => console.log('API:', api), onReward: (r: GameReward) => mostrarRecompensa(r), onError: (e: Error) => console.error(e),};
const sdk = EcoticSDK.init(config);