Skip to main content

Flutter Integration

Flutter Integration​

Ensure the Eppo SDK is initialized when the app is launched or resumed from the background.

Use the Flutter AppLifecycleListener to initialize the SDK when the app is launched:

// An example of an EppoObserver that initializes the SDK when the app is launched
class EppoObserver extends WidgetsBindingObserver {
@override
void didChangeAppLifecycleState(AppLifecycleState state) async {
switch (state) {
case AppLifecycleState.resumed:
// Create subject and configuration
final subject = Subject(subjectKey: 'user-identifier');
final subjectEvaluation = SubjectEvaluation(subject: subject);
final clientConfiguration = ClientConfiguration(sdkPlatform: SdkPlatform.flutter);

// Initialize the SDK
await Eppo.initialize('your-sdk-key', subjectEvaluation, clientConfiguration);
break;
}
}
}

Add the EppoObserver to the WidgetsBinding:

@override
void initState() {
super.initState();
WidgetsBinding.instance.addObserver(EppoObserver());
}

Use evaluation methods to get the value of a feature flag or experiment.

final bool variation = Eppo.getBooleanAssignment(
'<flag-key>',
false,
);