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 code100. - 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 discussoEUR 4,99; - base plan annuale:
yearly, prezzo discussoEUR 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
.lmekeydella 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,AndroidSigningKeyPasseAndroidSigningStorePasssolo 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_procon i base planmonthlyeyearlye 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.