Pular para o conteúdo

Quickstart de Android

Em poucos minutos o seu app Android vai ler uma feature flag de verdade — com cache durável, seguro offline, com a identidade do dispositivo gerada e armazenada para você.

Requer minSdk 26 (Android 8.0). Kotlin, com coroutines como a única família de dependências.

O SDK mora em um repositório público no GitHub — consuma-o como uma dependência de código-fonte: clone FortressFlag_SDK_android na tag v1.0.0 e adicione-o ao seu projeto como um included build do Gradle, cujo módulo de biblioteca é fortressflag.

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

Uma vez, na inicialização do app — o seu Application.onCreate é o lugar natural:

import com.fortressflag.sdk.Configuration
import com.fortressflag.sdk.Environment
import com.fortressflag.sdk.FortressFlag
FortressFlag.start(
context,
Configuration(
sdkKey = "ffc_prod_…", // da tela Chaves de SDK do seu projeto
environment = Environment.PRODUCTION,
),
)

O SDK carrega os valores em cache imediatamente e consulta mudanças em segundo plano. A chave é uma chave de cliente — ela viaja no seu app por design.

if (FortressFlag.isEnabled("new-checkout", default = false)) {
// mostre o novo checkout
}

stringValue e numberValue leem flags multivariadas do mesmo jeito, e toda leitura é servida da memória — sem I/O, sem rede, em qualquer thread de onde você chamar.

É isso — a sua flag está no ar. Ligue-a no painel e o app acompanha no próximo polling.

isEnabled, stringValue e numberValue nunca lançam exceção. Toda leitura recorre aos últimos valores que este dispositivo realmente viu — inclusive de execuções anteriores, via cache durável — e depois ao padrão do ponto de chamada. Uma queda nunca chega aos seus usuários.

Dois fatos de plataforma, antes que cheguem a uma fatura

Seção intitulada “Dois fatos de plataforma, antes que cheguem a uma fatura”

O FortressFlag cobra por dispositivo, e o Android tem dois fatos que vale conhecer de antemão:

  • Hoje a identidade é por app. Se um usuário roda três dos seus apps em um celular, isso atualmente conta como até três dispositivos — apps Android ainda não compartilham uma identidade do FortressFlag do jeito que uma família de apps iOS consegue.
  • Desinstalar o seu app apaga a identidade. O Android limpa os dados do app protegidos pelo Keystore na desinstalação, então uma reinstalação gera uma identidade nova — e conta como um dispositivo novo. (Isso difere do iOS, onde o keychain persiste.)

A identidade em si é gerada aleatoriamente e é pseudônima — nunca derivada do ANDROID_ID nem de nenhum identificador de hardware. E emuladores geram uma identidade sim_: recebem flags normalmente, nunca são cobrados.