ConfigBee Flutter SDK
Dynamic feature flags and configuration management for Flutter applications.
Website | Documentation | Flutter SDK Docs
About
The ConfigBee Flutter SDK lets you integrate feature flags and remote configuration into your Flutter app. Control your app's behavior without redeploying.
Key Features
- 🚀 Easy integration with Flutter (iOS, Android, Web, Desktop)
- 🎯 User targeting with custom properties
- 🔄 Real-time feature flag updates via Server-Sent Events (SSE)
- 📊 Multiple value types (boolean flags, numbers, text, JSON)
- 🧩 Flutter-native widgets:
ConfigbeeProvider,ConfigbeeBuilder,ConfigbeeFlag - 💾 Local caching for offline support
- ⚡ Automatic retry and fallback mechanisms
Status
⚠️ This SDK is currently in alpha. APIs may change before the stable release.
Installation
flutter pub add configbee_flutter
💡 If the above doesn't install the latest version, specify it explicitly:
flutter pub add 'configbee_flutter:^0.0.1-alpha.0'
Usage
📖 For the full documentation, visit docs.configbee.com/client-sdks/flutter/
import 'package:configbee_flutter/configbee_flutter.dart';
void main() {
final cb = ConfigbeeClient.init(
ConfigbeeClientParams(
accountId: "YOUR_ACCOUNT_ID",
projectId: "YOUR_PROJECT_ID",
environmentId: "YOUR_ENVIRONMENT_ID",
),
);
runApp(ConfigbeeProvider(client: cb, child: const MyApp()));
}
ConfigbeeFlag — declarative flag-based widget switching
ConfigbeeFlag(
flagKey: 'new_checkout_ui',
onEnabled: const NewCheckoutPage(),
onDisabled: const OldCheckoutPage(),
onLoading: const CircularProgressIndicator(),
)
ConfigbeeBuilder — reactive access to all config values
ConfigbeeBuilder(
builder: (context, status, client) {
if (status != CbStatus.active) return const CircularProgressIndicator();
return Text(client.getText('welcome_message') ?? 'Welcome!');
},
)
Direct client access
final cb = ConfigbeeProvider.of(context);
bool? isEnabled = cb.getFlag('new_feature');
num? maxRetries = cb.getNumber('max_retries');
String? apiEndpoint = cb.getText('api_endpoint');
Map<String, dynamic>? theme = cb.getJson('theme_config');
Targeting
// On login
cb.setTargetProperties({'user_id': '12345', 'plan': 'premium'});
// On logout
cb.unsetTargetProperties();
Platform Support
| Platform | Supported |
|---|---|
| Android | ✅ |
| iOS | ✅ |
| Web | ✅ |
| macOS | ✅ |
| Windows | ✅ |
| Linux | ✅ |