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, semplificando la creazione di app con archiviazione permanente dei dati e flussi di accesso sicuri. Con un solo prompt e pochi clic, puoi consentire all'agente Google AI Studio di configurare un progetto Firebase, collegare la tua app a questo progetto e generare tutto il codice Cloud Firestore e Authentication direttamente nella tua app.

Panoramica: aggiungi un backend alla tua Google AI Studio app

  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, puoi inserire il prompt: Build a shared to-do list app using Firebase as a backend. (Crea un'app di elenco di cose da fare condivisa utilizzando Firebase come backend).

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

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

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

  3. Esegui il deployment: quando è tutto pronto, utilizza l'opzione Condividi > Pubblica per eseguire il deployment dell'app web in Cloud Run. L'app verrà eseguita automaticamente 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 progetto Firebase. Condividono tutti 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 l'app senza aggiungere la fatturazione. Vedi 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 del gruppo e riprenderà il giorno successivo intorno alla mezzanotte del fuso orario del Pacifico.

Cloud Firestore database 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 scritture 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 Cloud Firestore maggiore

Se la tua app acquisisce popolarità e devi superare i limiti senza costi per Cloud Firestore, puoi eseguire l'upgrade del 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 attivare 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 le Impostazioni progetto della console Firebase.

    • DATABASE_ID : ID database Cloud Firestore, che corrisponderà all'ID dell'applet; trova questo ID database nella colonna Nome nella 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=free_tier_limited" \
    -d '{"free_tier_limited": false}'
    

GenerazioneSecurity Rules

L'Google AI Studio agente genera automaticamente Firebase Security Rules in base alla logica dell' app. Questi Security Rules sono progettati 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 i tuoi Security Rules direttamente nella Firebase console, l'agente Google AI Studio non verrà a conoscenza delle modifiche, e queste verranno sovrascritte durante le successive iterazioni dell'app. Ti consigliamo di utilizzare l'agente Google AI Studio per modificare Firebase Security Rules per assicurarti che le modifiche vengano mantenute e siano allineate alla logica dell'app.

Utilizza un progetto esistente

Quando attivi per la prima volta l'integrazione di Firebase, puoi selezionare facoltativamente 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 progetto diverso con un prompt come:

Add Firestore to this app using project PROJECT_ID.

Quando scegli un progetto, si verificano le seguenti azioni:

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

Utilizza la Firebase console

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

  1. Vai alla Firebase console e seleziona il progetto con l'etichetta 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 quando integri Firebase con la tua app Google AI Studio.

Come vengono selezionati il progetto e la località di Google Cloud / Firebase?

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

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

Tieni presente quanto segue:

  • La località del database è permanente: una volta selezionata una località per il tuo database, non puoi modificarla per il 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'Google AI Studio agente configura Accedi con Google quando chiedi di configurare Authentication. Per configurare altri metodi, attivali nella Firebase console e chiedi all'Google AI Studio agente di aiutarti ad aggiornare la codebase.

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

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

Tieni presente, tuttavia, che, come tutte le app web, le app create da Google AI Studio sono accessibili come app web per dispositivi mobili 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 la codebase dell'app. Non modificare manualmente questo file, in quanto potrebbe causare la generazione di codice errato o di regole di sicurezza non sicure da parte dell'agente Security Rules.

Cosa devo fare se ricevo un errore "Quota superata"?

Se raggiungi 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 questo 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 l'app tenta di leggere o scrivere dati nel database Cloud Firestore, ma la richiesta viene rifiutata dalle Security Rules. Indica che i 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.

Che 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, del database Cloud Firestore o delle configurazioni Firebase Authentication.

Se hai aggiunto un backend Firebase, devi andare manualmente alla Firebase console ed eliminare il progetto o liberare spazio dalle singole risorse (come l' Cloud Firestore istanza del database e i Authentication provider) 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 a generare codice e Security Rules. Anche se l'agente stesso non può eliminare, modificare o manipolare direttamente le voci di dati all'interno del tuo Cloud Firestore database, può scrivere codice nella tua app progettato per eseguire queste azioni. Per eseguire attività di gestione dei dati, come l'eliminazione delle voci, vai alla pagina del Cloud Firestore database nella Firebase console.

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 progetto Firebase sia inserito nella Google Cloud cartella dell'organizzazione Google Cloud e poi collega il progetto utilizzando uno dei seguenti metodi:

  • Durante l'attivazione: quando attivi per la prima volta l'integrazione di Firebase in Google AI Studio, seleziona il progetto esistente nella scheda visualizzata. Fai clic sull'icona Impostazioni , seleziona il 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 progetto esistente con un prompt come:

      Add Firestore to this app using project PROJECT_ID.
    

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

Quando l'agente di AI Studio salva i dati in un percorso nidificato (ad esempio /users/user1/messages/msg1) senza prima creare il documento principale (user1), crea quello che viene definito un documento principale inesistente. Questi documenti non vengono visualizzati nella console Firebase, il che può rendere difficile trovarli 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 chiedergli di creare i documenti principali mancanti.

Per ulteriori dettagli, consulta Documenti principali inesistenti.

Posso scegliere la località per il mio Cloud Firestore database?

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

Tieni presente che la località selezionata si applica a tutti Cloud Firestore database creati dall'Google AI Studio agente in quel progetto Firebase. Una volta impostata, questa località 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 i dettagli su come vengono utilizzati i tuoi dati, consulta i Termini di servizio aggiuntivi dell'API Gemini.

Ho ricevuto un'email da Google Cloud relativa a una "chiave API 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 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 nei file di codice o di configurazione. Puoi verificare quanto segue nel API e servizi > Credenziali nel riquadro della console Google Cloud.

  • È la chiave API che utilizzi per la tua app Firebase e solo per i servizi Firebase. Queste chiavi vengono in genere chiamate Browser key (auto created by Firebase) o Android key (auto created by Firebase) o iOS key (auto created by Firebase).
  • Include tutte le API correlate a Firebase richieste nell'elenco consentito "Limitazioni API" della chiave.
  • _Non_ include altre API nell'elenco consentito "Limitazioni API" . In particolare, l'elenco non deve includere Generative Language API.

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

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