Grundlagen von Firebase AI Logic
Überblick
Firebase AI Logic ist ein Firebase-Produkt, das es Entwicklern ermöglicht, generative KI mithilfe clientseitiger SDKs zu ihren mobilen und Web-Apps hinzuzufügen. Die App kann Gemini-Modelle direkt über Firebase AI Logic aufrufen, ohne dass der Entwickler ein dediziertes Backend verwalten muss. Firebase AI Logic hieß früher „Vertex AI for Firebase".
Es unterstützt die beiden Gemini-API-Anbieter:
- Gemini Developer API: Bietet eine kostenlose Stufe, die sich ideal für Prototypen eignet, und ein Pay-as-you-go-Modell für die Produktion.
- Agent Platform Gemini API (früher Vertex AI genannt): Ideal für die Skalierung mit produktionsreifer Unternehmensbereitschaft, erfordert den Blaze-Abrechnungsplan.
Verwenden Sie standardmäßig die Gemini Developer API und wechseln Sie nur zur Agent Platform Gemini API (früher Vertex AI genannt), wenn Ihre Anwendung dies erfordert.
Einrichtung & Initialisierung
Voraussetzungen
- Identifizieren Sie vor Beginn die Plattform, für die der Benutzer eine App erstellen möchte: Android, iOS, Web oder Flutter.
- Wenn die 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 allen Plattformen über
npxausgeführt, daher werden Node.js 20+ und npm benötigt. Verwenden Sie die Skillfirebase-basics, um diese 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 Skill beschrieben zu installieren. Installieren Sie keine Systempakete selbst, z. B. mitsudo apt-get, da dies den Computer des Benutzers ohne dessen Zustimmung verä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 (mit einer
firebase.json) befinden. -
Stellen Sie sicher, dass Sie die Firebase-CLI-Befehle für das gewünschte 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: 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 zu provisionieren. Die KonfigurationsdateienGoogleService-Info.plist,google-services.jsonundfirebase_options.dartsind NUR für die Client-Konfiguration zuständig und aktivieren NICHT den Firebase AI Logic-Dienst, 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 App-Anfragen an die Gemini-Modelle werden fehlschlagen, bis der Firebase AI Logic-Dienst bereitgestellt ist. Sagen Sie dem Benutzer, dass er diesen Befehl in seinem Projektverzeichnis ausführen soll, und fügen Sie ihn in Ihre abschließende 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 Initialisierungs-Code-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 Dokumentation zu Firebase AI Logic-Modellen auf die aktuell unterstützten Modellnamen. Verwenden Sie NICHT
gemini-2.0-proodergemini-2.0-flashoder andere ältere Modelle, die eingestellt wurden.
Nur-Text-Generierung
Multimodal (Text + Bilder/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 auch andere Medientypen wie Audio, Video und PDFs analysieren, indem diese als Inline-Daten mit ihrem MIME-Typ übergeben werden. Für 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 Runden)
Verwalten Sie den Verlauf automatisch mit startChat.
Streaming-Antworten
Um die Benutzererfahrung zu verbessern, indem Teil Ergebnisse angezeigt werden, während sie eintreffen (wie ein Tipp-Effekt), verwenden Sie generateContentStream anstelle von generateContent für eine schnellere Anzeige der Ergebnisse.
Text-to-Speech (TTS)-Generation
Generieren Sie gesprochene Audiodaten direkt auf Client-Geräten ohne ein benutzerdefiniertes Sprach-Backend. Firebase AI Logic unterstützt Sprachsynthese mit dedizierten Gemini-TTS-Modellen:
- Unterstützte Modelle:
gemini-3.1-flash-tts-preview - Funktionen:
- Auswahl einer Einzelsprecher-Stimmpersona (
voiceName) und Mehrsprechersdialoge (bis zu 2 verschiedene Sprecher) überSpeechConfig/MultiSpeakerVoiceConfig - Direkte Audio-Antworten durch Setzen von
responseModalitiesauf Audio - Streaming-Sprach-Antworten mit
generateContentStreamfür latenzarme Wiedergabe - Audio-Direktiven (
[Audio Profile: ...],[Scene: ...],[Director's Note: ...]) und emotionale Tags ([whispers],[laughs],[slowly]) - Clientseitiges Dekodieren und Abspielen von 24 kHz 16-Bit linearem PCM (
audio/l16) oder WAV-Containerformat (audio/x-wav)
- Auswahl einer Einzelsprecher-Stimmpersona (
Siehe Text-to-Speech (TTS)-Generierungsleitfaden für vollständige Implementierungsdetails, Streaming-Muster und Copy-Paste-Code-Snippets für iOS (Swift), Android (Kotlin) und Web.
Bilder mit Nano Banana generieren
[!WARNING] Aktuelle Bildmodellnamen verwenden: Überprüfen Sie immer die Dokumentation zu Firebase AI Logic-Modellen für die aktuell unterstützten Bildgenerierungs-Modellnamen (Nano Banana).
- Erfordert einen aktualisierten Blaze-Pay-as-you-go-Abrechnungsplan.
Suchverankerung mit dem integrierten googleSearch-Tool
Unterstützte Plattformen und Frameworks
Zu den unterstützten Plattformen und Frameworks gehören Kotlin und Java für Android, Swift für iOS, JavaScript für Web-Apps, Dart für Flutter und C Sharp 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 Eingabeaufforderungen mit einem On-Device-Modell aus, wenn eines verfügbar ist, und fällt andernfalls auf ein Cloud-basiertes Modell zurück (oder umgekehrt). Verfügbarkeit und Einrichtungsschritte variieren je nach Plattform. Weitere Informationen finden Sie in der Hybrid- und On-Device-Dokumentation, die auf die Anleitung für jede Plattform verweist.
Sicherheit & Produktion
Firebase App Check
[!WARNING] Kritische Sicherheitsanforderung: Um AI Logic sicher zu nutzen, MÜSSEN Sie App Check in Ihrer App einrichten. Dadurch wird 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 Attestierungsanbieter. Befolgen Sie daher die Anweisungen für die Zielplattform.
App Check-Debug-Tokens für lokale Entwicklung und CI/CD
Da App Check-Attestierungsanbieter (wie Play Integrity oder DeviceCheck) Emulatoren, Simulatoren oder CI-Umgebungen ablehnen, müssen Sie während der Entwicklung und Tests App Check-Debug-Tokens verwenden, um die Standard-Attestierung zu umgehen.
[!WARNING] KRITISCH: Debug-Tokens niemals fest codieren oder committen App Check-Debug-Tokens ermöglichen es Clients, die Attestierung zu umgehen und auf Backend-Ressourcen zuzugreifen, ohne dass ein echtes Gerät verwendet wird. Behandeln Sie sie als private Geheimnisse. Committen Sie Debug-Tokens niemals in die Versionskontrolle und codieren Sie rohe Token-Strings niemals fest im Client-Code (Web, Android, iOS oder Flutter). Übergeben Sie sie immer über lokale Umgebungsvariablen, git-ignorierte lokale Konfigurationen oder CI-Geheimnisse. Wenn ein Token kompromittiert wird, widerrufen Sie es sofort in der Firebase-Konsole.
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 der Laufzeit-Debugger-Konsole/Logcat nach der generierten UUID:
- Beispiel:
AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678"
- Beispiel:
- Registrieren Sie dieses Token in der Firebase-Konsole unter Sicherheit > App Check > Apps > Debug-Tokens verwalten.
💡 Tipp (Debug-Token-Abnutzung 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. Informationen zum Beibehalten eines stabilen Debug-Tokens ohne feste Codierung finden Sie im App Check-Abschnitt der Plattformreferenz.
CI/CD-Pipelines (vorab bereitgestellt)
- Generieren und registrieren Sie ein neues Debug-Token in der Firebase-Konsole unter Sicherheit > App Check > Apps > Debug-Tokens verwalten.
- Fügen Sie diesen Token-String als verschlüsseltes Geheimnis in Ihrem CI-System hinzu (z. B.
APP_CHECK_DEBUG_TOKEN). - Konfigurieren Sie Ihren Build so, dass dieses Geheimnis während der Testausführung als Umgebungsvariable an das SDK übergeben wird.
Firebase Remote Config
Beachten Sie, dass Sie Modellnamen nicht fest codieren müssen (z. B. eine bestimmte Modellversionszeichenfolge). Verwenden Sie Firebase Remote Config, um Modellversionen dynamisch zu aktualisieren, ohne neuen Client-Code bereitzustellen. Siehe Modellnamen aus der Ferne ändern
Initialisierungs-Code-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 Dokumentation zu Firebase AI Logic-Modellen auf die aktuell unterstützten Modellnamen. Verwenden Sie NICHT
gemini-2.0-proodergemini-2.0-flashoder andere ältere Modelle, die eingestellt wurden.
Referenzen
Android (Kotlin) SDK – Nutzungsmuster iOS SDK – Codebeispiele und Nutzungsmuster Web SDK – Einrichtung, Codebeispiele und Nutzungsmuster
Flutter SDK – Codebeispiele und Nutzungsmuster Clientseitige Text-to-Speech (TTS)-Generierung