bases-firebase-ai-logic

Intègre Firebase AI Logic (anciennement Vertex AI pour Firebase) dans les applications mobiles et web (Android, iOS, Web et Flutter) pour appeler les modèles Gemini depuis le code client. À utiliser lors du provisionnement ou de l'initialisation de Firebase AI Logic, ou pour ajouter des fonctionnalités Gemini à une application : génération de texte, entrée multimodale, chat, streaming, sortie structurée, inférence hybride sur l'appareil, protection via App Check, ou changement de modèle avec Remote Config.

Qu'est-ce que bases-firebase-ai-logic ?

Ce skill permet aux développeurs d'ajouter facilement des capacités d'IA générative à leurs applications mobiles et web (Android, iOS, Web, Flutter) en utilisant Firebase AI Logic (anciennement Vertex AI pour Firebase). L'utilisateur peut appeler directement les modèles Gemini depuis le code client sans avoir à gérer un backend dédié. Le skill couvre le provisionnement via la Firebase CLI (commande `init ailogic`), l'ajout du SDK, et la mise en œuvre de fonctionnalités clés : génération de texte, entrée multimodale (images, audio, vidéo, PDF), sessions de chat, streaming, génération vocale (TTS), génération d'images (Nano Banana), recherche avec ancrage, sortie structurée (JSON), inférence hybride sur l'appareil, sécurité via App Check (y compris les jetons de débogage pour le développement local et les pipelines CI/CD), et changements dynamiques de modèle avec Remote Config. Il est essentiel de provisionner le service avant toute utilisation, faute de quoi les requêtes échoueront avec une erreur `PERMISSION_DENIED`.

Compatible avec~Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/momabrouk18-eng/Website/tree/HEAD/.agents/skills/firebase-ai-logic-basics

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Bases de Firebase AI Logic

Vue d'ensemble

Firebase AI Logic est un produit Firebase qui permet aux développeurs d'ajouter de l'IA générative à leurs applications mobiles et web à l'aide de SDK côté client. L'application peut appeler directement les modèles Gemini via Firebase AI Logic sans que le développeur ait besoin de gérer un backend dédié. Firebase AI Logic était auparavant connu sous le nom de "Vertex AI for Firebase".

Il prend en charge les deux fournisseurs d'API Gemini :

  • Gemini Developer API : propose un niveau gratuit idéal pour le prototypage, et un paiement à l'utilisation pour la production.
  • Agent Platform Gemini API (anciennement Vertex AI) : idéal pour passer à l'échelle avec une préparation à la production de niveau entreprise, nécessite le plan de tarification Blaze.

Utilisez la Gemini Developer API par défaut, et l'Agent Platform Gemini API (anciennement Vertex AI) uniquement si l'application l'exige.


Configuration et initialisation

Prérequis

  • Identifiez la plateforme sur laquelle l'utilisateur souhaite développer avant de commencer : Android, iOS, Web ou Flutter.
  • Si sa plateforme n'est pas prise en charge, dirigez l'utilisateur vers la documentation Firebase pour apprendre à configurer AI Logic pour son application (partagez ce lien avec l'utilisateur : https://firebase.google.com/docs/ai-logic/get-started).
  • Les commandes Firebase CLI ci-dessous s'exécutent via npx sur toutes les plateformes, donc Node.js 20+ et npm sont nécessaires. Utilisez le skill firebase-basics pour les vérifier et pour vous connecter à la Firebase CLI. Si Node.js est manquant ou plus ancien que la version 20, demandez à l'utilisateur de l'installer comme décrit dans ce skill. N'installez pas vous-même de paquets système, par exemple avec sudo apt-get, car cela modifierait la machine de l'utilisateur sans son consentement.

1. Provisionner Firebase AI Logic (TOUTES les plateformes)

Utilisez la Firebase CLI pour provisionner Firebase AI Logic pour le projet Firebase :

  1. Assurez-vous d'être dans un répertoire Firebase (avec un fichier firebase.json).

  2. Vérifiez que vous exécutez les commandes Firebase CLI sur le projet Firebase prévu. Lorsque vous exécutez cette commande, le projet actif est marqué avec "current" :

    npx -y firebase-tools@latest projects:list
    
  3. Assurez-vous qu'au moins une application Firebase pour la plateforme cible est enregistrée avec le projet Firebase actuel :

    npx -y firebase-tools@latest apps:list
    
  4. Provisionnez Firebase AI Logic pour le projet Firebase :

    npx -y firebase-tools@latest init ailogic
    

    Cette commande activera la Gemini Developer API dans le projet Firebase.

[!WARNING] CRITIQUE : Le provisionnement de Firebase AI Logic est obligatoire Pour toutes les plateformes (Android, iOS, Web ou Flutter), même si l'application utilise déjà Firebase, vous DEVEZ exécuter npx -y firebase-tools@latest init ailogic pour provisionner le service. Les fichiers de configuration GoogleService-Info.plist, google-services.json et firebase_options.dart ne gèrent que la configuration client et n'ACTIVENT PAS le service Firebase AI Logic, ce qui entraîne des erreurs PERMISSION_DENIED.

Si vous ne pouvez pas exécuter init ailogic vous-même (par exemple parce que Node.js est manquant ou que la Firebase CLI n'est pas connectée), ne sautez PAS cette étape. Les requêtes de l'application vers les modèles Gemini échoueront tant que le service Firebase AI Logic n'est pas provisionné. Dites à l'utilisateur d'exécuter cette commande dans son répertoire de projet et incluez-la dans votre résumé final :

npx -y firebase-tools@latest init ailogic

2. Ajouter le SDK et initialiser le service dans l'application

L'ajout de la dépendance SDK et l'initialisation du service sont spécifiques à la plateforme. Avant d'écrire du code, lisez la référence pour la plateforme cible répertoriée dans la section Références de code d'initialisation.

Plus d'informations dans Firebase AI Logic - Premiers pas


Fonctionnalités principales

[!WARNING] CRITIQUE : Utilisez les noms de modèles actuels : Vérifiez toujours la documentation des modèles Firebase AI Logic pour les noms de modèles actuellement pris en charge. N'utilisez PAS gemini-2.0-pro ou gemini-2.0-flash ou d'autres modèles plus anciens qui ont été arrêtés.

Génération de texte uniquement

Entrée multimodale (Texte + Images/Audio/Vidéo/PDF)

Firebase AI Logic permet aux modèles Gemini d'analyser des fichiers image directement depuis votre application. Cela permet des fonctionnalités telles que la création de légendes, la réponse à des questions sur les images, la détection d'objets et la catégorisation d'images. Au-delà des images, Gemini peut analyser d'autres types de médias comme l'audio, la vidéo et les PDF en les passant sous forme de données en ligne avec leur type MIME. Pour les fichiers de plus de 20 mégaoctets (qui peuvent provoquer des erreurs HTTP 413 sous forme de données en ligne), stockez-les dans Cloud Storage pour Firebase et transmettez leurs URL à la Gemini Developer API.

Session de chat (Multi-tours)

Conservez automatiquement l'historique en utilisant startChat.

Réponses en streaming

Pour améliorer l'expérience utilisateur en affichant les résultats partiels au fur et à mesure qu'ils arrivent (comme un effet de frappe), utilisez generateContentStream au lieu de generateContent pour un affichage plus rapide des résultats.

Génération de synthèse vocale (TTS)

Générez de l'audio parlé directement sur les appareils clients sans backend vocal personnalisé. Firebase AI Logic prend en charge la synthèse vocale à l'aide de modèles Gemini TTS dédiés :

  • Modèles pris en charge : gemini-3.1-flash-tts-preview
  • Capacités :
    • Sélection d'un persona vocal mono-locuteur (voiceName) et dialogues multi-locuteurs (jusqu'à 2 locuteurs distincts) via SpeechConfig / MultiSpeakerVoiceConfig
    • Réponses audio directes en définissant responseModalities sur audio
    • Réponses vocales en streaming avec generateContentStream pour une lecture à faible latence
    • Directives audio ([Audio Profile: ...], [Scene: ...], [Director's Note: ...]) et balises émotionnelles ([whispers], [laughs], [slowly])
    • Décodage et lecture côté client du PCM linéaire 24 kHz 16 bits (audio/l16) ou du format conteneur WAV (audio/x-wav)

Consultez le Guide de génération de synthèse vocale (TTS) pour les détails d'implémentation complets, les modèles de streaming et les extraits de code prêts à copier-coller pour iOS (Swift), Android (Kotlin) et Web.

Générer des images avec Nano Banana

[!WARNING] Utilisez les noms de modèles d'image actuels : Vérifiez toujours la documentation des modèles Firebase AI Logic pour les noms de modèles de génération d'images (Nano Banana) actuellement pris en charge.

  • Nécessite un plan de facturation Blaze pay-as-you-go mis à niveau.

Ancrage de recherche avec l'outil googleSearch intégré


Plateformes et frameworks pris en charge

Les plateformes et frameworks pris en charge incluent Kotlin et Java pour Android, Swift pour iOS, JavaScript pour les applications web, Dart pour Flutter et C Sharp pour Unity.

Fonctionnalités avancées

Sortie structurée (JSON)

Imposer un schéma JSON spécifique pour la réponse.

IA sur l'appareil (Hybride)

L'inférence hybride exécute les invites avec un modèle sur l'appareil lorsqu'il est disponible et revient à un modèle hébergé dans le cloud dans le cas contraire (ou vice versa). La disponibilité et les étapes de configuration diffèrent selon la plateforme ; plus d'informations dans la documentation hybride et sur l'appareil, qui renvoie au guide de chaque plateforme.


Sécurité et production

Firebase App Check

[!WARNING] Exigence de sécurité critique : Pour utiliser AI Logic en toute sécurité, vous DEVEZ configurer App Check sur votre application. Cela empêche les clients non autorisés d'utiliser votre quota d'API et d'accéder à vos ressources backend.

Consultez App Check pour Firebase AI Logic pour les instructions de configuration. Chaque plateforme utilise son propre fournisseur d'attestation, suivez donc les instructions pour la plateforme cible.

Jetons de débogage App Check pour le développement local et CI/CD

Étant donné que les fournisseurs d'attestation App Check (comme Play Integrity ou DeviceCheck) rejettent les émulateurs, les simulateurs ou les environnements CI, vous devez utiliser des jetons de débogage App Check pendant le développement et les tests pour contourner l'attestation standard.

[!WARNING] CRITIQUE : Ne jamais coder en dur ni valider les jetons de débogage. Les jetons de débogage App Check permettent aux clients de contourner l'attestation et d'accéder aux ressources backend sans appareil authentique. Traitez-les comme des secrets privés. Ne validez jamais les jetons de débogage dans le contrôle de version et ne codez jamais en dur les chaînes de jetons brutes dans le code client (Web, Android, iOS ou Flutter). Injectez-les toujours via des variables d'environnement locales, des configurations locales ignorées par git ou des secrets CI. Si un jeton est compromis, révoquez-le immédiatement dans la console Firebase.

Développement local (Auto-généré)
  1. Configurez le fournisseur App Check de votre code pour utiliser la fabrique de débogage. L'API est spécifique à la plateforme ; consultez la section App Check de la référence de la plateforme ou la documentation App Check liée ci-dessus.
  2. Exécutez votre application dans l'émulateur/localhost.
  3. Recherchez dans les logs de votre console de débogage / Logcat l'UUID généré :
    • Exemple : AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678"
  4. Enregistrez ce jeton dans la console Firebase sous Sécurité > App Check > Applications > Gérer les jetons de débogage.

💡 Astuce (Éviter le renouvellement des jetons de débogage) : Les réinitialisations du simulateur ou de l'émulateur, les nouvelles installations et l'effacement des données du navigateur peuvent amener le SDK à générer un nouveau jeton de débogage que vous devrez réenregistrer. Pour conserver un jeton de débogage stable sans le coder en dur, consultez la section App Check de la référence de la plateforme.

Pipelines CI/CD (Pré-provisionnés)
  1. Générez et enregistrez un nouveau jeton de débogage dans la console Firebase sous Sécurité > App Check > Applications > Gérer les jetons de débogage.
  2. Ajoutez cette chaîne de jeton comme secret chiffré dans votre système CI (par exemple APP_CHECK_DEBUG_TOKEN).
  3. Configurez votre build pour transmettre ce secret comme variable d'environnement au SDK lors de l'exécution des tests.

Firebase Remote Config

Considérez que vous n'avez pas besoin de coder en dur les noms de modèles (par exemple, une chaîne de version de modèle spécifique). Utilisez Firebase Remote Config pour mettre à jour dynamiquement les versions de modèle sans déployer de nouveau code client. Consultez Changer les noms de modèles à distance


Références de code d'initialisation

  • Android (Kotlin)

  • iOS (Swift)

    • Fournisseur d'API Gemini : Gemini Developer API
    • Référence : ios_setup.md
  • API modulaire Web

  • Flutter (Dart)

    • Fournisseur d'API Gemini : Gemini Developer API
    • Référence : flutter_setup.md

[!WARNING] CRITIQUE : Utilisez les noms de modèles actuels : Vérifiez toujours la documentation des modèles Firebase AI Logic pour les noms de modèles actuellement pris en charge. N'utilisez PAS gemini-2.0-pro ou gemini-2.0-flash ou d'autres modèles plus anciens qui ont été arrêtés.

Références

Modèles d'utilisation du SDK Android (Kotlin) Exemples de code et modèles d'utilisation du SDK iOS Configuration, exemples de code et modèles d'utilisation du SDK Web

Exemples de code et modèles d'utilisation du SDK Flutter Génération de synthèse vocale (TTS) côté client

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

Skills associés