Aggiungere Cloud Firestore e l'autenticazione all'app Google AI Studio

La modalità di creazione in Google AI Studio può configurare e integrare automaticamente Cloud Firestore e Firebase Authentication nelle app web, il che semplifica la creazione di app con archiviazione permanente dei dati e flussi di accesso sicuri. Con un solo prompt e pochi clic, consenti all'agente Google AI Studio di configurare un progetto Firebase, connettere la tua app a questo progetto e generare tutto il codice Cloud Firestore e Authentication direttamente nella tua app.

Panoramica: aggiungere un backend all'app Google AI Studio

  1. Descrivi la tua idea: crea una nuova app in Google AI Studio e descrivi una funzionalità che richiede un database o l'autenticazione. Ad esempio, potresti inserire il prompt: Build a shared to-do list app using Firebase as a backend.

  2. Attiva l'integrazione Firebase: nella scheda visualizzata, puoi personalizzare la configurazione:

    • Seleziona una località (facoltativo): scegli la località per il tuo database e la tua app utilizzando il menu a discesa della località.
    • (Facoltativo) Seleziona un progetto: fai clic sull'icona Impostazioni , seleziona il progetto Google Cloud che vuoi utilizzare e poi fai clic su Salva.
    • Conferma la selezione: per procedere, fai clic sul pulsante Attiva Firebase.

    L'agente connette automaticamente la tua app al tuo progetto Firebase e genera il codice Cloud Firestore e Authentication necessario, inclusi un file /src/lib/firebase.ts e un file firestore.rules.

  3. Deployment: quando è tutto pronto, utilizza l'opzione Condividi > Pubblica per eseguire il deployment della tua app web su Cloud Run. La tua app verrà automaticamente implementata nello stesso progetto selezionato durante la configurazione.

Informazioni sulla quota condivisa per Cloud Firestore

Tutti i database Cloud Firestore di cui è stato eseguito il provisioning dall'agente Google AI Studio vengono inseriti nello stesso "gruppo" di database nel tuo progetto Firebase. Tutti condividono queste caratteristiche:

  • Quota condivisa: tutti i database del gruppo condividono una quota di utilizzo (vedi i dettagli di seguito).
  • Nessun account Cloud Billing richiesto: puoi creare e testare la tua app senza aggiungere la fatturazione. Consulta i dettagli di seguito sull'aggiunta facoltativa della fatturazione.
  • Reimpostazioni giornaliere: se raggiungi un limite di quota giornaliero (ad esempio, 50.000 letture al giorno), il servizio verrà messo in pausa per tutti i database all'interno del gruppo e riprenderà il giorno successivo intorno a mezzanotte del fuso orario del Pacifico.

I database Cloud Firestore nel gruppo di quote condivise condividono i seguenti limiti:

Metrica Quota
Dati archiviati 1 GiB totale
Traffico in uscita dalla rete 10 GiB al mese
Unità di scrittura 40.000 operazioni di scrittura al giorno
Unità di lettura 50.000 letture al giorno
Unità di aggiornamento in tempo reale 50.000 aggiornamenti al giorno

(Facoltativo) Aggiungere la fatturazione per ottenere una quota di Cloud Firestore maggiore

Se la tua app acquisisce popolarità e devi superare i limiti senza costi per Cloud Firestore, puoi eseguire l'upgrade del tuo progetto al piano tariffario Blaze con pagamento a consumo.

  1. Aggiungi la fatturazione (se non l'hai già fatto): vai alla console Firebase e collega un account di fatturazione al tuo progetto.

  2. Esegui l'upgrade del database: per impostazione predefinita, i database Cloud Firestore creati dall'agente Google AI Studio continuano a utilizzare la quota condivisa anche dopo l'upgrade del piano tariffario. Per abilitare la scalabilità a pagamento completa per un database specifico, devi spostarlo manualmente dal gruppo utilizzando un comando curl.

    • PROJECT_ID : ID progetto Firebase. Trova questo ID nella pagina Impostazioni > Generali della console Firebase.

    • DATABASE_ID : l'ID database Cloud Firestore, che corrisponderà all'ID applet. Trova questo ID database nella console Firebase andando alla pagina Database e spazio di archiviazione > Firestore, quindi cerca nella colonna Nome.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://firestore.googleapis.com/v1/projects/PROJECT_ID/databases/DATABASE_ID?updateMask=free_tier_limited" \
    -d '{"free_tier_limited": false}'
    

Verificare l'upgrade del database

La modifica per disattivare la quota condivisa e attivare la fatturazione con pagamento a consumo per il tuo database dovrebbe diventare effettiva entro pochi minuti. Puoi verificare la modifica utilizzando una delle seguenti opzioni:

  • Testa l'applicazione (consigliato): il modo più affidabile per confermare l'upgrade è utilizzare l'applicazione. Esegui le operazioni Cloud Firestore che in precedenza superavano i limiti giornalieri senza costi (ad esempio, superando le soglie dell'edizione Cloud Firestore Enterprise di 50.000 unità di lettura o 40.000 unità di scrittura). Queste operazioni ora dovrebbero essere eseguite correttamente senza errori RESOURCE_EXHAUSTED.

  • Controlla lo stato del database tramite l'API:puoi utilizzare una richiesta curl GET per recuperare i dettagli attuali del database:

    curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://firestore.googleapis.com/v1/projects/PROJECT_ID/databases/DATABASE_ID"
    

    Ispeziona la risposta JSON. L'upgrade del database viene eseguito correttamente e non è più limitato se il campo freeTierLimited è assente dalla risposta.

    Informazioni su freeTier e freeTierLimited: probabilmente vedrai ancora "freeTier": true nella risposta di GET. Questo campo è separato dall'impostazione freeTierLimited che hai modificato. "freeTier": true è correlato all'origine del database e alla possibilità di utilizzare il livello senza costi. Non significa che i limiti giornalieri vengono comunque applicati una volta impostato freeTierLimited su false. La disattivazione riuscita dei limiti è indicata dall'assenza di freeTierLimited nella risposta GET.

Se la tua app continua a riscontrare errori relativi al limite giornaliero dopo aver atteso diversi minuti e una richiesta GET mostra che il campo freeTierLimited è effettivamente assente, assicurati che il conto di fatturazione del tuo progetto sia in regola.

Generazione di Security Rules

L'agente Google AI Studio genera automaticamente Firebase Security Rules in base alla logica della tua app. Queste Security Rules sono progettate per essere "default deny", ovvero gli utenti finali della tua app possono accedere solo ai dati di loro proprietà.

Tieni presente che se modifichi manualmente Security Rules direttamente nella console Firebase, l'agente Google AI Studio non verrà a conoscenza delle modifiche e queste verranno sovrascritte durante le iterazioni successive dell'app. Ti consigliamo di utilizzare l'agente Google AI Studio per modificare Firebase Security Rules in modo da garantire che le modifiche vengano mantenute e siano in linea con la logica della tua app.

Utilizzare un progetto esistente

Quando abiliti per la prima volta l'integrazione di Firebase, puoi facoltativamente selezionare un progetto Google Cloud esistente di tua proprietà:

  1. Nella scheda visualizzata, fai clic sull'icona Impostazioni .
  2. Seleziona il progetto e poi fai clic su Salva.

Man mano che esegui l'iterazione dell'app, puoi anche chiedere all'agente di utilizzare un altro progetto con un prompt come:

Add Firestore to this app using project PROJECT_ID.

Quando scegli un progetto, si verificano le seguenti azioni:

  • In questo progetto verrà eseguito il provisioning di un nuovo database Cloud Firestore utilizzando la quota condivisa.
  • Firebase Authentication con Accedi con Google verrà configurato.
  • A un service account verrà concesso l'accesso al tuo database Cloud Firestore. Per consentire l'accesso amministrativo da Google AI Studio, a un nuovo service account denominato ais-sandbox@PROJECT_ID.iam.gservice.com verrà concessa l'autorizzazione per accedere al tuo database Cloud Firestore. Questo account è associato solo alle tue app Google AI Studio.
  • Limitazioni: se il progetto Firebase ha già un database Cloud Firestore, l'agente non potrà aggiungerne un altro. Dovrai selezionare un altro progetto o crearne uno nuovo e vuoto da utilizzare.

Utilizzare la console Firebase

Puoi visualizzare i dati e le impostazioni della tua app nella console Firebase. Ecco come accedere al progetto Firebase associato a Google AI Studio:

  1. Vai alla console Firebase e seleziona il progetto con l'etichetta AI Studio.

  2. Nel riquadro di navigazione a sinistra, esplora i servizi abilitati nel tuo progetto:

    • Per visualizzare e modificare i dati Cloud Firestore memorizzati, vai a Database e spazio di archiviazione > Firestore.
    • Per visualizzare o configurare le impostazioni e i dati di Authentication, vai a Sicurezza > Autenticazione.

Risoluzione dei problemi e domande frequenti

Trova le risposte alle domande più comuni e scopri come risolvere i problemi durante l'integrazione di Firebase con la tua app Google AI Studio.

Come vengono selezionati il mio progetto Google Cloud / Firebase e la mia posizione?

Quando richiedi un backend Firebase per un'app, puoi facoltativamente selezionare una posizione e un progetto nella scheda visualizzata:

  • Seleziona una località (facoltativo): scegli la località per il database e per l'app utilizzando il menu a discesa della località.
  • Seleziona un progetto (facoltativo): fai clic sull'icona Impostazioni , seleziona il progetto Google Cloud che vuoi utilizzare, quindi fai clic su Salva.

Tieni presente che:

  • La posizione del database è definitiva: una volta selezionata una posizione per il database, non puoi modificarla per quel progetto. Questa scelta verrà utilizzata come impostazione predefinita per altri servizi di backend.
  • Coerenza del progetto: per garantire un'integrazione perfetta, Google AI Studio utilizza automaticamente lo stesso progetto sia per il backend sia per il deployment. Non puoi utilizzare progetti diversi per servizi diversi all'interno della stessa app.

Quali metodi di autenticazione sono supportati?

L'agente Google AI Studio configura Accedi con Google quando chiedi di configurare Authentication o una schermata di accesso. Ecco come aggiungere ulteriori metodi di accesso alla tua app:

  1. Nella console Firebase, vai alla pagina Sicurezza > Autenticazione > Metodo di accesso e configura i metodi di accesso che preferisci.

  2. In Google AI Studio, chiedi all'agente Google AI Studio di aiutarti ad aggiornare il codebase con il nuovo metodo di accesso.

Posso creare un'app mobile (come Android o iOS) con Google AI Studio?

Al momento, l'agente Google AI Studio può creare solo app web. Scopri di più su ciò che è supportato nella documentazione dell'agente Google AI Studio.

Tuttavia, proprio come tutte le app web, le app create da Google AI Studio sono accessibili come app web mobile dai browser installati sui dispositivi mobili.

Che cos'è il file firebase-blueprint.json?

Si tratta di un file intermedio utilizzato dall'agente Google AI Studio per comprendere il codebase della tua app. Non modificare manualmente questo file, in quanto potrebbe causare la generazione di codice errato o di Security Rules non sicuri da parte dell'agente.

Cosa devo fare se ricevo l'errore "Quota superata"?

Il raggiungimento di un limite di quota di Cloud Firestore significa che la tua app ha raggiunto il limite di utilizzo giornaliero per il gruppo di quote condivise del database Cloud Firestore. Esistono due modi per risolvere il problema:

  • Opzione 1: attendi. Le quote vengono reimpostate ogni giorno intorno alla mezzanotte del fuso orario del Pacifico.
  • Opzione 2: esegui l'upgrade. Esegui l'upgrade al piano tariffario Blaze con pagamento a consumo.

Cosa devo fare se ricevo un errore "Autorizzazioni mancanti o insufficienti"?

Questo errore si verifica quando la tua app tenta di leggere o scrivere dati nel tuo database Cloud Firestore, ma la richiesta viene rifiutata dal tuo Security Rules. Indica che Security Rules non consentono l'operazione tentata in base allo stato di autenticazione o al percorso dei dati corrente. Fai clic sul pulsante Correggi errore per chiedere all'agente Google AI Studio di tentare di correggere Security Rules.

Cosa succede al mio backend Firebase quando elimino la mia app Google AI Studio?

L'eliminazione dell'applicazione in Google AI Studio non comporta l'eliminazione automatica del progetto Firebase collegato, del database Cloud Firestore o delle configurazioni Firebase Authentication.

Se hai aggiunto un backend Firebase, devi accedere manualmente alla console Firebase ed eliminare il progetto o liberare spazio dalle singole risorse (ad esempio l'istanza del database Cloud Firestore e i provider Authentication) per assicurarti che tutti i dati e le configurazioni vengano rimossi.

L'agente Google AI Studio può eliminare o modificare i dati nel mio database Cloud Firestore?

L'agente Google AI Studio è progettato per aiutarti a eseguire il provisioning delle risorse di backend necessarie e generare codice e Security Rules. Sebbene l'agente stesso non possa eliminare, modificare o manipolare direttamente le voci di dati all'interno del tuo database Cloud Firestore, può scrivere codice nella tua app progettato per eseguire queste azioni. Per eseguire attività di gestione dei dati, ad esempio l'eliminazione delle voci, vai alla pagina Database e spazio di archiviazione > Firestore nella console Firebase.

Faccio parte di un'organizzazione che utilizza Google Cloud. Posso collegare la mia app Google AI Studio a un progetto esistente nell'ambiente Google Cloud della mia organizzazione?

Sì. Assicurati che il tuo progetto Firebase si trovi all'interno della cartella dell'organizzazione Google Cloud, quindi connettilo utilizzando uno dei seguenti metodi:

  • Durante l'attivazione: quando attivi l'integrazione di Firebase in Google AI Studio, seleziona il progetto esistente nella scheda che viene visualizzata. Fai clic sull'icona Impostazioni , seleziona il tuo progetto e poi fai clic su Salva.
  • Durante l'iterazione: se hai già attivato Firebase o vuoi cambiare progetto in un secondo momento, puoi chiedere all'agente di utilizzare il tuo progetto esistente con un prompt come:

      Add Firestore to this app using project PROJECT_ID.
    

Perché non riesco a trovare determinati documenti nella console Firebase?

Quando l'agente AI Studio salva i dati in un percorso nidificato (come /users/user1/messages/msg1) senza prima creare il documento principale (user1), crea quello che è noto come documento principale inesistente. Questi documenti non vengono visualizzati nella console Firebase, il che può renderli difficili da trovare durante la navigazione nel database Cloud Firestore. Anche se questo non influisce sul funzionamento dell'app, spesso puoi descrivere il problema all'agente di AI Studio per invitarlo a creare i documenti principali mancanti.

Per ulteriori dettagli, consulta Documenti principali inesistenti.

Posso scegliere la posizione per il mio database Cloud Firestore?

Sì. Quando attivi l'integrazione di Firebase in Google AI Studio per la prima volta, puoi selezionare la posizione del database Cloud Firestore.

Tieni presente che la località selezionata si applica a tutti i database Cloud Firestore che l'agente Google AI Studio crea nel progetto Firebase. Una volta impostata, questa posizione non può essere modificata per questi database.

In che modo Google utilizza i miei dati (ad esempio codice e prompt) in Google AI Studio?

Per informazioni dettagliate su come vengono utilizzati i tuoi dati, consulta i Termini di servizio aggiuntivi dell'API Gemini.

Ho ricevuto un'email da Google Cloud in merito a una "chiave API di Google accessibile pubblicamente per il tuo progetto Google Cloud". Cosa devo fare?

Se hai ricevuto un'email da Google Cloud relativa a una "chiave API di Google accessibile pubblicamente per il tuo progetto Google Cloud" e la chiave API elencata nell'email è la tua chiave API Firebase, assicurati che la chiave API soddisfi i seguenti requisiti per essere inclusa in modo sicuro nel codice o nei file di configurazione. Puoi verificare quanto segue nel riquadro API e servizi > Credenziali nella console Google Cloud.

Inoltre, assicurati di utilizzare Firebase Security Rules e App Check come consigliato per i prodotti Firebase che utilizzi.

Puoi scoprire i dettagli sulle chiavi API per Firebase e trovare un elenco di domande frequenti in Informazioni sull'utilizzo e la gestione delle chiavi API per Firebase