Feature Flags¶
Feature flags allow you to signal to Bitdrift which feature flags you have active. This will be important because your feature flags will affect how your app behaves.
The dashboard will display which feature flags were present (and which variants were active) when an issue occurs.
See the Product > Issues Feature Guide to learn more about how to navigate this information in the product.
Kotlin
import io.bitdrift.capture.Capture.Logger
import io.bitdrift.capture.FeatureFlag
// Multiple flags
val featureFlags = loadFlags().map { FeatureFlag.of(it.name, it.variant) }
Logger.setFeatureFlags(featureFlags)
// Single flag
Logger.setFeatureFlag("my-flag", "my-variant")
Logger.setFeatureFlag("my-no-variant-flag")
Java
import io.bitdrift.capture.Capture.Logger;
import io.bitdrift.capture.FeatureFlag;
// Multiple flags
List<LoadedFlag> loadedFlags = loadFlags();
List<FeatureFlag> featureFlags = new ArrayList<>(loadedFlags.size());
for(LoadedFlag flag : loadedFlags) {
featureFlags.add(new FeatureFlag(flag.name, flag.variant));
}
Logger.setFeatureFlags(featureFlags);
// Single flag
Logger.setFeatureFlag("my-flag", "my-variant");
Logger.setFeatureFlag("my-no-variant-flag", null);
Swift
import Capture
// Multiple flags
let featureFlags = loadFlags().map { return FeatureFlag(name: $0.name, variant: $0.variant) }
Logger.setFeatureFlags(featureFlags)
// Single flag
Logger.setFeatureFlag(withName: "my-flag", variant: "my-variant");
Logger.setFeatureFlag(withName: "my-no-variant-flag", variant: nil);