Feature flags (SDK)
Para crear flags, targeting y mecánica de rollouts, lee la guía de feature flags. Esta página es la superficie del SDK.
Leer flags
Sección titulada «Leer flags»// Chequeo booleano — false hasta que cargan los flags, false para keys desconocidasif (kilden.isFeatureEnabled('new-checkout')) { renderNewCheckout();}
// Valor completo — flag booleano o la key de la variante de un flag multivarianteconst variant = kilden.getFeatureFlag('pricing-test'); // true | false | "variant-b" | undefinedisFeatureEnabled(key: string): boolean;getFeatureFlag(key: string): boolean | string | undefined;Los flags se cargan desde POST {apiHost}/decide en el init y se cachean en
memoria durante la sesión. Ningún getter bloquea jamás:
isFeatureEnableddevuelvefalsehasta que cargan los flags.getFeatureFlagdevuelveundefinedhasta que cargan los flags — así puedes distinguir “apagado” (false) de “todavía no cargó” (undefined). Cada flag del proyecto vuelve en cada respuesta (los inactivos comofalse), así que una key ausente después de la carga significa que el flag no existe.
onFeatureFlags()
Sección titulada «onFeatureFlags()»kilden.onFeatureFlags((flags) => { // flags: Record<string, boolean | string> setupUi(flags['new-checkout'] === true);});El callback se dispara cuando los flags cargan por primera vez, en cada recarga, e inmediatamente si te suscribes después de que ya cargaron. Úsalo para evitar renderizar antes de conocer los flags.
Cuándo se recargan los flags
Sección titulada «Cuándo se recargan los flags»Los flags se recargan automáticamente después de identify() y reset() — la
evaluación depende del distinct id, así que el SDK converge de inmediato a los
valores del nuevo id. Como el bucketing hashea el distinct id, un usuario
cerca del límite de un rollout puede legítimamente cambiar de lado al pasar de
anónimo a identificado; mira
la guía para entender
por qué.
No hay opción de bootstrap: la primera evaluación de cada carga de página es
siempre una llamada async a /decide. Condiciona la UI que depende de flags a
onFeatureFlags en lugar de asumir valores al arrancar.
Eventos de exposición
Sección titulada «Eventos de exposición»El primer acceso a un flag por sesión — por cualquiera de los dos getters
— emite un evento $feature_flag_called con $flag_key y $flag_value, que
alimenta los gráficos de exposición del panel. La deduplicación se basa en
$session_id y sobrevive recargas de página; se reinicia cuando la sesión
rota. Las keys de flags desconocidas no emiten nada.
Con el opt-out activo, /decide no se llama; los
valores cacheados siguen respondiendo.