initialize method
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);
// Logs are not supported by the FlashCat platform. Clear the
// configuration before it reaches the native SDKs so logging is never
// enabled on any platform.
if (configuration.loggingConfiguration != null) {
internalLogger.warn(
'Logs are not supported by the FlashCat platform.'
' The provided loggingConfiguration will be ignored and no logs will be sent.',
);
configuration.loggingConfiguration = null;
}
await _platform.initialize(
configuration,
trackingConsent,
logCallback: _platformLog,
internalLogger: internalLogger,
);
if (configuration.rumConfiguration != null) {
_rum = await DatadogRum.enable(this, configuration.rumConfiguration!);
}
_initializePlugins(configuration.additionalPlugins);
_initialized = true;
}