initialize method
Inicializa el manager de información de la app
appName y appVersion son opcionales. Si se proporcionan, tendrán prioridad
sobre la información extraída automáticamente del paquete.
Implementation
Future<void> initialize({
String? appName,
String? appVersion,
String? buildNumber,
String? bundleIdentifier,
String? release,
}) async {
try {
ObslyLogger.debug('Initializing AppInfoCollector...');
// Guardar configuración manual
_manualAppName = appName;
_manualAppVersion = appVersion;
_manualBuildNumber = buildNumber;
_manualBundleIdentifier = bundleIdentifier;
_manualRelease = release;
// Obtener información del paquete como fallback
await _loadPackageInfo();
// Invalidar cache para forzar regeneración
_invalidateCache();
_isInitialized = true;
ObslyLogger.debug('AppInfoCollector initialized successfully');
ObslyLogger.debug('App Name: ${getAppName()} (${_manualAppName != null ? 'manual' : 'auto'})');
ObslyLogger.debug('App Version: ${getAppVersion()} (${_manualAppVersion != null ? 'manual' : 'auto'})');
} catch (e) {
ObslyLogger.error('Error initializing AppInfoCollector: $e');
_isInitialized = true; // Permitir funcionamiento con valores por defecto
}
}