initialize method
初始化原生崩溃监听
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',
),
);
}
}