Quickstart web
In pochi minuti il tuo sito web leggerà un feature flag vero — con una cache durevole, una risposta fail-safe per ogni situazione e niente da gestire nel browser.
Zero dipendenze a runtime; l’intero SDK sta sotto un tetto di 10 kB gzip.
1. Installa
Sezione intitolata “1. Installa”L’SDK vive in un repository pubblico su GitHub — installalo direttamente da lì, fissato alla release:
npm install github:FortressFlag/FortressFlag_SDK_web#v1.0.0Il pacchetto si compila da solo all’installazione, e l’import qui sotto è il suo entry point.
2. Avvia l’SDK
Sezione intitolata “2. Avvia l’SDK”Una volta, presto nel bootstrap della tua pagina o app:
import { Environment, FortressFlag } from "@fortressflag/sdk-web";
FortressFlag.start({ sdkKey: "ffc_prod_…", // dalla schermata Chiavi SDK del tuo progetto environment: Environment.PRODUCTION,});start ritorna immediatamente; i valori in cache delle visite precedenti sono disponibili
subito, e i valori freschi arrivano in background. La chiave è una
chiave client — è visibile nel sorgente della tua pagina per
progettazione.
3. Leggi un flag
Sezione intitolata “3. Leggi un flag”if (FortressFlag.isEnabled("new-checkout", false)) { // renderizza il nuovo checkout}stringValue e numberValue leggono i flag multivariati allo stesso modo, e
FortressFlag.onChange ti avvisa quando i valori cambiano così puoi ri-renderizzare.
Fatto — il tuo flag è online. Cambialo nella dashboard e riapri la pagina (o aspetta un poll) per vederlo seguire.
Qui niente lancia mai eccezioni
Sezione intitolata “Qui niente lancia mai eccezioni”Nessuna chiamata di questa API lancia eccezioni, e nessuna promise che restituisce viene
rifiutata. Ogni lettura si risolve attraverso la cascata: il valore più fresco recuperato, poi
l’ultimo valore che questo browser ha registrato, poi il tuo valore predefinito, poi false.
Un’interruzione di FortressFlag, una rete morta, un ad blocker, una chiave revocata — tutti si
risolvono in un valore di flag, nessuno raggiunge il tuo codice come errore.
(Il caso dell’ad blocker è reale: alcune estensioni per la privacy bloccano le richieste dei flag. I valori in cache continuano a essere serviti, e un browser che non ha mai scaricato nulla serve i tuoi valori predefiniti — «i flag non si aggiornano con uBlock attivo» è la cascata che funziona, non un bug.)
Cosa vive nel browser, onestamente
Sezione intitolata “Cosa vive nel browser, onestamente”- L’identità del dispositivo vive in
localStorage, legata alla tua origine. È generata casualmente ed è pseudonima — e leggibile dal JavaScript della tua stessa pagina, la stessa classe di valore della chiave SDK che le sta accanto. - Le finestre private generano identità usa e getta. Ogni sessione privata conta come un dispositivo finché dura; anche un utente che cancella i dati del sito è un nuovo dispositivo. E una persona sul tuo sito web, sulla tua app iOS e sulla tua app Android è fino a tre dispositivi — non esiste alcun collegamento tra piattaforme, per scelta.
- Le tue suite di test sono gratis. I browser pilotati da Playwright, Selenium, Puppeteer
o Cypress si dichiarano, e lì l’SDK genera un’identità
sim_: ricevono i flag, mai fatturati. - I tag di versione non esistono sul web. L’SDK invia automaticamente
platformesdkVersion, ma non esiste unappVersiono unosVersionaffidabile per una pagina — una regola di targeting su quelli semplicemente non corrisponde mai a un browser.
Prossimi passi
Sezione intitolata “Prossimi passi”- Come i flag raggiungono la tua app — polling e cache
- Identità del dispositivo e fatturazione — l’identità in quella chiave di storage
- Targeting — regole, segmenti e rollout