Backend e account
Backend Firebase (database + account)
Dai alle app generate dall'AI un database cloud e l'accesso utenti usando il tuo progetto Firebase gratuito
1Cosa offre alla tua app#
Normalmente la tua app generata salva i dati solo sul telefono in cui è in esecuzione. Attivando Firebase, l'app ottiene un database cloud gratuito, cosÏ gli stessi dati sono visibili da qualsiasi dispositivo e (se vuoi) le persone possono registrarsi con e-mail + password.
È BRING-YOUR-OWN: l'app comunica con il TUO progetto Firebase gratuito. AppMint non ospita nulla e non ti addebita nulla in più. Incolli una configurazione una volta sola; l'AI scrive tutto il codice.
NON devi scrivere né progettare nulla: niente tabelle, niente schema, niente SQL. Firebase + AppMint se la cavano partendo dalla descrizione della tua app.
2Crea il progetto Firebase (5 min, gratis)#
Da un computer è più semplice:
- Apri console.firebase.google.com e accedi con un qualsiasi account Google.
- Tocca 'Add project' → dagli un nome qualsiasi → continua a toccare 'Continue' → salta Google Analytics → 'Create project'. Aspetta circa 30 secondi.
- Nel menu a sinistra: Databases & Storage → Firestore → 'Create database'.
- Scegli una posizione vicina ai tuoi utenti (non potrai cambiarla dopo).
- Scegli 'Start in production mode', NON 'test mode'. La modalità di test scade automaticamente dopo 30 giorni e la tua app smetterà di funzionare senza avvisi.
- Nel menu a sinistra: Sicurezza → Authentication → 'Get started' → scheda 'Sign-in method':
- Abilita 'Email/Password' (attiva il primo interruttore, salva).
- Abilita ANCHE 'Anonymous' (scorri in basso, attiva, salva): serve per le app con ospiti/classifiche.
Ecco fatto. Non c'è nessuno schema da progettare.
3Copia la tua configurazione web#
Sempre nella Firebase Console:
- Tocca l'ingranaggio ⚙️ (in alto a sinistra) → 'Project settings'.
- Scorri fino a 'Your apps' → tocca l'icona </> (web).
- Dai all'app un nickname qualsiasi → tocca 'Register app' (salta 'Firebase Hosting').
- Vedrai un frammento di codice. Copia SOLO l'oggetto firebaseConfig: tutto da { di apertura a } di chiusura.
La chiave API web è fatta per essere pubblica: i tuoi dati sono protetti dalle regole di sicurezza del passaggio 6, non dal nascondere la chiave.
const firebaseConfig = {
apiKey: "AIza...",
authDomain: "my-app.firebaseapp.com",
projectId: "my-app",
storageBucket: "my-app.appspot.com",
messagingSenderId: "123456789",
appId: "1:123:web:abc"
}; ← copy the { ... } part4Incollalo in AppMint (una volta sola)#
Apri AI Studio → Impostazioni → scorri fino a 'BACKEND - FIREBASE (OPTIONAL)':
- Incolla il firebaseConfig che hai copiato nella casella di testo grande.
- Attiva l'interruttore 'Enable Firebase backend'.
- Tocca 'Save Firebase config'. Dovresti vedere 'Saved Firebase project: <your-project-id>'.
Viene salvata cifrata sul tuo dispositivo e riutilizzata per ogni app che generi: lo fai una volta sola.
5Descrivi la tua app: all'AI pensa al resto#
Di' semplicemente cosa vuoi, con parole semplici. L'AI decide se aggiungere o meno le schermate di accesso, in base a ciò che chiedi:
- 'Un'app di note in cui ogni utente salva le proprie note' → l'AI crea registrazione/accesso + note private.
- 'Una classifica globale per un gioco di tocchi, senza account' → l'AI usa l'accesso silenzioso come ospite, punteggi pubblici, nessuna interfaccia di login.
- 'Una bacheca condivisa su cui tutti possono scrivere' → l'AI usa l'accesso come ospite, nessuna interfaccia di login.
Se il dispositivo è offline o la configurazione manca, l'app passa automaticamente all'archiviazione solo sul telefono, cosÏ non si blocca mai.
6Applica le regole di sicurezza (OBBLIGATORIO)#
Senza questo passaggio, l'app riceverà errori 'permission denied' quando prova a leggere o scrivere. L'AI scrive le regole PER TE; tu devi solo incollarle.
- Dopo aver generato la tua app, apri la vista Codice (o decomprimi il progetto scaricato) e trova il file chiamato 'firestore.rules'. Toccalo e copia TUTTO il testo.
- Nella Firebase Console: Databases & Storage → Firestore → scheda 'Rules' → tocca 'Edit rules' → elimina quello che c'è → incolla le regole dell'AI → tocca 'Publish'.
Fallo una volta per app. Le regole sono su misura per la tua app: permettono agli utenti di scrivere solo i propri dati, mentre le classifiche restano leggibili pubblicamente.
7Verifica che funzioni#
Rapido controllo dopo aver installato l'APK:
- Apri l'app sul telefono ed esegui un'azione che dovrebbe salvare dati (creare una nota, inviare un punteggio, ecc.).
- Di nuovo nella Firebase Console: Databases & Storage → Firestore → scheda 'Data' → dovresti vedere una nuova raccolta (ad es. 'notes' o 'scores') con i dati appena inseriti.
- Sicurezza → Authentication → scheda 'Users' → se la tua app usa l'accesso, il tuo account dovrebbe comparire qui.
Se non compare niente: controlla le 3 cause più comuni nel passaggio successivo.
8Se qualcosa non funziona#
Gli errori più comuni:
- 'permission-denied' o nessun salvataggio dei dati → hai dimenticato il passaggio 6 (Pubblica le regole).
- 'auth/operation-not-allowed' in registrazione/accesso → non hai abilitato Email/Password nel passaggio 2.
- 'auth/operation-not-allowed' per le app con ospiti/classifiche → non hai abilitato Anonymous nel passaggio 2.
- 'auth/operation-not-allowed' per l'accesso con Google → non hai abilitato Google E incollato la tua impronta SHA-256 (vedi il passaggio 'Aggiungi l'accesso con Google' qui sotto).
- Configurazione incollata rifiutata ('Couldn't find a { ... } config object') → incolla l'INTERO blocco { ... } comprese le parentesi graffe, non solo l'interno.
Metodi di accesso supportati nelle app generate: e-mail/password, anonimo (ospite), accesso con Google (tramite il Credential Manager nativo) e telefono/SMS (tramite reCAPTCHA). L'accesso con Facebook È supportato: inserisci il tuo Facebook App ID e Client Token nel passaggio Integra della procedura guidata (l'accesso si apre in una scheda del browser). L'accesso con Apple/Twitter NON è ancora supportato: richiede popup OAuth che Google blocca dentro la WebView di Android.
9Aggiungi l'accesso con Google (facoltativo)#
Le app generate possono usare l'accesso con Google tramite il Credential Manager nativo di Android: funziona dentro la WebView (a differenza dei popup OAuth). Configurazione una tantum per app:
- Firebase Console → Sicurezza → Authentication → scheda 'Sign-in method' → abilita 'Google'. Salva.
- Firebase Console → ⚙ Project settings → 'Your apps' → se non hai ancora registrato un'app Android, tocca 'Add app' → Android → inserisci il nome del tuo pacchetto (quello che userai in AppMint).
- Crea il tuo APK una volta in AppMint. Apri il file scaricato '<appname>_signkey_info.txt': in alto vedrai le impronte SHA-1 e SHA-256.
- Di nuovo nella Firebase Console → ⚙ Project settings → Your apps → app Android → 'Add fingerprint' → incolla lo SHA-1, poi 'Add fingerprint' ancora per lo SHA-256. Tocca 'Save'. L'accesso con Google controlla lo SHA-1: con il solo SHA-256 fallisce con 'No credentials available'. (Lo fai UNA SOLA VOLTA per app: la stessa chiave di firma viene usata per ogni build futura.)
- Pubblichi su Google Play? Play firma di nuovo la tua app con la sua chiave, quindi un'installazione da Play ha un'impronta digitale DIVERSA. Play Console → la tua app → Test e rilascio → Integrità dell'app → copia SHA-1 e SHA-256 sotto 'Certificato della chiave di firma dell'app' e aggiungili entrambi alla stessa app Android di Firebase. Se salti questo passaggio, l'accesso funziona dall'APK ma fallisce per tutti quelli che installano da Play.
- Firebase Console → ⚙ Project settings → General → scorri fino a 'Your apps' → trova la sezione Web SDK → copia il 'Web client ID' (termina con .apps.googleusercontent.com).
- Apri le Impostazioni di AppMint → incollalo in 'GOOGLE SIGN-IN - OAUTH WEB CLIENT ID'. Salva.
- Ricrea la tua app. Ora l'accesso con Google funziona.
10Aggiungi l'accesso con telefono / SMS (facoltativo)#
L'accesso con telefono usa il Firebase Web SDK + reCAPTCHA (funziona dentro la WebView). L'utente digita il numero di telefono, tocca il controllo 'Non sono un robot', riceve un codice via SMS e lo inserisce.
Configurazione:
- Firebase Console → Sicurezza → Authentication → scheda 'Sign-in method' → abilita 'Phone'. Salva.
- Non serve alcuno SHA (usiamo la verifica reCAPTCHA, non Play Integrity).
- Chiedi all'AI l'accesso con il telefono nella descrizione della tua app (ad es. 'Gli utenti accedono con il numero di telefono').
⚠️ Fatturazione: inviare SMS di verifica reali richiede ora il piano Blaze (a consumo): il piano gratuito Spark non include più una quota gratuita di SMS. Passa al piano superiore in Firebase Console → ⚙ Project settings → Usage and billing. Con Blaze, Firebase Authentication consente fino a 3.000 SMS di verifica al giorno; i prezzi degli SMS variano da paese a paese.
💡 Per testare SENZA fatturazione né SMS reali: Authentication → Settings → 'Phone numbers for testing' ti permette di aggiungere un numero di prova fisso + codice (non viene inviato alcun SMS).
11Costi: cosa aspettarsi#
Il piano gratuito 'Spark' di Firebase copre la maggior parte delle app amatoriali. Gratis al giorno:
- 50.000 letture di documenti
- 20.000 scritture
- 20.000 eliminazioni
- 1 GiB di spazio di archiviazione totale
- 10 GiB / mese di rete in uscita
Come riferimento: una piccola app di note con 100 utenti attivi fa circa 5.000 letture al giorno. La classifica di un gioco virale potrebbe superare le 50.000 letture in un'ora.
⚠️ Imposta un avviso di budget: Google Cloud Console → Billing → Budgets & alerts → imposta 'Alert me at $1'. Resti al sicuro e Firebase ti scrive via e-mail nel momento in cui l'uso inizia a costare.