logEvent method

Future<void> logEvent({
  1. required String name,
  2. Map<String, dynamic>? parameters,
})

Log an analytics event and track it

Implementation

Future<void> logEvent({
  required String name,
  Map<String, dynamic>? parameters,
}) async {
  try {
    await _analytics.logEvent(
      name: name,
      parameters: parameters?.map((k, v) => MapEntry(k, v)),
    );

    _analyticsLog.add(
      AnalyticsEventLog(
        timestamp: DateTime.now(),
        eventName: name,
        parameters: parameters,
      ),
    );

    if (_analyticsLog.length > _maxLogEntries) {
      _analyticsLog.removeAt(0);
    }

    _notifyListeners();
    log('📊 Analytics Event: $name | Params: $parameters');
  } catch (e) {
    log('❌ Analytics Error: $e');
  }
}