Rivium Flutter Flags

Feature Flags SDK for Flutter - Lightweight feature flag management with Rivium. Pure Dart, works on all platforms (iOS, Android, Web, macOS, Windows, Linux).

Features

  • Feature flag evaluation with server-side and local fallback
  • Offline support with local caching
  • Rollout percentage targeting
  • User attribute targeting rules
  • Multivariate flags with weighted variants
  • Environment overrides (development, staging, production)

Installation

dependencies:
  rivium_flutter_flags: ^0.1.0
flutter pub get

Quick Start

import 'package:rivium_flutter_flags/rivium_flutter_flags.dart';

// Initialize
final flags = await RiviumFeatureFlags.init(
  RiviumFeatureFlagsConfig(apiKey: 'rv_live_xxx'),
);

// Set user ID for rollout targeting
await flags.setUserId('user-123');

// Check if a feature is enabled
if (await flags.isEnabled('dark-mode')) {
  // Show dark mode
}

// Get flag value
final value = await flags.getValue('banner-text', defaultValue: 'Welcome');

// Set user attributes for targeting rules
flags.setUserAttributes({'plan': 'pro', 'country': 'US'});

// Refresh flags from server
await flags.refresh();

Environment Overrides

final flags = await RiviumFeatureFlags.init(
  RiviumFeatureFlagsConfig(
    apiKey: 'rv_live_xxx',
    environment: 'staging', // or 'development', 'production'
  ),
);

Multivariate Flags

final result = await flags.evaluate('checkout_flow');
print(result.enabled);  // true/false
print(result.value);    // variant value
print(result.variant);  // variant key

License

MIT

Libraries

rivium_flutter_flags
RiviumFeatureFlags - Standalone Feature Flags SDK for Flutter