Skip to content

Referência completa de configuração ​

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

  // ── Viewer ────────────────────────────────────────────────────────────────
  viewer: {
    userId: string | null,     // ID do seu utilizador
    loggedIn: boolean,         // predefinido: false
    subscribed: boolean,       // predefinido: false
  },

  // ── UI ────────────────────────────────────────────────────────────────────
  ui: {
    colorScheme: 'light' | 'dark' | 'system', // default: 'light'
    mode: 'web' | 'app',       // predefinido: '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,        // predefinido: true
          playArchive: boolean,      // predefinido: true
          viewStatistics: boolean,   // predefinido: true
          saveState: boolean,        // predefinido: 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 inícios de jogo permitidos
            intervalDays: number,    // janela móvel em dias
          },
          levelLimit: {
            maxLevel: number,        // nível máximo de dificuldade permitido
          },
        },
        variants: {
          [variantId]: AccessPolicy, // mesma estrutura de default
        },
      },
    },
  },
})

ui.colorScheme ​

ui.colorScheme seleciona a paleta de cores nos sites em que esta funcionalidade está ativada. Os sites compatíveis incluem Entrenamentes e Le Monde.

  • 'light' (predefinição): força a paleta clara.
  • 'dark': força a paleta escura.
  • 'system': segue a preferência do dispositivo através de prefers-color-scheme e reage às alterações enquanto a plataforma está montada.

Consulte Ações de UI para conhecer o comportamento do esquema de cores e exemplos de alterações durante a execução.

Interceção de navegação ​

Todos os sites herdam o callback opcional ui.actions.navigate, que recebe um pedido serializável antes da navegação do SDK, nos modos web e app. Interceção de navegação.

Client integration documentation maintained in-repo.