initialize method

Future<void> initialize(
  1. LoggerEngine loggerEngine,
  2. String sessionId
)

初始化原生崩溃监听

Implementation

Future<void> initialize(LoggerEngine loggerEngine, String sessionId) async {
  if (_isInitialized) return;

  _loggerEngine = loggerEngine;
  _currentSessionId = sessionId;

  try {
    // 设置方法调用处理器
    _channel.setMethodCallHandler(_handleMethodCall);

    // 初始化原生端
    final result = await _channel.invokeMethod('initialize');

    _isInitialized = true;

    if (kDebugMode) {
      debugPrint('🔧 NativeCrashService initialized: $result');
    }

    // 记录初始化事件
    _loggerEngine?.addEvent(
      SystemEvent(
        eventName: 'native_crash_service_initialized',
        sessionId: _currentSessionId,
        systemInfo: {
          'platform': Platform.operatingSystem,
          'result': result,
          'version': Platform.operatingSystemVersion,
        },
        level: 'info',
        source: 'native_crash_service',
      ),
    );
  } catch (e) {
    if (kDebugMode) {
      debugPrint('❌ Failed to initialize NativeCrashService: $e');
    }

    // 记录初始化失败事件
    _loggerEngine?.addEvent(
      SystemEvent(
        eventName: 'native_crash_service_init_failed',
        sessionId: _currentSessionId,
        systemInfo: {
          'error': e.toString(),
          'platform': Platform.operatingSystem,
        },
        level: 'error',
        source: 'native_crash_service',
      ),
    );
  }
}