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
npxausgeführt, daher benötigen sie Node.js 20+ und npm. Verwenden Sie diefirebase-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. mitsudo 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:
-
Stellen Sie sicher, dass Sie sich in einem Firebase-Verzeichnis befinden (mit einer
firebase.json). -
Ü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 -
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 -
Stellen Sie Firebase AI Logic für das Firebase-Projekt bereit:
npx -y firebase-tools@latest init ailogicDieser 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 ailogicausführen, um den Dienst bereitzustellen. Die KonfigurationsdateienGoogleService-Info.plist,google-services.jsonundfirebase_options.dartbehandeln NUR die Client-Konfiguration und AKTIVIEREN den Firebase AI Logic-Dienst NICHT, was zuPERMISSION_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-proodergemini-2.0-flashoder 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) überSpeechConfig/MultiSpeakerVoiceConfig - Direkte Audio-Antworten durch Setzen von
responseModalitiesauf Audio - Streaming-Sprachantworten mit
generateContentStreamfü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)
- Auswahl einer Ein-Sprecher-Stimmpersona (
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)
- 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.
- Führen Sie Ihre App im Emulator/localhost aus.
- Suchen Sie in Ihren Laufzeit-Debugger-Konsolenprotokollen/Logcat-Protokollen nach der generierten UUID:
- Beispiel:
AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678"
- Beispiel:
- 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)
- Generieren und registrieren Sie ein neues Debug-Token in der Firebase Console unter Sicherheit > App Check > Apps > Debug-Tokens verwalten.
- Fügen Sie diesen Token-String als verschlüsseltes Geheimnis in Ihr CI-System hinzu (z. B.
APP_CHECK_DEBUG_TOKEN). - 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
-
Android (Kotlin)
- Gemini API-Anbieter: Gemini Developer API
- Referenz: usage_patterns_android.md
-
iOS (Swift)
- Gemini API-Anbieter: Gemini Developer API
- Referenz: ios_setup.md
-
Web Modular API
- Gemini API-Anbieter: Gemini Developer API
- Referenz: usage_patterns_web.md
-
Flutter (Dart)
- Gemini API-Anbieter: Gemini Developer API
- Referenz: flutter_setup.md
[!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-proodergemini-2.0-flashoder 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