FlowConfig Flutter SDK
Update your Flutter app without releasing a new version.
Features
- 🔧 Remote Config — update any app value instantly
- 🚩 Feature Flags — control features with rollout percentages
- 🔧 Maintenance Mode — take your app offline without a release
- ⬆️ Force Update — require users to update to latest version
- 📢 Announcements — show in-app messages remotely
- 📴 Offline First — works without internet using local cache
- ⚡ Fast — single API call on startup, < 500ms from cache
Installation
Add to your pubspec.yaml:
dependencies:
flowconfig_flutter: ^1.0.0
Quick Start
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await FlowConfig.initialize(sdkKey: 'fc_prod_xxxx');
runApp(MyApp());
}
Usage
Remote Config
final title = FlowConfig.getString('app_title', defaultValue: 'My App');
final maxItems = FlowConfig.getInt('max_items', defaultValue: 10);
final showBanner = FlowConfig.getBool('show_banner', defaultValue: false);
final color = FlowConfig.getColor('primary_color', defaultValue: Colors.blue);
Feature Flags
if (FlowConfig.isEnabled('new_checkout_flow')) {
// show new experience
}
Maintenance Mode
if (FlowConfig.shouldShowMaintenance(currentVersion)) {
runApp(MaintenanceApp());
return;
}
Force Update
final status = FlowConfig.checkVersion('1.0.0');
if (status == VersionStatus.updateRequired) {
runApp(ForceUpdateApp());
return;
}
Announcements
if (FlowConfig.hasAnnouncement) {
final a = FlowConfig.currentAnnouncement!;
showDialog(context: context, builder: (_) => AnnouncementDialog(a));
}
Listen to Config Updates
FlowConfig.onConfigUpdated.listen((_) {
setState(() {}); // Rebuild with fresh config
});
Documentation
Full docs at https://flowconfig.site/docs
Support
- GitHub Issues: https://github.com/suman1607/flowconfig-flutter-SDK/issues
- Email: support@flowconfig.site