exposure method

Future<void> exposure(
  1. String flagKey
)

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}');
}