initialize method

Future<void> initialize(
  1. DatadogConfiguration configuration,
  2. TrackingConsent trackingConsent
)

Initialize the DatadogSdk with the provided configuration.

Implementation

Future<void> initialize(DatadogConfiguration configuration,
    TrackingConsent trackingConsent) async {
  // First set our SDK verbosity. We can assume WidgetsFlutterBinding has been initialized at this point
  await _platform.setSdkVerbosity(internalLogger.sdkVerbosity);

  configuration.additionalConfig[DatadogConfigKey.source] = 'flutter';
  configuration.additionalConfig[DatadogConfigKey.sdkVersion] = sdkVersion;

  _setFirstPartyHosts(configuration.firstPartyHostsWithTracingHeaders);

  await _platform.initialize(configuration, trackingConsent,
      logCallback: _platformLog, internalLogger: internalLogger);

  if (configuration.loggingConfiguration != null) {
    _logs = await DatadogLogging.enable(
        this, configuration.loggingConfiguration!);
  }

  if (configuration.rumConfiguration != null) {
    _rum = await DatadogRum.enable(this, configuration.rumConfiguration!);
  }

  _initializePlugins(configuration.additionalPlugins);
  _initialized = true;
}