track method
Future<void>
track(
- String trackingEventName, {
- EvaluationContext? context,
- TrackingEventDetails? trackingDetails,
Compatibility tracking API that can be awaited for transport completion.
Implementation
Future<void> track(
String trackingEventName, {
EvaluationContext? context,
TrackingEventDetails? trackingDetails,
}) async {
_metrics.trackingEvents++;
try {
final effectiveContext = _buildEffectiveContext(context);
final trackingProvider = provider;
if (trackingProvider case final ProviderTracking tracking) {
await tracking.trackEvent(
trackingEventName,
evaluationContext: effectiveContext,
trackingDetails: trackingDetails,
);
} else {
await trackingProvider.track(
trackingEventName,
evaluationContext: effectiveContext,
trackingDetails: trackingDetails,
);
}
} catch (e) {
_logger.warning('Error sending tracking event "$trackingEventName": $e');
}
}