Skip to content

Referencia completa de configuración ​

ts
MindtrainingPlatform.init('mindtraining', {
  showBackNavigation: boolean, // default: true
  showMobileGameHeader: boolean, // default: true
  showOtherGames: boolean, // default: true

  // ── Viewer ────────────────────────────────────────────────────────────────
  viewer: {
    userId: string | null,     // ID de tu usuario
    loggedIn: boolean,         // por defecto: false
    subscribed: boolean,       // por defecto: false
  },

  // ── UI ────────────────────────────────────────────────────────────────────
  ui: {
    colorScheme: 'light' | 'dark' | 'system', // default: 'light'
    mode: 'web' | 'app',       // por defecto: 'web'
    actions: {
      openLogin:       () => void,
      openRegister:    () => void,
      openSubscribe:   () => void,
      openUrl:         (url: string) => void,
      share:           (payload: { url?: string, title?: string }) => void,
    },
  },

  // ── Access ────────────────────────────────────────────────────────────────
  access: {
    games: {
      [gameType]: {
        default: {
          playToday: boolean,        // por defecto: true
          playArchive: boolean,      // por defecto: true
          viewStatistics: boolean,   // por defecto: true
          saveState: boolean,        // por defecto: true
          blockedReason: 'login_required'
                        | 'subscription_required'
                        | 'host_rule'
                        | 'variant_locked',
          blockedReasons: {
            default?: BlockedReason,
            today?:   BlockedReason,
            archive?: BlockedReason,
            statistics?: BlockedReason,
          },
          meterLimit: {
            maxStarts:    number,    // máximo de inicios de juego permitidos
            intervalDays: number,    // ventana móvil en días
          },
          levelLimit: {
            maxLevel: number,        // nivel máximo de dificultad permitido
          },
        },
        variants: {
          [variantId]: AccessPolicy, // misma forma que default
        },
      },
    },
  },
})

ui.colorScheme ​

ui.colorScheme selecciona la paleta de colores en los sitios que tienen habilitado este soporte. Los sitios compatibles incluyen Entrenamentes y Le Monde.

  • 'light' (valor predeterminado): fuerza la paleta clara.
  • 'dark': fuerza la paleta oscura.
  • 'system': sigue la preferencia del dispositivo mediante prefers-color-scheme y responde a sus cambios mientras la plataforma está montada.

Consulta Acciones de UI para ver el comportamiento del esquema de color y ejemplos de cambios durante la ejecución.

Intercepción de navegación ​

Todos los sitios heredan el callback opcional ui.actions.navigate. Recibe una solicitud serializable antes de navegar dentro del SDK y funciona en los modos web y app. Intercepción de navegación.

Client integration documentation maintained in-repo.