installationId property

String get installationId

Implementation

String get installationId {
  try {
    final prefsValue = _prefs?.getString(_installationIdKey);
    final fallbackValue = _fallbackInstallationId;

    // Si no hay valor en prefs ni fallback, generar uno inmediatamente
    if ((prefsValue == null || prefsValue.isEmpty) && (fallbackValue == null || fallbackValue.isEmpty)) {
      _fallbackInstallationId = const Uuid().v4();
      return _fallbackInstallationId!;
    }

    final result = prefsValue ?? fallbackValue ?? const Uuid().v4();
    return result.isEmpty ? const Uuid().v4() : result;
  } catch (e) {
    final result = _fallbackInstallationId ?? const Uuid().v4();
    return result.isEmpty ? const Uuid().v4() : result;
  }
}