Files
LMEMappeCatastaliProApp/PLAY_STORE_PRO_CHECKLIST.md
T

4.6 KiB

LME Mappe Catastali Pro - Play Store Checklist

Identita app

  • Nome: LME Mappe Catastali Pro.
  • Package name Android: it.liviomerola.lmemappecatastali.pro.
  • Versione iniziale Play: 1.0.0 / version code 100.
  • Formato Release Android: Android App Bundle (.aab).
  • Target SDK Release: Android 16 / API 36.

Base e Pro

La separazione e centralizzata in Services/EntitlementService.cs.

Base gratuita:

  • consultazione mappa catastale;
  • ricerca localita e ricerca catastale;
  • GPS live;
  • disegni e misure base;
  • apertura e consultazione dei dati gia presenti.

Pro:

  • archivio progetti;
  • export GIS/PDF/GPX;
  • sincronizzazione WebDAV;
  • mappe offline;
  • strumenti geometrici avanzati;
  • traccia GPS.

Se l'abbonamento non risulta verificabile offline, l'app conserva una tolleranza locale e non elimina, sequestra o altera i dati dell'utente. Le funzioni Pro possono essere disabilitate, ma i dati esistenti devono restare consultabili.

Google Play Billing

Configurare nella Play Console un unico prodotto in abbonamento:

  • product id: lme_pro;
  • base plan mensile: monthly, prezzo discusso EUR 4,99;
  • base plan annuale: yearly, prezzo discusso EUR 39,99.

Il codice contiene solo identificativi di prodotto e base plan. Non inserire chiavi casuali, segreti, service account, keystore o password nel repository.

Il client Android usa Google Play Billing 9.1 tramite Xamarin.Android.Google.BillingClient 9.1.0.2. Acquisto, ripristino, acknowledgement e interrogazione delle sottoscrizioni sono collegati a EntitlementService.

Prima della produzione serve ancora la verifica server-side dei purchase token. La verifica solo sul dispositivo e adatta ai test interni, ma non e sufficiente come protezione definitiva.

Licenze manuali

  • Codice opaco cifrato AES-GCM e firmato RSA 3072, inseribile nelle impostazioni dell'app.
  • Registro SQLite con nome, cognome, email, emissione, scadenza, hash, note e revoca amministrativa.
  • Ritorno automatico a Base alla scadenza, salvo abbonamento Google ancora valido.
  • Nessun vincolo al PC emittente o al dispositivo destinatario.
  • Backup portabile .lmekey della chiave privata, cifrato da password, per l'uso da altri sistemi o utenti Windows.

Dettagli operativi e limiti della revoca offline sono in MANUAL_LICENSES.md.

Firma Android

Usare Play App Signing.

Da fare fuori repository:

  • creare upload key e keystore in una cartella privata;
  • salvare password in secret manager, variabili ambiente o CI secret;
  • configurare AndroidSigningKeyStore, AndroidSigningKeyAlias, AndroidSigningKeyPass e AndroidSigningStorePass solo in ambiente locale/CI;
  • caricare la upload certificate nella Play Console quando richiesto.

Privacy e permessi

Permessi Android dichiarati:

  • Internet e stato rete;
  • posizione approssimativa e precisa;
  • Billing.

La privacy policy deve spiegare:

  • uso GPS e posizione per mappa, particelle, tracce e misure;
  • uso rete per mappe, servizi catastali pubblici, geocoding, sync WebDAV e aggiornamenti;
  • gestione locale di progetti, backup, mappe offline e preferenze;
  • eventuali chiavi personali Google/Azure salvate nel SecureStorage del dispositivo;
  • acquisti gestiti da Google Play.

Localizzazione e misure

La localizzazione applicativa e in Services/AppLocalizationService.cs.

Lingue iniziali:

  • Italiano;
  • Inglese.

Sistemi di misura:

  • automatico in base all'area;
  • metrico;
  • imperiale.

La mappa JavaScript riceve cultura e sistema di misura tramite lmeMap.setLocalization(...); distanze, superfici e Leaflet Draw vengono formattati di conseguenza.

Build Release

Esempio locale, con Android SDK installato:

dotnet publish -f net10.0-android -c Release -p:AndroidSdkDirectory=C:\Users\livio\AppData\Local\Android\Sdk

Per firmare aggiungere solo parametri esterni o variabili ambiente, mai valori nel file .csproj.

Per creare APK e AAB di test con una chiave locale separata:

.\scripts\build-android-test.ps1

La chiave di test non deve essere usata come upload key del Play Store.

Interventi richiesti sull'account Google

  • aprire o confermare l'account sviluppatore Play Console;
  • creare l'app con package it.liviomerola.lmemappecatastali.pro;
  • creare lme_pro con i base plan monthly e yearly e impostarne prezzi e paesi;
  • attivare Play App Signing e creare una upload key di produzione;
  • configurare tester, traccia di test interno e account licenza;
  • predisporre credenziali e servizio per la verifica server-side dei purchase token;
  • pubblicare la privacy policy su un URL pubblico e completare Data safety, scheda store e classificazione contenuti.