initialize method

void initialize(
  1. String apiKey, [
  2. dynamic userId
])

Implementation

void initialize(String apiKey, [dynamic userId]) {
  try {
    if (_preInitQueue.isNotEmpty) {
      final payload = LogPayload(
        orgId: 'UNINITALIZED',
        eventData: ErrorEvent(
          message: "SDK Initialization Failed: Required parameter 'api_key' is invalid",
          componentName: 'ErrorTrackingService',
          additionalInfo: {'preInitError': true, 'timestamp': DateTime.now().millisecondsSinceEpoch},
          timestamp: DateTime.now().millisecondsSinceEpoch,
        ),
        metadata: getSystemInfo({'os': defaultTargetPlatform.name, 'browser': 'Flutter'}),
        eventType: EventType.error,
        userId: userId,
      );
      sendLog(payload).catchError((e) => logError('Send log error:', e));
    }
    _apiKey = apiKey;
    _userId = userId;
    _isInitialized = true;
    _processPreInitQueue();
  } catch (e) {
    logError('Error during ErrorTrackingService initialization:', e);
    _preInitQueue.add({
      'error': e is Exception ? e : Exception(e.toString()),
      'componentName': 'ErrorTrackingService',
      'additionalInfo': {'apiKey': apiKey, 'userId': userId},
    });
  }
}