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

Google AI Studio si integra direttamente con Cloud Firestore e Firebase Authentication, consentendoti di creare applicazioni con dati persistenti e flussi di accesso sicuri. Quando utilizzi la funzionalità "Aggiungi backend Firebase" in Google AI Studio, l'agente genera il codice richiesto e connette la tua app a un progetto Firebase.

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, "Crea una lista di cose da fare condivisa").

  2. Attiva l'integrazione di Firebase: seleziona il chip Aggiungi backend Firebase. L'agente genera il codice necessario, inclusi un file /src/lib/firebase.ts e un file firestore.rules, quindi connette l'app a Cloud Firestore e Firebase Authentication.

  3. Esegui il deployment: una volta pronta, utilizza l'opzione Condividi > Pubblica per eseguire il deployment dell'app su Cloud Run.

Informazioni sulla quota condivisa per Cloud Firestore

Tutti i database Cloud Firestore di cui è stato eseguito il provisioning dall'agente in 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) Aggiungi 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 nelle Impostazioni progetto della console Firebase.
    • DATABASE_ID : l'ID del database Cloud Firestore, che corrisponde all'ID dell'applet; trova questo ID nella colonna Nome della pagina dei database Cloud Firestore nella console Firebase.
    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=limited_free_tier" \
    -d '{"limited_free_tier": false}'
    

Security Rules generazione

Google AI Studio genera automaticamente Firebase Security Rules in base alla logica della tua app. Queste Security Rules sono progettate per essere "default deny", il che significa che 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

Puoi anche chiedere all'agente Google AI Studio di eseguire il provisioning di Cloud Firestore in un progetto Google Cloud esistente di tua proprietà. Chiedi all'agente di utilizzare il tuo progetto esistente con un prompt come:

Add Firestore to this app using project PROJECT_ID.
  • In questo progetto verrà eseguito il provisioning di un nuovo database Cloud Firestore utilizzando la quota condivisa.
  • Firebase Authentication con Accesso 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 creare un nuovo progetto vuoto da utilizzare.

Utilizzare la console Firebase

Puoi visualizzare i dati e le impostazioni della tua app nella console Firebase. Per accedere ai tuoi progetti associati a Google AI Studio, segui questi passaggi:

  1. Vai alla console Firebase e seleziona il progetto etichettato AI Studio.
  2. Nel riquadro di navigazione a sinistra, fai clic su Crea > Cloud Firestore Database per visualizzare e modificare i dati in Cloud Firestore oppure fai clic su Crea > Authentication per configurare le impostazioni e i dati di Authentication.

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.

Quali metodi di autenticazione sono supportati?

L'agente Google AI Studio configura Google Sign-In quando utilizzi la funzionalità Aggiungi backend Firebase. Per configurare metodi aggiuntivi, attivali nella console Firebase e chiedi all'agente Google AI Studio di aiutarti ad aggiornare il codebase.

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 database Cloud Firestore, ma la richiesta viene rifiutata da 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 ripulire le singole risorse (come 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 nell'applet progettato per eseguire queste azioni. Per eseguire attività di gestione dei dati, come l'eliminazione delle voci, vai alla pagina del database Cloud 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?

Assicurati che il progetto Firebase si trovi in una cartella dell'organizzazione Google Cloud specifica:

  1. Crea manualmente il progetto Firebase in anticipo.
  2. Quando configuri il backend Firebase in Google AI Studio, chiedi all'agente di utilizzare il tuo progetto esistente:

    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 la sezione Documenti principali inesistenti.

Come viene scelta la posizione per il mio database Cloud Firestore?

Al momento, la località del tuo database Cloud Firestore viene selezionata automaticamente in base alla tua posizione e non può essere modificata o specificata manualmente. Se vuoi avere la possibilità di scegliere una posizione specifica, comunicacelo andando su Impostazioni > Invia feedback all'interno di Google AI Studio.

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

Consulta i Termini di servizio aggiuntivi dell'API Gemini per informazioni dettagliate su come vengono utilizzati i tuoi dati.