initialize method

Future<void> initialize({
  1. String? appName,
  2. String? appVersion,
  3. String? buildNumber,
  4. String? bundleIdentifier,
  5. String? release,
})

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
  }
}