cid_app/memory-bank/attempted-solutions.md
2026-05-02 03:00:02 +02:00

1.3 KiB

Attempted Solutions

In questo documento si tengono tracce delle soluzioni scartate o fallite, per non ripeterle in futuro.

Deserializzazione Firebase (Circostanze)

  • Problema: Firebase trasforma dizionari con chiavi numeriche sequenziali (es. la lista di checkbox delle 17 circostanze) in liste dinamiche, portando l'app a crashare in caso di cast diretto a Map.
  • Soluzione adottata: Uso della funzione statica fixCircostanze in cid_data_manager.dart per garantire la lettura unificata in Mappa. Non tentare parsing diretti as Map<String, dynamic> sulle circostanze.

Monetizzazione (Modello Abbonamento)

  • Tentativo: Inizialmente configurato con RevenueCat come abbonamento ricorrente (rinnovo automatico).
  • Esito: Modello scartato (29 Aprile 2026) a favore di un "passaggio Una-Tantum" di 1 mese.
  • Motivo: Il modulo CAI si compila raramente. Un abbonamento ricorrente causava attrito e scarsa conversione. Non reinserire logiche di recurring billing sul paywall.

Interfaccia Paywall iOS (Overflow)

  • Problema: Crash visivo "bottom overflow" su schermi iOS piccoli a causa della rigidezza del widget del paywall.
  • Soluzione adottata: Inserimento del blocco in un SingleChildScrollView. Evitare Column statiche per schermate lunghe di checkout.