Ajouter Cloud Firestore et l'authentification à votre application Google AI Studio

Le mode Créer de Google AI Studio peut configurer et intégrer automatiquement Cloud Firestore et Firebase Authentication dans les applications Web, ce qui facilite la création d'applications avec stockage persistant des données et flux de connexion sécurisés. En une seule requête et en quelques clics, vous permettez à l'agent Google AI Studio de configurer un projet Firebase, d'associer votre application à ce projet et de générer tout le code Cloud Firestore et Authentication directement dans votre application.

Présentation : Ajouter un backend à votre application Google AI Studio

  1. Décrivez votre idée : créez une application dans Google AI Studio et décrivez une fonctionnalité qui nécessite une base de données ou une authentification. Par exemple, vous pouvez saisir la requête suivante : Build a shared to-do list app using Firebase as a backend.

  2. Activez l'intégration Firebase : dans la fiche qui s'affiche, vous pouvez personnaliser votre configuration :

    • Sélectionnez un emplacement (facultatif) : choisissez l'emplacement de votre base de données et de votre application à l'aide du menu déroulant.
    • Sélectionnez un projet (facultatif) : cliquez sur l'icône Paramètres , sélectionnez le projet Google Cloud que vous souhaitez utiliser, puis cliquez sur Enregistrer.
    • Confirmez votre sélection : pour continuer, cliquez sur le bouton Activer Firebase.

    L'agent associe ensuite automatiquement votre application à votre projet Firebase et génère le code Cloud Firestore et Authentication nécessaire, y compris un fichier /src/lib/firebase.ts et un fichier firestore.rules.

  3. Déployer : une fois que vous êtes prêt, utilisez l'option Partager > Publier pour déployer votre application Web sur Cloud Run. Votre application sera automatiquement déployée dans le même projet que celui que vous avez sélectionné lors de la configuration.

Comprendre le quota partagé pour Cloud Firestore

Toutes les bases de données Cloud Firestore provisionnées par l'agent Google AI Studio sont placées dans le même "groupe" de bases de données de votre projet Firebase. Elles partagent toutes les caractéristiques suivantes :

  • Quota partagé : toutes les bases de données du groupe partagent un quota d'utilisation (voir les détails ci-dessous).
  • Aucun compte Cloud Billing requis : vous pouvez créer et tester votre application sans ajouter de facturation. Pour en savoir plus sur l'ajout facultatif de la facturation, consultez les informations ci-dessous.
  • Réinitialisations quotidiennes : si vous atteignez une limite de quota quotidien (par exemple, 50 000 lectures/jour), le service sera mis en veille pour toutes les bases de données du groupe et reprendra le lendemain vers minuit, heure du Pacifique.

Les bases de données Cloud Firestore du groupe de quotas partagés sont soumises aux limites suivantes :

Métrique Quota
Données stockées 1 Gio au total
Sortie réseau 10 Gio par mois
Unités d'écriture 40 000 écritures par jour
Unités de lecture 50 000 lectures par jour
Unités de mises à jour en temps réel 50 000 mises à jour par jour

(Facultatif) Ajouter la facturation pour obtenir plus de quota Cloud Firestore

Si votre application gagne en popularité et que vous devez dépasser les limites sans frais pour Cloud Firestore, vous pouvez passer au forfait Blaze avec paiement à l'usage pour votre projet.

  1. Ajoutez la facturation (si ce n'est pas déjà fait) : accédez à la console Firebase et associez un compte de facturation à votre projet.

  2. Mettre à niveau la base de données : par défaut, les bases de données Cloud Firestore créées par l'agent Google AI Studio continuent d'utiliser le quota partagé même après la mise à niveau de votre forfait. Pour activer le scaling payant complet pour une base de données spécifique, vous devez la déplacer manuellement hors du groupe à l'aide d'une commande curl.

    • PROJECT_ID : ID du projet Firebase. Vous trouverez cet ID dans les paramètres du projet de la console Firebase.

    • DATABASE_ID : ID de la base de données Cloud Firestore, qui correspond à l'ID de votre applet. Vous trouverez cet ID de base de données dans la colonne Nom de la page Bases de données Cloud Firestore de la 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}'
    

Génération Security Rules

L'agent Google AI Studio génère automatiquement Firebase Security Rules en fonction de la logique de votre application. Ces Security Rules sont conçus pour être "refusés par défaut", ce qui signifie que les utilisateurs finaux de votre application ne peuvent accéder qu'aux données qui leur appartiennent.

Notez que si vous ajustez manuellement votre Security Rules directement dans la console Firebase, l'agent Google AI Studio n'aura pas connaissance des modifications, et elles seront écrasées lors des itérations ultérieures de l'application. Nous vous recommandons d'utiliser l'agent Google AI Studio pour ajuster votre Firebase Security Rules afin de vous assurer que vos modifications sont conservées et alignées sur la logique de votre application.

Utiliser un projet existant

Lorsque vous activez l'intégration Firebase pour la première fois, vous pouvez éventuellement sélectionner un projet Google Cloud existant dont vous êtes propriétaire :

  1. Dans la fiche qui s'affiche, cliquez sur l'icône Paramètres .
  2. Sélectionnez votre projet, puis cliquez sur Enregistrer.

Au fur et à mesure que vous itérez sur votre application, vous pouvez également demander à l'agent d'utiliser un autre projet avec une invite telle que :

Add Firestore to this app using project PROJECT_ID.

Lorsque vous choisissez un projet, les actions suivantes se produisent :

  • Une nouvelle base de données Cloud Firestore sera provisionnée dans ce projet en utilisant le quota partagé.
  • Firebase Authentication sera configuré avec Se connecter avec Google.
  • Un compte de service aura accès à votre base de données Cloud Firestore. Pour autoriser l'accès administrateur depuis Google AI Studio, un nouveau compte de service nommé ais-sandbox@PROJECT_ID.iam.gservice.com sera autorisé à accéder à votre base de données Cloud Firestore. Ce compte n'est associé qu'à vos applications Google AI Studio.
  • Limites : si le projet Firebase possède déjà une base de données Cloud Firestore, l'agent ne pourra pas en ajouter une autre. Vous devrez sélectionner un autre projet ou en créer un vide à utiliser.

Utiliser la console Firebase

Vous pouvez consulter les données et les paramètres de votre application dans la console Firebase. Pour accéder à vos projets associés à Google AI Studio, procédez comme suit :

  1. Accédez à la console Firebase, puis sélectionnez le projet intitulé AI Studio.
  2. Dans le panneau de navigation de gauche, cliquez sur Créer > Cloud Firestore Base de données pour afficher et modifier vos données dans Cloud Firestore, ou cliquez sur Créer > Authentication pour configurer vos paramètres et données Authentication.

Dépannage et questions fréquentes

Trouvez les réponses aux questions fréquentes et découvrez comment résoudre les problèmes lors de l'intégration de Firebase à votre application Google AI Studio.

Comment mon projet Google Cloud / Firebase et mon emplacement sont-ils sélectionnés ?

Lorsque vous demandez un backend Firebase pour une application, vous pouvez éventuellement sélectionner un emplacement et un projet dans la fiche qui s'affiche :

  • Sélectionnez un emplacement (facultatif) : choisissez l'emplacement de votre base de données et de votre application à l'aide du menu déroulant.
  • Sélectionner un projet (facultatif) : cliquez sur l'icône Paramètres , sélectionnez le projet Google Cloud que vous souhaitez utiliser, puis cliquez sur Enregistrer.

Tenez bien compte des éléments suivants :

  • L'emplacement de la base de données est définitif : une fois que vous avez sélectionné un emplacement pour votre base de données, vous ne pouvez plus le modifier pour ce projet. Ce choix sera utilisé par défaut pour les autres services de backend.
  • Cohérence du projet : pour assurer une intégration fluide, Google AI Studio utilise automatiquement le même projet pour votre backend et votre déploiement. Vous ne pouvez pas utiliser différents projets pour différents services au sein d'une même application.

Quelles méthodes d'authentification sont acceptées ?

L'agent Google AI Studio configure Google Sign-In lorsque vous demandez de configurer Authentication. Pour configurer des méthodes supplémentaires, activez-les dans la console Firebase et demandez à l'agent Google AI Studio de vous aider à mettre à jour votre code.

Puis-je créer une application mobile (comme Android ou iOS) avec Google AI Studio ?

Actuellement, l'agent Google AI Studio ne peut créer que des applications Web. Pour en savoir plus sur les fonctionnalités compatibles, consultez la documentation de l'agent Google AI Studio.

Toutefois, comme toutes les applications Web, les applications créées par Google AI Studio sont accessibles en tant qu'applications Web mobiles depuis les navigateurs installés sur les appareils mobiles.

Qu'est-ce que le fichier firebase-blueprint.json ?

Il s'agit d'un fichier intermédiaire utilisé par l'agent Google AI Studio pour comprendre la base de code de votre application. Ne modifiez pas ce fichier manuellement, car cela pourrait entraîner la génération d'un code incorrect ou d'un Security Rules non sécurisé par l'agent.

Que faire si le message d'erreur "Quota dépassé" s'affiche ?

Si vous atteignez une limite de quota Cloud Firestore, cela signifie que votre application a atteint sa limite d'utilisation quotidienne pour votre groupe de quotas partagés de base de données Cloud Firestore. Pour résoudre ce problème, vous disposez de deux options :

  • Option 1 : Patienter : les quotas sont réinitialisés tous les jours vers minuit (heure du Pacifique).
  • Option 2 : Passer à un forfait supérieur : passez au forfait Blaze avec paiement à l'usage.
    • Si l'agent Google AI Studio a configuré Cloud Firestore pour vous, vous devez ensuite utiliser la commande curl décrite dans Ajouter la facturation pour obtenir plus de quota Cloud Firestore afin de faire passer votre base de données à un état payant normal. Si vous configurez Cloud Firestore manuellement, il n'est pas nécessaire d'exécuter la commande curl.

Que faire si je reçois le message d'erreur "Autorisations manquantes ou insuffisantes" ?

Cette erreur se produit lorsque votre application tente de lire ou d'écrire des données dans votre base de données Cloud Firestore, mais que la requête est rejetée par votre Security Rules. Cela indique que les Security Rules n'autorisent pas l'opération tentée en fonction de l'état d'authentification ou du chemin de données actuels. Cliquez sur le bouton Corriger l'erreur pour inviter l'agent Google AI Studio à tenter de corriger le Security Rules.

Qu'advient-il de mon backend Firebase lorsque je supprime mon application Google AI Studio ?

La suppression de votre application dans Google AI Studio n'entraîne pas automatiquement la suppression du projet Firebase, de la base de données Cloud Firestore ni des configurations Firebase Authentication associés.

Si vous avez ajouté un backend Firebase, vous devez accéder manuellement à la console Firebase et supprimer le projet ou nettoyer les ressources individuelles (telles que l'instance de base de données Cloud Firestore et les fournisseurs Authentication) pour vous assurer que toutes les données et configurations sont supprimées.

L'agent Google AI Studio peut-il supprimer ou modifier des données dans ma base de données Cloud Firestore ?

L'agent Google AI Studio est conçu pour vous aider à provisionner les ressources de backend nécessaires et à générer du code et Security Rules. Bien que l'agent lui-même ne puisse pas supprimer, modifier ni manipuler directement les entrées de données dans votre base de données Cloud Firestore, il peut écrire du code dans votre application qui est conçu pour effectuer ces actions. Pour effectuer des tâches de gestion des données, comme supprimer des entrées, accédez à la page de la base de données Cloud Firestore dans la console Firebase.

J'appartiens à une organisation qui utilise Google Cloud. Puis-je associer mon application Google AI Studio à un projet existant dans l'environnement Google Cloud de mon organisation ?

Oui. Assurez-vous que votre projet Firebase est placé dans le dossier de votre organisation Google Cloud, puis associez votre projet à l'aide de l'une des méthodes suivantes :

  • Lors de l'activation : lorsque vous activez l'intégration Firebase dans Google AI Studio pour la première fois, sélectionnez votre projet existant dans la fiche qui s'affiche. Cliquez sur l'icône Paramètres , sélectionnez votre projet, puis cliquez sur Enregistrer.
  • Pendant l'itération : si vous avez déjà activé Firebase ou si vous souhaitez changer de projet ultérieurement, vous pouvez demander à l'agent d'utiliser votre projet existant avec une requête telle que :

      Add Firestore to this app using project PROJECT_ID.
    

Pourquoi ne trouve-t-on pas certains documents dans la console Firebase ?

Lorsque l'agent AI Studio enregistre des données dans un chemin imbriqué (comme /users/user1/messages/msg1) sans d'abord créer le document parent (user1), il crée ce que l'on appelle un document parent inexistant. Ces documents ne s'affichent pas dans la console Firebase, ce qui peut les rendre difficiles à trouver lorsque vous parcourez votre base de données Cloud Firestore. Bien que cela n'affecte pas le fonctionnement de votre application, vous pouvez souvent décrire le problème à l'agent AI Studio pour l'inciter à créer les documents parents manquants.

Pour en savoir plus, consultez Documents parents inexistants.

Puis-je choisir l'emplacement de ma base de données Cloud Firestore ?

Oui. Lorsque vous activez l'intégration de Firebase dans Google AI Studio pour la première fois, vous pouvez sélectionner l'emplacement de votre base de données Cloud Firestore.

N'oubliez pas que l'emplacement que vous sélectionnez s'applique à toutes les bases de données Cloud Firestore que l'agent Google AI Studio crée dans ce projet Firebase. Une fois défini, cet emplacement ne peut plus être modifié pour ces bases de données.

Comment Google utilise-t-il mes données (par exemple, le code et les requêtes) dans Google AI Studio ?

Pour en savoir plus sur l'utilisation de vos données, consultez les Conditions d'utilisation supplémentaires de l'API Gemini.

J'ai reçu un e-mail de Google Cloud concernant une "clé API Google accessible publiquement pour votre projet Google Cloud". Que dois-je faire ?

Si vous avez reçu un e-mail de Google Cloud concernant une "clé API Google accessible publiquement pour votre projet Google Cloud" et que la clé API listée dans l'e-mail est votre clé API Firebase, assurez-vous qu'elle répond aux exigences suivantes pour pouvoir être incluse dans votre code ou vos fichiers de configuration en toute sécurité. Vous pouvez vérifier les éléments suivants dans le panneau API et services > Identifiants de la console Google Cloud.

  • Il s'agit de la clé API que vous utilisez pour votre application Firebase et uniquement pour les services Firebase. Ces clés sont généralement appelées Browser key (auto created by Firebase), Android key (auto created by Firebase) ou iOS key (auto created by Firebase).
  • Elle inclut toutes les API liées à Firebase requises dans la liste d'autorisation "Restrictions d'API" de la clé.
  • Il ne possède aucune autre API dans sa liste d'autorisation "Restrictions relatives aux API". En particulier, la liste ne doit pas comporter Generative Language API.

Assurez-vous également d'utiliser Firebase Security Rules et App Check comme recommandé pour les produits Firebase que vous utilisez.

Pour en savoir plus sur les clés API pour Firebase et consulter une liste de questions fréquentes, consultez Utiliser et gérer les clés API pour Firebase.