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 : lorsque l'agent vous y invite, activez Firebase, sélectionnez un emplacement pour votre projet, puis acceptez les conditions d'utilisation de Firebase. L'agent connecte ensuite automatiquement votre application à votre projet Firebase et génère le code Cloud Firestore et Authentication nécessaire pour votre application, 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.

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

Vous pouvez également demander à l'agent Google AI Studio de provisionner Cloud Firestore dans un projet Google Cloud existant dont vous êtes propriétaire. Demandez à l'agent d'utiliser votre projet existant avec une requête telle que :

Add Firestore to this app using project PROJECT_ID.
  • 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 créer un projet 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 est-il sélectionné ?

Lorsque vous utilisez la fonctionnalité Ajouter un backend Firebase, l'agent Google AI Studio sélectionne automatiquement un projet Firebase à utiliser pour les services de backend de votre application (Cloud Firestore et Firebase Authentication).

Si vous souhaitez utiliser un projet spécifique, vous pouvez demander à l'agent de le faire avec une requête telle que :

Use project PROJECT_ID for the Firebase backend.

Si vous décidez ultérieurement de publier votre application sur Cloud Run, il est important de continuer à utiliser ce même projet. Si vous choisissez un autre projet, des erreurs se produiront, car il ne correspondra pas à celui utilisé pour votre backend.

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

L'agent Google AI Studio configure la connexion avec Google lorsque vous utilisez la fonctionnalité Ajouter un backend Firebase. 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 applet 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 ?

Assurez-vous que votre projet Firebase est placé dans un dossier d'organisation Google Cloud spécifique :

  1. Créez votre projet Firebase manuellement à l'avance.

  2. Lorsque vous configurez votre backend Firebase dans Google AI Studio, demandez à l'agent d'utiliser votre projet existant :

    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 indiquée dans l'e-mail est votre clé API Firebase, assurez-vous qu'elle répond aux exigences suivantes pour pouvoir être incluse en toute sécurité dans vos fichiers de code ou de configuration. 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.