initialize method

  1. @override
Future<void> initialize({
  1. required AnalyticsSettings settings,
})
override

Implementation

@override
Future<void> initialize({required AnalyticsSettings settings}) async {
  super.initialize(settings: settings);

  providerName = "sentry_analytics";

  if (!settings.enabled) {
    logger.debug(this, '$providerName: Analytics is disabled');
    setIsReady(isReady: false);
    return;
  }

  if (!Sentry.isEnabled) {
    logger.warning(
      this,
      '$providerName: Sentry is not initialized. '
      'Sentry must be pre-initialized by the ObservabilityManager.',
    );
    setIsReady(isReady: false);
    return;
  }

  try {
    logger.debug(
      this,
      '$providerName: Sentry is already initialized, using existing instance',
    );
    instance = Sentry.clone();
    observer ??= SentryNavigatorObserver();
    setIsReady(isReady: true);
    logger.debug(
      this,
      "$providerName: Initialized successfully, app:$appId:$instanceId:$instance",
    );
  } catch (e) {
    logger.error(
      this,
      '$providerName: Failed to initialize: $e',
      error: e,
      stackTrace: StackTrace.current,
    );
    setIsReady(isReady: false);
  }
}