CommunityCodierung & Entwicklunggithub.com

Firebase AI Logic Grundlagen

Integriert Firebase AI Logic (ehemals Vertex AI for Firebase) in mobile und Web-Apps (Android, iOS, Web und Flutter), um Gemini-Modelle direkt aus dem Client-Code aufzurufen. Verwenden Sie dies, wenn Sie Firebase AI Logic bereitstellen oder initialisieren oder einer App Gemini-Funktionen hinzufügen: Textgenerierung, multimodale Eingabe, Chat, Streaming, strukturierte Ausgabe, hybride On-Device-Inferenz, App Check-Schutz oder Modellwechsel mit Remote Config.

Was ist Firebase AI Logic Grundlagen?

Diese Fähigkeit bietet eine umfassende Anleitung zur Integration von Firebase AI Logic (ehemals Vertex AI for Firebase) in mobile und Web-Anwendungen. Sie deckt die Einrichtung und Initialisierung für Android, iOS, Web und Flutter ab, einschließlich der Bereitstellung des Dienstes über die Firebase CLI. Die Fähigkeit erklärt Kernfunktionen wie text- und multimodale Generierung, Chat-Sitzungen, Streaming-Antworten, strukturierte JSON-Ausgabe, hybride On-Device-Inferenz und Text-to-Speech. Sie behandelt auch wichtige Sicherheitsaspekte wie Firebase App Check und dynamische Modellverwaltung mit Remote Config. Entwickler erhalten detaillierte, plattformspezifische Code-Referenzen und Warnungen vor veralteten Modellnamen oder fehlenden Bereitstellungsschritten, um häufige Fehler zu vermeiden. Diese Fähigkeit ist ideal für Entwickler, die schnell generative KI-Funktionen in ihre Firebase-basierten Apps einbauen möchten, ohne ein separates Backend verwalten zu müssen.

Funktioniert mit~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 Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht Firebase AI Logic Grundlagen?

Überblick

Firebase AI Logic ist ein Produkt von Firebase, das es Entwicklern ermöglicht, generative KI zu ihren mobilen und Web-Apps mit clientseitigen SDKs hinzuzufügen. Die App kann direkt Gemini-Modelle über Firebase AI Logic aufrufen, ohne dass der Entwickler ein separates Backend verwalten muss. Firebase AI Logic war zuvor als "Vertex AI for Firebase" bekannt.

Es unterstützt die beiden Gemini API-Anbieter:

  • Gemini Developer API: Sie hat einen kostenlosen Tarif, der sich ideal für Prototyping eignet, und Pay-as-you-go für die Produktion
  • Agent Platform Gemini API (ehemals als Vertex AI gebrandet): Ideal für Skalierung mit Produktionsreife auf Unternehmensebene, erfordert den Blaze-Abrechnungsplan

Verwenden Sie die Gemini Developer API als Standard und nur die Agent Platform Gemini API (ehemals Vertex AI), wenn die Anwendung dies erfordert.


Einrichtung & Initialisierung

Voraussetzungen

  • Identifizieren Sie die Plattform, auf der der Benutzer seine App erstellen möchte, bevor Sie beginnen: Android, iOS, Web oder Flutter.
  • Wenn seine Plattform nicht unterstützt wird, verweisen Sie den Benutzer auf die Firebase-Dokumentation, um zu erfahren, wie AI Logic für seine Anwendung eingerichtet wird (teilen Sie diesen Link mit dem Benutzer https://firebase.google.com/docs/ai-logic/get-started)
  • Die folgenden Firebase CLI-Befehle werden auf jeder Plattform über npx ausgeführt, daher benötigen sie Node.js 20+ und npm. Verwenden Sie die firebase-basics-Fähigkeit, um sie zu überprüfen und sich bei der Firebase CLI anzumelden. Wenn Node.js fehlt oder älter als Version 20 ist, bitten Sie den Benutzer, es wie in dieser Fähigkeit beschrieben zu installieren. Installieren Sie keine Systempakete selbst, z. B. mit sudo apt-get, da dies den Rechner des Benutzers ohne dessen Zustimmung ändert.

1. Firebase AI Logic bereitstellen (ALLE Plattformen)

Verwenden Sie die Firebase CLI, um Firebase AI Logic für das Firebase-Projekt bereitzustellen:

  1. Stellen Sie sicher, dass Sie sich in einem Firebase-Verzeichnis befinden (mit einer firebase.json).

  2. Überprüfen Sie, dass Sie Firebase CLI-Befehle gegen das beabsichtigte Firebase-Projekt ausführen. Wenn Sie diesen Befehl ausführen, wird das aktive Projekt mit "current" markiert:

    npx -y firebase-tools@latest projects:list
    
  3. Stellen Sie sicher, dass mindestens eine Firebase-App für die Zielplattform beim aktuellen Firebase-Projekt registriert ist:

    npx -y firebase-tools@latest apps:list
    
  4. Stellen Sie Firebase AI Logic für das Firebase-Projekt bereit:

    npx -y firebase-tools@latest init ailogic
    

    Dieser Befehl aktiviert die Gemini Developer API im Firebase-Projekt.

[!WARNING] KRITISCH: Die Bereitstellung von Firebase AI Logic ist erforderlich Für alle Plattformen (Android, iOS, Web oder Flutter), auch wenn die App bereits Firebase verwendet, MÜSSEN Sie npx -y firebase-tools@latest init ailogic ausführen, um den Dienst bereitzustellen. Die Konfigurationsdateien GoogleService-Info.plist, google-services.json und firebase_options.dart behandeln NUR die Client-Konfiguration und AKTIVIEREN den Firebase AI Logic-Dienst NICHT, was zu PERMISSION_DENIED-Fehlern führt.

Wenn Sie init ailogic nicht selbst ausführen können (z. B. weil Node.js fehlt oder die Firebase CLI nicht angemeldet ist), überspringen Sie es NICHT. Die Anfragen der App an die Gemini-Modelle werden fehlschlagen, bis der Firebase AI Logic-Dienst bereitgestellt ist. Sagen Sie dem Benutzer, diesen Befehl in seinem Projektverzeichnis auszuführen, und fügen Sie ihn in Ihre endgültige Zusammenfassung ein:

npx -y firebase-tools@latest init ailogic

2. SDK hinzufügen und den Dienst in der App initialisieren

Das Hinzufügen der SDK-Abhängigkeit und die Initialisierung des Dienstes sind plattformspezifisch. Bevor Sie Code schreiben, lesen Sie die Referenz für die Zielplattform, die unter Initialisierungscode-Referenzen aufgeführt ist.

Weitere Informationen finden Sie unter Firebase AI Logic Erste Schritte


Kernfunktionen

[!WARNING] KRITISCH: Aktuelle Modellnamen verwenden: Überprüfen Sie immer die Firebase AI Logic Modelle-Dokumentation für die derzeit unterstützten Modellnamen. Verwenden Sie NICHT gemini-2.0-pro oder gemini-2.0-flash oder andere ältere Modelle, die eingestellt sind.

Nur-Text-Generierung

Multimodal (Text + Bild/Audio/Video/PDF-Eingabe)

Firebase AI Logic ermöglicht es Gemini-Modellen, Bilddateien direkt aus Ihrer App zu analysieren. Dies ermöglicht Funktionen wie das Erstellen von Bildunterschriften, das Beantworten von Fragen zu Bildern, das Erkennen von Objekten und das Kategorisieren von Bildern. Über Bilder hinaus kann Gemini andere Medientypen wie Audio, Video und PDFs analysieren, indem sie als Inline-Daten mit ihrem MIME-Typ übergeben werden. Bei Dateien, die größer als 20 Megabyte sind (was als Inline-Daten zu HTTP-413-Fehlern führen kann), speichern Sie sie in Cloud Storage for Firebase und übergeben Sie ihre URLs an die Gemini Developer API.

Chat-Sitzung (Mehrere Durchläufe)

Behalten Sie die Historie automatisch mit startChat bei.

Streaming-Antworten

Um die Benutzererfahrung zu verbessern, indem Teilergebnisse angezeigt werden, sobald sie eintreffen (wie ein Tippeffekt), verwenden Sie generateContentStream anstelle von generateContent, um Ergebnisse schneller anzuzeigen.

Text-to-Speech (TTS)-Generierung

Generieren Sie gesprochenes Audio direkt auf Client-Geräten ohne ein benutzerdefiniertes Sprach-Backend. Firebase AI Logic unterstützt die Sprachsynthese mit dedizierten Gemini TTS-Modellen:

  • Unterstützte Modelle: gemini-3.1-flash-tts-preview
  • Funktionen:
    • Auswahl einer Ein-Sprecher-Stimmpersona (voiceName) und Mehr-Sprecher-Dialoge (bis zu 2 verschiedene Sprecher) über SpeechConfig / MultiSpeakerVoiceConfig
    • Direkte Audio-Antworten durch Setzen von responseModalities auf Audio
    • Streaming-Sprachantworten mit generateContentStream für latenzarme Wiedergabe
    • Audio-Anweisungen ([Audio Profile: ...], [Scene: ...], [Director's Note: ...]) und emotionale Tags ([whispers], [laughs], [slowly])
    • Clientseitige Dekodierung und Wiedergabe von 24 kHz 16-Bit linearem PCM (audio/l16) oder WAV-Containerformat (audio/x-wav)

Siehe die Text-to-Speech (TTS)-Generierungsanleitung für vollständige Implementierungsdetails, Streaming-Muster und Copy-Paste-Code-Schnipsel für iOS (Swift), Android (Kotlin) und Web.

Bilder mit Nano Banana generieren

[!WARNING] Aktuelle Bildmodellnamen verwenden: Überprüfen Sie immer die Firebase AI Logic Modelle-Dokumentation für die derzeit unterstützten Bildgenerierungs- (Nano Banana) Modellnamen.

  • Erfordert einen aktualisierten Blaze Pay-as-you-go-Abrechnungsplan.

Suchverankerung mit dem integrierten googleSearch-Tool


Unterstützte Plattformen und Frameworks

Unterstützte Plattformen und Frameworks umfassen Kotlin und Java für Android, Swift für iOS, JavaScript für Web-Apps, Dart für Flutter und C# für Unity.

Erweiterte Funktionen

Strukturierte Ausgabe (JSON)

Erzwingen Sie ein bestimmtes JSON-Schema für die Antwort.

On-Device-KI (Hybrid)

Hybride Inferenz führt Prompts mit einem On-Device-Modell aus, wenn eines verfügbar ist, und greift andernfalls auf ein Cloud-gehostetes Modell zurück (oder umgekehrt). Verfügbarkeit und Einrichtungsschritte variieren je nach Plattform. Weitere Informationen finden Sie in der Dokumentation zu hybrid und on-device, die auf den Leitfaden für jede Plattform verlinkt.


Sicherheit & Produktion

Firebase App Check

[!WARNING] Kritische Sicherheitsanforderung: Um AI Logic sicher zu verwenden, MÜSSEN Sie App Check in Ihrer App einrichten. Dies verhindert, dass nicht autorisierte Clients Ihr API-Kontingent nutzen und auf Ihre Backend-Ressourcen zugreifen.

Siehe App Check für Firebase AI Logic für Einrichtungsanweisungen. Jede Plattform verwendet ihren eigenen Beglaubigungsanbieter, daher befolgen Sie die Anweisungen für die Zielplattform.

App Check Debug-Tokens für lokale Entwicklung & CI/CD

Da App Check-Beglaubigungsanbieter (wie Play Integrity oder DeviceCheck) Emulatoren, Simulatoren oder CI-Umgebungen ablehnen, müssen Sie während der Entwicklung und beim Testen App Check Debug-Tokens verwenden, um die standardmäßige Beglaubigung zu umgehen.

[!WARNING] KRITISCH: Debug-Tokens niemals fest codieren oder committen App Check-Debug-Tokens erlauben es Clients, die Beglaubigung zu umgehen und auf Backend-Ressourcen zuzugreifen ohne ein echtes Gerät. Behandeln Sie sie als private Geheimnisse. Committen Sie Debug-Tokens niemals in die Versionskontrolle und codieren Sie keine rohen Token-Strings im Client-Code (Web, Android, iOS oder Flutter). Injizieren Sie sie immer über lokale Umgebungsvariablen, git-ignorierte lokale Konfigurationen oder CI-Geheimnisse. Wenn ein Token kompromittiert wurde, widerrufen Sie es sofort in der Firebase Console.

Lokale Entwicklung (automatisch generiert)
  1. Konfigurieren Sie den App Check-Anbieter Ihres Codes so, dass er die Debug-Factory verwendet. Die API ist plattformspezifisch; siehe den App Check-Abschnitt der Plattformreferenz oder die oben verlinkte App Check-Dokumentation.
  2. Führen Sie Ihre App im Emulator/localhost aus.
  3. Suchen Sie in Ihren Laufzeit-Debugger-Konsolenprotokollen/Logcat-Protokollen nach der generierten UUID:
    • Beispiel: AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678"
  4. Registrieren Sie dieses Token in der Firebase Console unter Sicherheit > App Check > Apps > Debug-Tokens verwalten.

💡 Tipp (Debug-Token-Churn verhindern): Zurücksetzen von Simulatoren oder Emulatoren, Neuinstallationen und das Löschen von Browserdaten können dazu führen, dass das SDK ein neues Debug-Token generiert, das Sie erneut registrieren müssen. Um ein stabiles Debug-Token ohne feste Codierung zu behalten, siehe den App Check-Abschnitt der Plattformreferenz.

CI/CD-Pipelines (vorab bereitgestellt)
  1. Generieren und registrieren Sie ein neues Debug-Token in der Firebase Console unter Sicherheit > App Check > Apps > Debug-Tokens verwalten.
  2. Fügen Sie diesen Token-String als verschlüsseltes Geheimnis in Ihr CI-System hinzu (z. B. APP_CHECK_DEBUG_TOKEN).
  3. Konfigurieren Sie Ihren Build so, dass er dieses Geheimnis als Umgebungsvariable an das SDK während der Testausführung übergibt.

Firebase Remote Config

Beachten Sie, dass Sie Modellnamen (z. B. eine bestimmte Modellversionszeichenfolge) nicht fest codieren müssen. Verwenden Sie Firebase Remote Config, um Modellversionen dynamisch zu aktualisieren, ohne neuen Client-Code bereitzustellen. Siehe Modellnamen aus der Ferne ändern


Initialisierungscode-Referenzen

[!WARNING] KRITISCH: Aktuelle Modellnamen verwenden: Überprüfen Sie immer die Firebase AI Logic Modelle-Dokumentation für die derzeit unterstützten Modellnamen. Verwenden Sie NICHT gemini-2.0-pro oder gemini-2.0-flash oder andere ältere Modelle, die eingestellt sind.

Referenzen

Android (Kotlin) SDK-Nutzungsmuster iOS SDK-Codebeispiele und Nutzungsmuster Web SDK-Setup, Codebeispiele und Nutzungsmuster

Flutter SDK-Codebeispiele und Nutzungsmuster Clientseitige Text-to-Speech (TTS)-Generierung

Individual skills in this repo

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

Verwandte Skills