trackEvent method

Future<void> trackEvent(
  1. dynamic event
)

Trackea un evento (compatible con ObslyEvent y Map)

Implementation

Future<void> trackEvent(dynamic event) async {
  if (!_isStarted) {
    ObslyLogger.warn('EventController not started, dropping event');
    return;
  }

  try {
    ObslyEvent obslyEvent;

    if (event is ObslyEvent) {
      obslyEvent = event;
    } else if (event is Map<String, dynamic>) {
      obslyEvent = ObslyEvent.fromJson(event);
    } else {
      ObslyLogger.error('Invalid event type: ${event.runtimeType}');
      return;
    }

    // Process event through rate limiter
    await RateLimitController.instance.processEvent(obslyEvent);
  } catch (e, stackTrace) {
    ObslyLogger.error('Failed to track event: $e', e, stackTrace);
  }
}