/flagboard-android

The Feature Flag Dashboard

Primary LanguageKotlin

flagboard-android

The Feature Flag Dashboard

Flagboard has a small and familiar API that allows you to use "local" remote configurations (AKA Feature Flags) inside your app. It could be loaded from services like Firebase Remote Config or Apptimize. Also, custom feature flags can be loaded on demand.

Usage

Add Flagboard to your project in the module level build.gradle

dependencies {
    implementation 'com.github.GrinGraz:flagboard-android:Tag'
}

First, initialize Flagboard in your Application file.

Flagboard.init(applicationContext)

Then, load your feature flags into Flagboard. There is a ConflicStrategy to keep or replace when feature flags are loaded.

val mapOfFlags: Map<String, Any> = mapOf()
Flagboard.loadFlags(mapOfFlags, ConflictStrategy.Keep)

Afterward, the feature flags can be retrieved in your app with functions by value type.

val isFeatureEnabled: Boolean = Flagboard.getBoolean(stringKey)

if (isFeatureEnabled) {
    doSomethingGreat()
}

To display the Flagboards dashboard with the list of your loaded remote configuration call

Flagboard.open(context)

Then you will see this.

image

Here, you can modify the feature flags that will persist after a full restart of the app.

Also, Flagboard can be reset anywhere.

Flagboard.reset()

To retrieve the current status

Flagboard.getState()