execute method

  1. @override
Future<RawEvent?> execute(
  1. RawEvent event
)
override

Implementation

@override
Future<RawEvent?> execute(RawEvent event) async {
  final analytics = this.analytics;
  if (analytics == null ||
      !SessionPluginHelper.isEnabled(analytics.state.configuration.state)) {
    return event;
  }

  final currentTime = now();
  final config = analytics.state.configuration.state;
  final result = await _sessionStateCoordinator.processEvent(
    sessionStateStore: analytics.state.sessionState,
    config: config,
    now: currentTime,
    messageId: event.messageId ?? '',
    timestamp: event.timestamp ??
        DateTime.fromMillisecondsSinceEpoch(currentTime, isUtc: true)
            .toIso8601String(),
  );

  event.context = _addSessionContext(event.context, result.contextSession);
  return event;
}