logEvent static method

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

Log an event. Safe to call before init.

Implementation

static void logEvent(String name, {Map<String, dynamic>? params}) {
  try {
    _queue ??= MyAppCrewQueue();
    _ensureSessionId();

    final event = <String, dynamic>{
      'name': name,
      'ts': unixSeconds(),
      'sessionId': _sessionId,
    };

    final testerId = _resolvedTesterIdForEvent();
    if (testerId != null) {
      event['testerId'] = testerId;
    }
    if (_currentScreen != null) {
      event['screen'] = _currentScreen;
    }
    if (_appContext.isNotEmpty) {
      event.addAll(_appContext);
    }
    if (params != null && params.isNotEmpty) {
      event['properties'] = params;
    }

    _queue?.add(event);
    if (_config != null && _queue!.length >= _config!.flushAt) {
      unawaited(flushNow());
    }
  } catch (_) {}
}