feature_flags
This package simply allows you to activate dynamically functionnalities of your app.
Usage
Setup
Wrap your app's widget in a Features
widget.
Features(
child: MaterialApp(
/// ...
),
);
Testing if a feature is enabled
To test is a feature is currently enabled, use the Features.isFeatureEnabled
function with a unique functionnality identifier.
if (Features.isFeatureEnabled(context, 'DECREMENT')) {
/// The 'DECREMENT' feature is enabled
}
Enable or disable a feature
From the Features
widget
By updating the flags
from the Features
widget.
Features(
flags: [ 'DECREMENT' ],
child: MaterialApp(
/// ...
),
);
Enabling it locally from code
You can activate a feature by calling the Features.setFeature
function. The feature flag is saved into shared preferences and is persisted between sessions.
Features.setFeature(
context,
'DECREMENT',
true,
);
Using the debug view
The debug view allow your users to activate or deactivate any dynamic feature.
This may be useful during developpment, but it should be used carefuly.
DebugFeatures.show(
context,
availableFeatures: [
Feature('DECREMENT', name: 'Decrement'),
Feature('RESET', name: 'Reset'),
],
);