From 9dd5c625b72eb7c6ed122456ed8c5cde2dc3e30b Mon Sep 17 00:00:00 2001 From: Paolo Date: Fri, 1 May 2026 21:00:01 +0200 Subject: [PATCH] Auto-sync: 20260501_210000 --- lib/main.dart | 5 +++- macos/Flutter/GeneratedPluginRegistrant.swift | 2 ++ memory-bank/change-log.md | 2 ++ memory-bank/current-state.md | 4 ++++ pubspec.lock | 24 +++++++++++++++++++ pubspec.yaml | 1 + 6 files changed, 37 insertions(+), 1 deletion(-) diff --git a/lib/main.dart b/lib/main.dart index 45b052b..dfb6a2a 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -3,6 +3,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_auth/firebase_auth.dart'; +import 'package:firebase_analytics/firebase_analytics.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; // --- LIBRERIE META SDK E TRACCIAMENTO APPLE --- @@ -124,12 +125,14 @@ class _HomeScreenState extends State with RouteAware { // Mostra il popup di sistema all'utente await AppTrackingTransparency.requestTrackingAuthorization(); - // Logga l'evento della prima apertura su Facebook + // Logga l'evento della prima apertura su Facebook e Firebase facebookAppEvents.logEvent(name: 'app_opened_first_time'); + FirebaseAnalytics.instance.logAppOpen(); } } else { // Su Android non c'è il blocco ATT, possiamo loggare liberamente l'apertura facebookAppEvents.logEvent(name: 'app_opened_android'); + FirebaseAnalytics.instance.logAppOpen(); } } diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index 02223a2..81e141e 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -7,6 +7,7 @@ import Foundation import cloud_firestore import device_info_plus +import firebase_analytics import firebase_auth import firebase_core import firebase_database @@ -26,6 +27,7 @@ import webview_flutter_wkwebview func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { FLTFirebaseFirestorePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseFirestorePlugin")) DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin")) + FirebaseAnalyticsPlugin.register(with: registry.registrar(forPlugin: "FirebaseAnalyticsPlugin")) FLTFirebaseAuthPlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseAuthPlugin")) FLTFirebaseCorePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseCorePlugin")) FLTFirebaseDatabasePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseDatabasePlugin")) diff --git a/memory-bank/change-log.md b/memory-bank/change-log.md index 897fb6f..5967b4b 100644 --- a/memory-bank/change-log.md +++ b/memory-bank/change-log.md @@ -1,5 +1,7 @@ # Change Log +- **2026-05-01**: Installato il pacchetto `firebase_analytics` e configurato il tracciamento esplicito dell'evento `app_open` all'interno di `main.dart` per monitorare correttamente i download derivanti dalla campagna Google Ads. +- **2026-05-01**: Revisione delle metriche di acquisizione utenti (536 download da Ads, 306 Organici negli ultimi 90 giorni). Sospesa temporaneamente la campagna Google Ads tramite la dashboard. - **2026-04-28**: Modificato il campo "Telefono / Email" in due campi separati in `comp_6-7.dart` (Contraente) e `comp_9.dart` (Conducente) con implementazione Regex per formati internazionali ed email. Aggiornata logica `pdf_engine.dart` per stampare la stringa concatenata nel PDF e aggiornato il salvataggio locale `profilo_service.dart`. **Eseguito e validato test end-to-end** (`full_flow_test.dart`) verificando l'autocompilazione delle email, il bypass OTP e la generazione integra del file PDF. - **2026-04-28**: Risolti i bug del Paywall: aggiunto `SingleChildScrollView` per evitare il "bottom overflow" su schermi piccoli (es. iOS) e rimosso l'escape errato dell'interpolazione stringhe che nascondeva il prezzo (`\${_yearlyPackage...}`). - **2026-04-28**: Separata l'inizializzazione dell'SDK RevenueCat (`subscription_service.dart`) in due chiavi API distinte per piattaforma: una per iOS (`appl_dIdoPn...`) configurata con il certificato P8 di App Store Connect, e una per Android (`goog_DsVh...`). diff --git a/memory-bank/current-state.md b/memory-bank/current-state.md index 12dd667..9eee72d 100644 --- a/memory-bank/current-state.md +++ b/memory-bank/current-state.md @@ -14,3 +14,7 @@ L'app "CAI Facile" è in uno stato avanzato di sviluppo. Lo scambio dati remoto, ## Problemi Aperti / TODO - **Debito Tecnico**: Sono presenti variabili non formattate in `lowerCamelCase` all'interno di `lib/global_data.dart` (es. `Cod_fiscale_cond_B`). + +## Marketing / Pubblicità +- **Acquisizione Utenti (Google Ads)**: Campagna attiva dal 6 marzo al 1 maggio 2026. Risultati ultimi 90gg: 536 download da annunci e 306 organici. La campagna è stata **messa in pausa** il 1 maggio 2026 dopo aver validato il modello di acquisizione. +- **Tracking / Analytics**: Integrato `firebase_analytics` (maggio 2026) per il monitoraggio interno dei download (eventi `first_open` e `app_open`) in modo da riscontrare i dati di acquisizione di Google Ads direttamente nella dashboard di Firebase. diff --git a/pubspec.lock b/pubspec.lock index b0c1f8e..4ef57d0 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -281,6 +281,30 @@ packages: url: "https://pub.dev" source: hosted version: "7.0.1" + firebase_analytics: + dependency: "direct main" + description: + name: firebase_analytics + sha256: "4f85b161772e1d54a66893ef131c0a44bd9e552efa78b33d5f4f60d2caa5c8a3" + url: "https://pub.dev" + source: hosted + version: "11.6.0" + firebase_analytics_platform_interface: + dependency: transitive + description: + name: firebase_analytics_platform_interface + sha256: a44b6d1155ed5cae7641e3de7163111cfd9f6f6c954ca916dc6a3bdfa86bf845 + url: "https://pub.dev" + source: hosted + version: "4.4.3" + firebase_analytics_web: + dependency: transitive + description: + name: firebase_analytics_web + sha256: c7d1ed1f86ae64215757518af5576ff88341c8ce5741988c05cc3b2e07b0b273 + url: "https://pub.dev" + source: hosted + version: "0.5.10+16" firebase_auth: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index dac1b36..e2c51af 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -72,6 +72,7 @@ dependencies: sdk: flutter facebook_app_events: ^0.24.0 app_tracking_transparency: ^2.0.6+1 + firebase_analytics: ^11.6.0 dev_dependencies: flutter_test: