exposure method
Track exposure event - NECESSARY exposureTrackerProvider
Implementation
Future<void> exposure(String flagKey) async {
final exposureTrackerProvider = _config?.exposureTrackingProvider;
final sourceAndVariant = _getSourceAndVariant(flagKey);
final source = sourceAndVariant?.source;
final variant = sourceAndVariant?.variant;
final instanceName = _getInstanceName();
if (source != null &&
isFallback(source) &&
exposureTrackerProvider != null &&
variant == null) {
await exposureTrackerProvider.exposure(flagKey, null, instanceName);
} else if (variant != null && exposureTrackerProvider != null) {
await exposureTrackerProvider.exposure(flagKey, variant, instanceName);
}
_log(
'[Experiment] Exposure event logged for $flagKey with variant: ${variant?.value}');
}