In diesem Leitfaden erfahren Sie, wie Sie mithilfe der Firebase AI Logic-Client-SDKs für die von Ihnen ausgewählte Plattform direkt über Ihre App auf die Gemini API zugreifen.
In diesem Leitfaden erfahren Sie auch, wie Sie mit den Firebase AI Logic SDKs auf Imagen-Modelle zugreifen.
Vorbereitung
Swift
In diesem Leitfaden wird davon ausgegangen, dass Sie mit der Verwendung von Xcode zum Entwickeln von Apps für Apple-Plattformen (z. B. iOS) vertraut sind.
Ihre Entwicklungsumgebung und die App für Apple-Plattformen müssen die folgenden Anforderungen erfüllen:
- Xcode 16.2 oder höher
- Ihre App ist auf iOS 15 oder höher oder macOS 12 oder höher ausgerichtet.
Optional: Sehen Sie sich die Beispiel-App an.
Sie können das SDK schnell ausprobieren, sich eine vollständige Implementierung verschiedener Anwendungsfälle ansehen oder die Beispiel-App verwenden, wenn Sie keine eigene App für Apple-Plattformen haben. Wenn Sie die Beispiel-App verwenden möchten, müssen Sie sie mit einem Firebase-Projekt verknüpfen.
Kotlin
In diesem Leitfaden wird davon ausgegangen, dass Sie mit der Verwendung von Android Studio zum Entwickeln von Apps für Android vertraut sind.
Ihre Entwicklungsumgebung und Ihre Android-App müssen die folgenden Anforderungen erfüllen:
- Android Studio (aktuelle Version)
- Ihre App ist auf API-Level 21 oder höher ausgerichtet
Optional: Sehen Sie sich die Beispiel-App an.
Beispielanwendung herunterladen
Sie können das SDK schnell ausprobieren, sich eine vollständige Implementierung verschiedener Anwendungsfälle ansehen oder die Beispiel-App verwenden, wenn Sie keine eigene Android-App haben. Um die Beispiel-App verwenden zu können, müssen Sie sie mit einem Firebase-Projekt verknüpfen.
Java
In diesem Leitfaden wird davon ausgegangen, dass Sie mit der Verwendung von Android Studio zum Entwickeln von Apps für Android vertraut sind.
Ihre Entwicklungsumgebung und Ihre Android-App müssen die folgenden Anforderungen erfüllen:
- Android Studio (aktuelle Version)
- Ihre App ist auf API-Level 21 oder höher ausgerichtet
Optional: Sehen Sie sich die Beispiel-App an.
Beispielanwendung herunterladen
Sie können das SDK schnell ausprobieren, sich eine vollständige Implementierung verschiedener Anwendungsfälle ansehen oder die Beispiel-App verwenden, wenn Sie keine eigene Android-App haben. Um die Beispiel-App verwenden zu können, müssen Sie sie mit einem Firebase-Projekt verknüpfen.
Web
In diesem Leitfaden wird davon ausgegangen, dass Sie mit der Verwendung von JavaScript zur Entwicklung von Webanwendungen vertraut sind. Dieser Leitfaden ist frameworkunabhängig.
Ihre Entwicklungsumgebung und Webanwendung müssen die folgenden Anforderungen erfüllen:
- Optional: Node.js
- Moderner Webbrowser
Optional: Sehen Sie sich die Beispiel-App an.
Beispielanwendung herunterladen
Sie können das SDK schnell ausprobieren, sich eine vollständige Implementierung verschiedener Anwendungsfälle ansehen oder die Beispiel-App verwenden, wenn Sie keine eigene Web-App haben. Um die Beispiel-App zu verwenden, müssen Sie sie mit einem Firebase-Projekt verknüpfen.
Dart
In diesem Leitfaden wird davon ausgegangen, dass Sie mit der Entwicklung von Apps mit Flutter vertraut sind.
Ihre Entwicklungsumgebung und Ihre Flutter-App müssen die folgenden Anforderungen erfüllen:
- Dart 3.2.0 oder höher
Optional: Sehen Sie sich die Beispiel-App an.
Beispielanwendung herunterladen
Sie können das SDK schnell ausprobieren, sich eine vollständige Implementierung verschiedener Anwendungsfälle ansehen oder die Beispiel-App verwenden, wenn Sie keine eigene Flutter-App haben. Um die Beispiel-App verwenden zu können, müssen Sie sie mit einem Firebase-Projekt verknüpfen.
Einheit
In diesem Leitfaden wird davon ausgegangen, dass Sie mit der Entwicklung von Spielen mit Unity vertraut sind.
Ihre Entwicklungsumgebung und Ihr Unity-Spiel müssen die folgenden Anforderungen erfüllen:
- Unity Editor 2021 LTS oder höher
Optional: Sehen Sie sich die Beispiel-App an.
Beispielanwendung herunterladen
Sie können das SDK schnell ausprobieren, sich eine vollständige Implementierung verschiedener Anwendungsfälle ansehen oder die Beispiel-App verwenden, wenn Sie kein eigenes Unity-Spiel haben. Wenn Sie die Beispiel-App verwenden möchten, müssen Sie sie mit einem Firebase-Projekt verknüpfen.
Schritt 1: Firebase-Projekt einrichten und App verbinden
Melden Sie sich in der Firebase Console an und wählen Sie Ihr Firebase-Projekt aus.
Rufen Sie in der Firebase Console die Seite Firebase AI Logic auf.
Klicken Sie auf Jetzt starten, um einen interaktiven Workflow zu starten, mit dem Sie die erforderlichen APIs und Ressourcen für Ihr Projekt einrichten können.
Wähle den Gemini API-Anbieter aus, den du mit den Firebase AI Logic-SDKs verwenden möchtest. Sie können den anderen API-Anbieter jederzeit einrichten und verwenden.
Gemini Developer API – optionale Abrechnung (verfügbar im kostenlosen Spark-Preisplan)
In der Console werden die erforderlichen APIs aktiviert und ein Gemini API-Schlüssel in Ihrem Projekt erstellt.
Fügen Sie diesen Gemini API-Schlüssel nicht der Codebasis Ihrer App hinzu. Weitere InformationenSie können die Abrechnung später einrichten, wenn Sie Ihren Preisplan ändern möchten.
Vertex AI Gemini API – Abrechnung erforderlich (erfordert den Blaze-Preisplan „Pay as you go“)
In der Console können Sie die Abrechnung einrichten und die erforderlichen APIs in Ihrem Projekt aktivieren.
Wenn Sie im Workflow der Console dazu aufgefordert werden, folgen Sie der Anleitung auf dem Bildschirm, um Ihre App zu registrieren und mit Firebase zu verbinden.
Fahren Sie mit dem nächsten Schritt in dieser Anleitung fort, um das SDK Ihrer App hinzuzufügen.
Schritt 2: SDK hinzufügen
Nachdem Sie Ihr Firebase-Projekt eingerichtet und Ihre App mit Firebase verbunden haben (siehe vorheriger Schritt), können Sie Ihrer App jetzt das Firebase AI Logic SDK hinzufügen.
Swift
Verwenden Sie Swift Package Manager, um Firebase-Abhängigkeiten zu installieren und zu verwalten.
Die Firebase AI Logic-Bibliothek bietet Zugriff auf die APIs für die Interaktion mit Gemini- und Imagen-Modellen. Die Bibliothek ist Teil des Firebase SDK für Apple-Plattformen (firebase-ios-sdk
).
Wenn Sie Firebase bereits verwenden, muss Ihr Firebase-Paket Version 11.13.0 oder höher sein.
Öffnen Sie Ihr App-Projekt und gehen Sie in Xcode zu File > Add Package Dependencies (Datei > Paketabhängigkeiten hinzufügen).
Fügen Sie bei entsprechender Aufforderung das Firebase Apple Platforms SDK-Repository hinzu:
https://github.com/firebase/firebase-ios-sdk
Wählen Sie die neueste SDK-Version aus.
Wählen Sie die Bibliothek
FirebaseAI
aus.
Wenn Sie fertig sind, beginnt Xcode automatisch, Ihre Abhängigkeiten im Hintergrund aufzulösen und herunterzuladen.
Kotlin
Das Firebase AI Logic SDK for Android (firebase-ai
) bietet Zugriff auf die APIs zur Interaktion mit Gemini- und Imagen-Modellen.
Fügen Sie in der Gradle-Datei des Moduls (auf App-Ebene) (z. B. <project>/<app-module>/build.gradle.kts
) die Abhängigkeit für die Firebase AI Logic-Bibliothek für Android hinzu.
Wir empfehlen, Firebase Android BoM zu verwenden, um die Versionierung der Bibliothek zu steuern.
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.14.0")) // Add the dependency for the Firebase AI Logic library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-ai") }
Mit der Firebase Android BoM haben Sie immer eine kompatible Version der Firebase Android-Bibliotheken in Ihrer App.
Java
Das Firebase AI Logic SDK for Android (firebase-ai
) bietet Zugriff auf die APIs zur Interaktion mit Gemini- und Imagen-Modellen.
Fügen Sie in der Gradle-Datei des Moduls (auf App-Ebene) (z. B. <project>/<app-module>/build.gradle.kts
) die Abhängigkeit für die Firebase AI Logic-Bibliothek für Android hinzu.
Wir empfehlen, Firebase Android BoM zu verwenden, um die Versionierung der Bibliothek zu steuern.
Für Java müssen Sie zwei zusätzliche Bibliotheken hinzufügen.
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.14.0")) // Add the dependency for the Firebase AI Logic library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-ai") // Required for one-shot operations (to use `ListenableFuture` from Guava Android) implementation("com.google.guava:guava:31.0.1-android") // Required for streaming operations (to use `Publisher` from Reactive Streams) implementation("org.reactivestreams:reactive-streams:1.0.4") }
Mit der Firebase Android BoM haben Sie immer eine kompatible Version der Firebase Android-Bibliotheken in Ihrer App.
Web
Die Firebase AI Logic-Bibliothek bietet Zugriff auf die APIs für die Interaktion mit Gemini- und Imagen-Modellen. Die Bibliothek ist Teil des Firebase JavaScript SDK for Web.
So installieren Sie das Firebase JS SDK für das Web mit npm:
npm install firebase
Firebase in Ihrer App initialisieren:
import { initializeApp } from "firebase/app"; // TODO(developer) Replace the following with your app's Firebase configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... }; // Initialize FirebaseApp const firebaseApp = initializeApp(firebaseConfig);
Dart
Das Firebase AI Logic-Plug-in für Flutter (firebase_ai
) bietet Zugriff auf die APIs zur Interaktion mit Gemini- und Imagen-Modellen.
Führen Sie im Verzeichnis Ihres Flutter-Projekts den folgenden Befehl aus, um das Kern-Plug-in und das Firebase AI Logic-Plug-in zu installieren:
flutter pub add firebase_core && flutter pub add firebase_ai
Importieren Sie in die Datei
lib/main.dart
das Firebase-Kern-Plug-in, das Firebase AI Logic-Plug-in und die zuvor generierte Konfigurationsdatei:import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_ai/firebase_ai.dart'; import 'firebase_options.dart';
Initialisieren Sie Firebase in der Datei
lib/main.dart
mit demDefaultFirebaseOptions
-Objekt, das von der Konfigurationsdatei exportiert wurde:await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, );
Erstellen Sie Ihre Flutter-Anwendung neu:
flutter run
Einheit
Lade das Firebase Unity SDK herunter und entpacke es an einem geeigneten Ort.
Das Firebase Unity SDK ist nicht plattformspezifisch.
Rufen Sie in Ihrem geöffneten Unity-Projekt Assets > Import Package > Custom Package auf.
Wähle im entpackten SDK das
FirebaseAI
-Paket aus.Klicken Sie im Fenster Import Unity Package (Unity-Paket importieren) auf Import (Importieren).
Klicken Sie in der Firebase-Konsole im Einrichtungsworkflow auf Weiter.
Schritt 3: Dienst initialisieren und Modellinstanz erstellen
Klicke auf deinen Gemini API-Anbieter, um dir anbieterspezifische Inhalte und Code auf dieser Seite anzusehen. |
Wenn Sie die Firebase AI Logic-Client-SDKs mit der Gemini Developer API verwenden, fügen Sie Ihren Gemini-API-Schlüssel NICHT der Codebasis Ihrer App hinzu. Weitere Informationen
Bevor Sie einen Prompt an ein Gemini-Modell senden, müssen Sie den Dienst für den ausgewählten API-Anbieter initialisieren und eine Gemini-Instanz erstellen.GenerativeModel
Swift
import FirebaseAI
// Initialize the Gemini Developer API backend service
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "gemini-2.0-flash")
Kotlin
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
.generativeModel("gemini-2.0-flash")
Java
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
.generativeModel("gemini-2.0-flash");
// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(ai);
Web
import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend } from "firebase/ai";
// TODO(developer) Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
// ...
};
// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);
// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(ai, { model: "gemini-2.0-flash" });
Dart
import 'package:firebase_ai/firebase_ai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';
// Initialize FirebaseApp
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
final model =
FirebaseAI.googleAI().generativeModel(model: 'gemini-2.0-flash');
Einheit
using Firebase;
using Firebase.AI;
// Initialize the Gemini Developer API backend service
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());
// Create a `GenerativeModel` instance with a model that supports your use case
var model = ai.GetGenerativeModel(modelName: "gemini-2.0-flash");
Je nach verwendeter Funktion wird möglicherweise nicht immer eine GenerativeModel
-Instanz erstellt.
- Wenn Sie auf ein Imagen-Modell zugreifen möchten, erstellen Sie eine
ImagenModel
-Instanz.
Nachdem Sie diese Einführung durchgearbeitet haben, erfahren Sie, wie Sie ein Modell für Ihren Anwendungsfall und Ihre App auswählen.
Schritt 4: Prompt-Anfrage an ein Modell senden
Sie können jetzt eine Prompt-Anfrage an ein Gemini-Modell senden.
Mit generateContent()
können Sie Text aus einem Prompt generieren, der Text enthält:
Swift
import FirebaseAI
// Initialize the Gemini Developer API backend service
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "gemini-2.0-flash")
// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."
// To generate text output, call generateContent with the text input
let response = try await model.generateContent(prompt)
print(response.text ?? "No text in response.")
Kotlin
In Kotlin sind die Methoden in diesem SDK Suspend-Funktionen und müssen aus einem Coroutine-Kontext aufgerufen werden.
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
.generativeModel("gemini-2.0-flash")
// Provide a prompt that contains text
val prompt = "Write a story about a magic backpack."
// To generate text output, call generateContent with the text input
val response = generativeModel.generateContent(prompt)
print(response.text)
Java
Bei Java geben die Methoden in diesem SDK eineListenableFuture
zurück.
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
.generativeModel("gemini-2.0-flash");
// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(ai);
// Provide a prompt that contains text
Content prompt = new Content.Builder()
.addText("Write a story about a magic backpack.")
.build();
// To generate text output, call generateContent with the text input
ListenableFuture<GenerateContentResponse> response = model.generateContent(prompt);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
@Override
public void onSuccess(GenerateContentResponse result) {
String resultText = result.getText();
System.out.println(resultText);
}
@Override
public void onFailure(Throwable t) {
t.printStackTrace();
}
}, executor);
Web
import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend } from "firebase/ai";
// TODO(developer) Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
// ...
};
// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);
// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(ai, { model: "gemini-2.0-flash" });
// Wrap in an async function so you can use await
async function run() {
// Provide a prompt that contains text
const prompt = "Write a story about a magic backpack."
// To generate text output, call generateContent with the text input
const result = await model.generateContent(prompt);
const response = result.response;
const text = response.text();
console.log(text);
}
run();
Dart
import 'package:firebase_ai/firebase_ai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';
// Initialize FirebaseApp
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
final model =
FirebaseAI.googleAI().generativeModel(model: 'gemini-2.0-flash');
// Provide a prompt that contains text
final prompt = [Content.text('Write a story about a magic backpack.')];
// To generate text output, call generateContent with the text input
final response = await model.generateContent(prompt);
print(response.text);
Einheit
using Firebase;
using Firebase.AI;
// Initialize the Gemini Developer API backend service
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());
// Create a `GenerativeModel` instance with a model that supports your use case
var model = ai.GetGenerativeModel(modelName: "gemini-2.0-flash");
// Provide a prompt that contains text
var prompt = "Write a story about a magic backpack.";
// To generate text output, call GenerateContentAsync with the text input
var response = await model.GenerateContentAsync(prompt);
UnityEngine.Debug.Log(response.Text ?? "No text in response.");
Was können Sie sonst noch tun?
Weitere Informationen zu den unterstützten Modellen
Hier finden Sie Informationen zu den Modellen, die für verschiedene Anwendungsfälle verfügbar sind, sowie zu ihren Kontingenten und Preisen.
Weitere Funktionen ausprobieren
- Weitere Informationen zum Generieren von Text aus Prompts mit reinem Text, einschließlich der Möglichkeit, die Antwort zu streamen
- Sie können Text generieren, indem Sie verschiedene Dateitypen als Prompt verwenden, z. B. Bilder, PDFs, Videos und Audio.
- Unterhaltungen in mehreren Runden (Chat) erstellen
- Sie können sowohl aus Text- als auch aus multimodalen Prompts strukturierte Ausgabe (z. B. JSON) generieren.
- Bilder aus Text-Prompts generieren
- Streame Eingabe und Ausgabe (einschließlich Audio) mit der Gemini Live API.
- Verwenden Sie Funktionsaufrufe, um generative Modelle mit externen Systemen und Informationen zu verbinden.
Inhaltserstellung steuern
- Informationen zum Prompt-Design, einschließlich Best Practices, Strategien und Beispiel-Prompts.
- Konfigurieren Sie Modellparameter wie Temperatur und maximale Ausgabetokens (für Gemini) oder Seitenverhältnis und Personengenerierung (für Imagen).
- Mit den Sicherheitseinstellungen können Sie die Wahrscheinlichkeit anpassen, dass Sie Antworten erhalten, die als schädlich eingestuft werden könnten.
Feedback zu Firebase AI Logic geben