THE3RDTRAINER/Homepage

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 pour provisionner ou initialiser 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 appareil, protection App Check ou changement de modèle avec Remote Config.

Qu'est-ce que Homepage ?

Firebase AI Logic (anciennement Vertex AI pour Firebase) est un service Firebase qui permet aux développeurs d'ajouter facilement l'IA générative à leurs applications mobiles et web sans gérer de backend dédié. Il supporte deux fournisseurs d'API Gemini : l'API Gemini Developer (avec un niveau gratuit idéal pour le prototypage) et l'API Agent Platform Gemini (pour la production à grande échelle). Ce skill guide le développeur à travers le provisionnement initial du service avec la Firebase CLI, l'ajout du SDK approprié pour chaque plateforme (Android, iOS, Web, Flutter, Unity), et l'utilisation de fonctionnalités avancées comme la génération de texte et multimodale, les sessions de chat, le streaming, la synthèse vocale (TTS), la génération d'images (Nano Banana), la sortie structurée JSON, et l'inférence hybride sur appareil. Il met également l'accent sur des aspects critiques de sécurité et de production comme la configuration obligatoire d'App Check (avec des instructions détaillées pour les jetons de débogage dans les environnements de développement et CI/CD) et l'utilisation de Remote Config pour changer dynamiquement les modèles Gemini sans déployer de nouveau code client.

Compatible avec~Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/THE3RDTRAINER/Homepage/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

Aperçu

Firebase AI Logic est un produit de Firebase qui permet aux développeurs d'ajouter 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 pour Firebase".

Il supporte les deux fournisseurs d'API Gemini :

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

Utilisez l'API Gemini Developer par défaut, et seulement l'API Agent Platform Gemini (anciennement Vertex AI) 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, elles nécessitent donc Node.js 20+ et npm. Utilisez la compétence firebase-basics pour les vérifier et vous connecter à la Firebase CLI. Si Node.js est manquant ou antérieur à la version 20, demandez à l'utilisateur de l'installer comme décrit dans cette compétence. N'installez pas vous-même des paquets système, par exemple avec sudo apt-get, car cela modifie 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 firebase.json).

  2. Vérifiez que vous exécutez les commandes Firebase CLI contre 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 l'API Gemini Developer 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 le sautez PAS. Les requêtes de l'application aux modèles Gemini échoueront jusqu'à ce que le service Firebase AI Logic soit 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 à chaque plateforme. Avant d'écrire du code, lisez la référence pour la plateforme cible listée sous Références de code d'initialisation.

Plus d'informations dans Premiers pas avec Firebase AI Logic


Fonctionnalités de base

[!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 uniquement textuelle

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 des 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 comme données en ligne avec leur type MIME. Pour les fichiers de plus de 20 mégaoctets (qui peuvent provoquer des erreurs HTTP 413 en tant que données en ligne), stockez-les dans Cloud Storage pour Firebase et transmettez leurs URL à l'API Gemini Developer.

Session de chat (Plusieurs tours)

Maintenez automatiquement l'historique en utilisant startChat.

Réponses en streaming

Pour améliorer l'expérience utilisateur en affichant des 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 de personnalité vocale 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 étiquettes é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.

Grounding 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)

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

IA sur appareil (Hybride)

L'inférence hybride exécute des invites avec un modèle sur 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 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 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, simulateurs ou 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 codez jamais en dur et ne validez jamais 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 gitignorées ou des secrets CI. Si un jeton est compromis, révoquez-le immédiatement dans la console Firebase.

Développement local (généré automatiquement)
  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 votre console de débogage d'exécution / 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 de simulateur ou d'é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 devez enregistrer à nouveau. 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èles sans déployer de nouveau code client. Consultez Modifier les noms de modèles à distance


Références de code d'initialisation

  • Android (Kotlin)

  • iOS (Swift)

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

  • Flutter (Dart)

    • Fournisseur d'API Gemini : API Gemini Developer
    • 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 du SDK Web, exemples de code et modèles d'utilisation

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