Skip to content

Référence complète de configuration

ts
MindtrainingPlatform.init('mindtraining', {

  // ── Viewer ────────────────────────────────────────────────────────────────
  viewer: {
    userId: string | null,     // identifiant de votre utilisateur
    loggedIn: boolean,         // par défaut : false
    subscribed: boolean,       // par défaut : false
  },

  // ── UI ────────────────────────────────────────────────────────────────────
  ui: {
    mode: 'web' | 'app',       // par défaut : '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,        // par défaut : true
          playArchive: boolean,      // par défaut : true
          saveState: boolean,        // par défaut : true
          blockedReason: 'login_required'
                        | 'subscription_required'
                        | 'host_rule'
                        | 'variant_locked',
          blockedReasons: {
            default?: BlockedReason,
            today?:   BlockedReason,
            archive?: BlockedReason,
          },
          meterLimit: {
            maxStarts:    number,    // nombre maximal de démarrages autorisés
            intervalDays: number,    // fenêtre glissante en jours
          },
          levelLimit: {
            maxLevel: number,        // niveau de difficulté maximal autorisé
          },
        },
        variants: {
          [variantId]: AccessPolicy, // même structure que default
        },
      },
    },
  },
})

Client integration documentation maintained in-repo.