configbee_flutter 0.0.1-alpha.0 copy "configbee_flutter: ^0.0.1-alpha.0" to clipboard
configbee_flutter: ^0.0.1-alpha.0 copied to clipboard

Flutter SDK for Configbee - A feature flags and remote configuration management client library

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/ Documentation

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

Resources #