ExperimentConfig class

Configuration for the Amplitude Experiment SDK client.

Pass to Experiment.initialize or Experiment.initializeWithAmplitude to customize SDK behavior. All fields have sensible defaults defined in ExperimentConfigDefaults.

Constructors

ExperimentConfig({String instanceName = ExperimentConfigDefaults.instanceName, LogLevel logLevel = ExperimentConfigDefaults.logLevel, Variant? fallbackVariant, String? initialFlags, Map<String, Variant> initialVariants = ExperimentConfigDefaults.initialVariants, Source source = ExperimentConfigDefaults.source, ServerZone serverZone = ExperimentConfigDefaults.serverZone, String serverUrl = ExperimentConfigDefaults.serverUrl, String flagsServerUrl = ExperimentConfigDefaults.flagsServerUrl, int fetchTimeoutMillis = ExperimentConfigDefaults.fetchTimeoutMillis, bool retryFetchOnFailure = ExperimentConfigDefaults.retryFetchOnFailure, bool automaticExposureTracking = ExperimentConfigDefaults.automaticExposureTracking, bool fetchOnStart = ExperimentConfigDefaults.fetchOnStart, bool pollOnStart = ExperimentConfigDefaults.pollOnStart, bool automaticFetchOnAmplitudeIdentityChange = ExperimentConfigDefaults.automaticFetchOnAmplitudeIdentityChange, ExposureTrackingProvider? trackingProvider, UserProvider? userProvider})
Creates an ExperimentConfig with optional overrides.

Properties

automaticExposureTracking bool
Whether to automatically track exposures when ExperimentClient.variant is called.
final
automaticFetchOnAmplitudeIdentityChange bool
Whether to automatically re-fetch flags when the Amplitude identity changes.
final
fallbackVariant Variant?
The fallback variant returned when a flag has no assigned value.
final
fetchOnStart bool
Whether to fetch flags when ExperimentClient.start is called.
final
fetchTimeoutMillis int
The fetch timeout in milliseconds.
final
flagsServerUrl String
The server URL for local evaluation flag data.
final
hashCode int
The hash code for this object.
no setterinherited
initialFlags String?
JSON string of initial flag configurations to use before fetching.
final
initialVariants Map<String, Variant>
Initial variant assignments, keyed by flag key.
final
instanceName String
The name for this client instance, used to distinguish multiple clients.
final
logLevel LogLevel
The log verbosity level.
final
pigeonConfig → ExperimentConfigData
no setter
pollOnStart bool
Whether to start polling for flag updates on start.
final
retryFetchOnFailure bool
Whether to retry fetch requests on failure.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
serverUrl String
The server URL for remote evaluation.
final
serverZone ServerZone
The Amplitude data center region.
final
source Source
Where to read flag data from: local storage or initial variants.
final
trackingProvider ExposureTrackingProvider?
The exposure tracking provider for receiving exposure events.
final
userProvider UserProvider?
The user provider for automatic user context resolution.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited