call method

  1. @override
FutureOr<void> call(
  1. Hub hub,
  2. SentryFlutterOptions options
)
override

A Callable method for the Integration interface

Implementation

@override
FutureOr<void> call(Hub hub, SentryFlutterOptions options) async {
  _options = options;
  try {
    await _channel.invokeMethod<void>('initNativeSdk', <String, dynamic>{
      'dsn': options.dsn,
      'debug': options.debug,
      'environment': options.environment,
      'release': options.release,
      'enableAutoSessionTracking': options.enableAutoSessionTracking,
      'enableNativeCrashHandling': options.enableNativeCrashHandling,
      'attachStacktrace': options.attachStacktrace,
      'attachThreads': options.attachThreads,
      'autoSessionTrackingIntervalMillis':
          options.autoSessionTrackingIntervalMillis,
      'dist': options.dist,
      'integrations': options.sdk.integrations,
      'packages':
          options.sdk.packages.map((e) => e.toJson()).toList(growable: false),
      'diagnosticLevel': options.diagnosticLevel.name,
      'maxBreadcrumbs': options.maxBreadcrumbs,
      'anrEnabled': options.anrEnabled,
      'anrTimeoutIntervalMillis': options.anrTimeoutIntervalMillis,
      'enableAutoNativeBreadcrumbs': options.enableAutoNativeBreadcrumbs,
      'cacheDirSize': options.cacheDirSize,
      'sendDefaultPii': options.sendDefaultPii,
      'enableOutOfMemoryTracking': options.enableOutOfMemoryTracking,
    });

    options.sdk.addIntegration('nativeSdkIntegration');
  } catch (error) {
    options.logger(
      SentryLevel.fatal,
      'nativeSdkIntegration failed to be installed: $error',
    );
  }
}