Salta ai contenuti

Quickstart Android

In pochi minuti la tua app Android leggerà un feature flag vero — con cache durevole, sicura offline, con l’identità del dispositivo generata e memorizzata per te.

Richiede minSdk 26 (Android 8.0). Kotlin, con le coroutine come unica famiglia di dipendenze.

L’SDK vive in un repository pubblico su GitHub — consumalo come dipendenza dai sorgenti: clona FortressFlag_SDK_android al tag v1.0.0 e aggiungilo al tuo progetto come included build Gradle, il cui modulo libreria è fortressflag.

Terminal window
git clone --branch v1.0.0 https://github.com/FortressFlag/FortressFlag_SDK_android

Una volta, all’avvio dell’app — il tuo Application.onCreate è il posto naturale:

import com.fortressflag.sdk.Configuration
import com.fortressflag.sdk.Environment
import com.fortressflag.sdk.FortressFlag
FortressFlag.start(
context,
Configuration(
sdkKey = "ffc_prod_…", // dalla schermata Chiavi SDK del tuo progetto
environment = Environment.PRODUCTION,
),
)

L’SDK carica subito i valori in cache e fa poll per le modifiche in background. La chiave è una chiave client — viaggia nella tua app per progettazione.

if (FortressFlag.isEnabled("new-checkout", default = false)) {
// mostra il nuovo checkout
}

stringValue e numberValue leggono i flag multivariati allo stesso modo, e ogni lettura è servita dalla memoria — niente I/O, niente rete, da qualunque thread tu chiami.

Fatto — il tuo flag è online. Cambialo nella dashboard e l’app lo segue al suo prossimo poll.

isEnabled, stringValue e numberValue non lanciano mai eccezioni. Ogni lettura ricade sugli ultimi valori che questo dispositivo ha davvero visto — anche da esecuzioni precedenti, tramite la cache durevole — e poi sul valore predefinito nel punto di chiamata. Un’interruzione non raggiunge mai i tuoi utenti.

Due fatti di piattaforma, prima che arrivino in fattura

Sezione intitolata “Due fatti di piattaforma, prima che arrivino in fattura”

FortressFlag fattura per dispositivo, e Android ha due fatti che vale la pena conoscere subito:

  • Oggi l’identità è per app. Se un utente usa tre delle tue app su un telefono, al momento conta come fino a tre dispositivi — le app Android non condividono ancora un’identità FortressFlag come può fare una famiglia di app iOS.
  • Disinstallare la tua app cancella l’identità. Android elimina i dati dell’app protetti dal Keystore alla disinstallazione, quindi una reinstallazione genera un’identità nuova — e conta come un nuovo dispositivo. (È diverso da iOS, dove il keychain persiste.)

L’identità in sé è generata casualmente ed è pseudonima — mai derivata da ANDROID_ID o da qualsiasi identificatore hardware. E gli emulatori generano un’identità sim_: ricevono i flag normalmente, mai fatturati.