Adicionar o Cloud Firestore e a autenticação ao seu app do Google AI Studio

O modo de criação no Google AI Studio pode configurar e integrar automaticamente o Cloud Firestore e o Firebase Authentication em apps da Web, o que facilita a criação de apps com armazenamento de dados persistente e fluxos de login seguros. Com apenas um comando e alguns cliques, você capacita o agente do Google AI Studio a configurar um projeto do Firebase, conectar seu app a ele e gerar todo o código Cloud Firestore e Authentication diretamente no app.

Informações gerais: adicionar um back-end ao app Google AI Studio

  1. Descreva sua ideia: crie um novo app em Google AI Studio e descreva um recurso que exija um banco de dados ou autenticação. Por exemplo, você pode inserir o comando: Build a shared to-do list app using Firebase as a backend.

  2. Ative a integração do Firebase: quando o agente solicitar, ative o Firebase, selecione um local para seu projeto e aceite os Termos do Firebase. Em seguida, o agente conecta automaticamente seu app ao projeto do Firebase e gera o código Cloud Firestore e Authentication necessário para o app, incluindo um arquivo /src/lib/firebase.ts e um arquivo firestore.rules.

  3. Implantação: quando estiver tudo pronto, use a opção Compartilhar > Publicar para implantar o app da web em Cloud Run.

Entender a cota compartilhada para Cloud Firestore

Todos os bancos de dados Cloud Firestore provisionados pelo agente em Google AI Studio são colocados no mesmo "grupo" de bancos de dados no seu projeto do Firebase. Todos eles compartilham estas características:

  • Cota compartilhada: todos os bancos de dados no grupo compartilham uma cota de uso (confira os detalhes abaixo).
  • Não é necessário ter uma conta do Cloud Billing: você pode criar e testar seu app sem adicionar faturamento. Confira abaixo detalhes sobre como adicionar o faturamento, se quiser.
  • Redefinições diárias: se você atingir um limite de cota diária (por exemplo, 50 mil leituras/dia), o serviço será pausado para todos os bancos de dados do grupo e retomado no dia seguinte, por volta da meia-noite, horário do Pacífico.

Os bancos de dados Cloud Firestore no grupo de cota compartilhada têm os seguintes limites:

Métrica Quota
Dados armazenados 1 GiB no total
Saída de rede 10 GiB por mês
Unidades de gravação 40.000 gravações por dia
Unidades de leitura 50.000 leituras por dia
Unidades de atualização em tempo real 50.000 atualizações por dia

(Opcional) Adicionar faturamento para ter mais cota de Cloud Firestore

Se o app ganhar força e você precisar ir além dos limites sem custo financeiro do Cloud Firestore, faça upgrade do projeto para o plano de preços Blaze de pagamento por uso.

  1. Adicione o faturamento (se ainda não tiver feito isso): navegue até o console Firebase e vincule uma conta de faturamento ao seu projeto.

  2. Fazer upgrade do banco de dados: por padrão, os bancos de dados Cloud Firestore criados pelo agente Google AI Studio continuam usando a cota compartilhada mesmo depois que você fizer upgrade do seu plano de preços. Para ativar o escalonamento pago completo de um banco de dados específico, mova-o manualmente para fora do grupo usando um comando curl.

    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}'
    

Geração de Security Rules

O agente Google AI Studio gera automaticamente Firebase Security Rules com base na lógica do seu app. Esses Security Rules são projetados para serem "negação padrão", ou seja, os usuários finais do app só podem acessar os dados que possuem.

Se você ajustar manualmente o Security Rules diretamente no console Firebase, o agente Google AI Studio não vai saber das mudanças, e elas serão substituídas durante as iterações subsequentes do app. Recomendamos usar o agente Google AI Studio para ajustar seu Firebase Security Rules e garantir que as mudanças sejam preservadas e alinhadas à lógica do app.

Usar um projeto atual

Você também pode pedir ao agente Google AI Studio para provisionar Cloud Firestore em um projeto Google Cloud existente de sua propriedade. Instrua o agente a usar seu projeto atual com um comando como:

Add Firestore to this app using project PROJECT_ID.
  • Um novo banco de dados Cloud Firestore será provisionado nesse projeto usando a cota compartilhada.
  • O Firebase Authentication com o Login do Google será configurado.
  • Uma conta de serviço vai receber acesso ao seu banco de dados Cloud Firestore. Para permitir o acesso de administrador do Google AI Studio, uma nova conta de serviço chamada ais-sandbox@PROJECT_ID.iam.gservice.com vai receber permissão para acessar seu banco de dados Cloud Firestore. Essa conta está associada apenas aos seus apps Google AI Studio.
  • Limitações: se o projeto do Firebase já tiver um banco de dados Cloud Firestore, o agente não poderá adicionar outro. Você precisa criar um projeto vazio para usar.

Use o console Firebase

É possível conferir os dados e as configurações do app no console Firebase. Para acessar seus projetos associados ao Google AI Studio, siga estas etapas:

  1. Navegue até o console do Firebase e selecione o projeto chamado AI Studio.

  2. No painel de navegação à esquerda, clique em Build > Banco de dados Cloud Firestore para ver e editar seus dados no Cloud Firestore ou clique em Build > Authentication para configurar os dados e as configurações do Authentication.

Solução de problemas e perguntas frequentes

Encontre respostas para perguntas comuns e saiba como resolver problemas ao integrar o Firebase com seu app Google AI Studio.

Como meu projeto do Google Cloud/Firebase é selecionado?

Quando você usa o recurso Adicionar back-end do Firebase, o agente Google AI Studio seleciona automaticamente um projeto do Firebase para usar nos serviços de back-end do seu app (Cloud Firestore e Firebase Authentication).

Se quiser usar um projeto específico, instrua o agente a fazer isso com um comando como:

Use project PROJECT_ID for the Firebase backend.

Se você decidir publicar o app no Cloud Run mais tarde, é importante continuar usando o mesmo projeto. Escolher um projeto diferente vai resultar em erros, já que ele não vai corresponder ao projeto usado no seu back-end.

Quais métodos de autenticação são aceitos?

O agente Google AI Studio configura o Login do Google quando você usa o recurso Adicionar back-end do Firebase. Para configurar outros métodos, ative-os no console Firebase e peça ajuda ao agente Google AI Studio para atualizar sua base de código.

Posso criar um app para dispositivos móveis (como Android ou iOS) com o Google AI Studio?

No momento, o agente Google AI Studio só pode criar apps da Web. Saiba mais sobre o que é compatível na documentação do agente Google AI Studio.

No entanto, assim como todos os apps da Web, os apps criados pelo Google AI Studio podem ser acessados como apps da Web para dispositivos móveis em navegadores instalados em dispositivos móveis.

O que é o arquivo firebase-blueprint.json?

Esse é um arquivo intermediário usado pelo agente Google AI Studio para entender a base de código do seu app. Não modifique esse arquivo manualmente, porque isso pode fazer com que o agente gere código incorreto ou Security Rules inseguro.

O que fazer se eu receber um erro de "cota excedida"?

Atingir um limite de cota do Cloud Firestore significa que seu app atingiu o limite de uso diário do grupo de cota compartilhada do banco de dados do Cloud Firestore. Há duas maneiras de resolver isso:

  • Opção 1: aguardar: as cotas são redefinidas diariamente por volta da meia-noite do horário do Pacífico.
  • Opção 2: fazer upgrade: faça upgrade para o plano de preços Blaze de pagamento por uso.
    • Se o agente Google AI Studio configurou Cloud Firestore para você, use o comando curl descrito em Adicionar faturamento para aumentar a cota do Cloud Firestore e mudar o banco de dados para um estado pago normal. Se você configurar o Cloud Firestore manualmente, não será necessário executar o comando curl.

O que devo fazer se receber um erro de "Permissões ausentes ou insuficientes"?

Esse erro ocorre quando o app tenta ler ou gravar dados no banco de dados Cloud Firestore, mas a solicitação é rejeitada pelo Security Rules. Isso indica que os Security Rules não estão permitindo a operação tentada com base no estado de autenticação ou no caminho de dados atual. Clique no botão Corrigir erro para pedir ao agente Google AI Studio que tente corrigir o Security Rules.

O que acontece com meu back-end do Firebase quando excluo meu app Google AI Studio?

Excluir o aplicativo no Google AI Studio não exclui automaticamente o projeto conectado do Firebase, o banco de dados Cloud Firestore ou as configurações do Firebase Authentication.

Se você adicionou um back-end do Firebase, acesse manualmente o console do Firebase e exclua o projeto ou limpe recursos individuais, como a instância de banco de dados Cloud Firestore e os provedores Authentication, para garantir que todos os dados e configurações sejam removidos.

O agente Google AI Studio pode excluir ou editar dados no meu banco de dados Cloud Firestore?

O agente Google AI Studio foi projetado para ajudar a provisionar os recursos de back-end necessários e gerar código e Security Rules. Embora o agente não possa excluir, editar ou manipular entradas de dados diretamente no banco de dados Cloud Firestore, ele pode gravar código no seu applet projetado para realizar essas ações. Para realizar tarefas de gerenciamento de dados, como excluir entradas, navegue até a página do banco de dados Cloud Firestore no console do Firebase.

Minha organização usa o Google Cloud. Posso conectar meu app Google AI Studio a um projeto no ambiente Google Cloud da minha organização?

Verifique se o projeto do Firebase está em uma pasta de organização Google Cloud específica:

  1. Crie seu projeto do Firebase manualmente com antecedência.

  2. Ao configurar o back-end do Firebase em Google AI Studio, instrua o agente a usar seu projeto atual:

    Add Firestore to this app using project PROJECT_ID.
    

Por que não consigo encontrar determinados documentos no console Firebase?

Quando o agente do AI Studio salva dados em um caminho aninhado (como /users/user1/messages/msg1) sem primeiro criar o documento principal (user1), ele cria o que é conhecido como um documento principal inexistente. Esses documentos não são mostrados no console Firebase, o que pode dificultar a localização deles ao navegar pelo banco de dados Cloud Firestore. Embora isso não afete a execução do app, você pode descrever o problema para o agente do AI Studio e pedir que ele crie os documentos principais ausentes.

Para mais detalhes, consulte Documentos principais inexistentes.

Como o Google usa meus dados (por exemplo, código e comandos) no Google AI Studio?

Consulte os Termos adicionais de serviço da API Gemini para saber como seus dados são usados.

Recebi um e-mail de Google Cloud sobre uma "chave de API do Google de acesso público para seu projeto Google Cloud". O que preciso fazer?

Se você recebeu um e-mail de Google Cloud sobre uma "chave de API do Google acessível publicamente para seu projeto Google Cloud" e a chave de API listada no e-mail é sua chave de API do Firebase, verifique se ela atende aos seguintes requisitos para ser incluída com segurança nos arquivos de código ou de configuração. Verifique o seguinte no painel APIs e serviços > Credenciais no console do Google Cloud.

Além disso, use Firebase Security Rules e App Check conforme recomendado para os produtos do Firebase que você usa.

Saiba mais sobre as chaves de API do Firebase e confira uma lista de perguntas frequentes em Saiba como usar e gerenciar chaves de API para o Firebase