Z tego przewodnika dowiesz się, jak zacząć wywoływać Gemini API bezpośrednio z aplikacji za pomocą Firebase AI Logic pakietów SDK klienta na wybranej platformie.
Możesz też skorzystać z tego przewodnika, aby zacząć uzyskiwać dostęp do Imagen modeli za pomocą Firebase AI Logic pakietów SDK.
Wymagania wstępne
Swift
W tym przewodniku założyliśmy, że wiesz, jak używać Xcode do tworzenia aplikacji na platformy Apple (np. iOS).
Upewnij się, że środowisko programistyczne i aplikacja na platformy Apple spełniają te wymagania:
- Xcode w wersji 16.2 lub nowszej
- Twoja aplikacja jest kierowana na system iOS 15 lub nowszy albo macOS 12 lub nowszy.
(Opcjonalnie) Wypróbuj przykładową aplikację.
Pobieranie aplikacji do szybkiego startu
Możesz szybko wypróbować pakiet SDK, zobaczyć pełną implementację różnych przypadków użycia lub skorzystać z przykładowej aplikacji, jeśli nie masz własnej aplikacji na platformy Apple. Aby użyć przykładowej aplikacji, musisz połączyć ją z projektem Firebase.
Kotlin
W tym przewodniku założyliśmy, że znasz Android Studio i umiesz tworzyć aplikacje na Androida.
Upewnij się, że Twoje środowisko programistyczne i aplikacja na Androida spełniają te wymagania:
- Android Studio (najnowsza wersja),
- Aplikacja jest kierowana na interfejs API na poziomie 21 lub wyższym.
(Opcjonalnie) Wypróbuj przykładową aplikację.
Możesz szybko wypróbować pakiet SDK, zobaczyć pełną implementację różnych przypadków użycia lub skorzystać z przykładowej aplikacji, jeśli nie masz własnej aplikacji na Androida. Aby użyć przykładowej aplikacji, musisz połączyć ją z projektem Firebase.
Java
W tym przewodniku założyliśmy, że znasz Android Studio i umiesz tworzyć aplikacje na Androida.
Upewnij się, że Twoje środowisko programistyczne i aplikacja na Androida spełniają te wymagania:
- Android Studio (najnowsza wersja),
- Aplikacja jest kierowana na interfejs API na poziomie 21 lub wyższym.
(Opcjonalnie) Wypróbuj przykładową aplikację.
Możesz szybko wypróbować pakiet SDK, zobaczyć pełną implementację różnych przypadków użycia lub skorzystać z przykładowej aplikacji, jeśli nie masz własnej aplikacji na Androida. Aby użyć przykładowej aplikacji, musisz połączyć ją z projektem Firebase.
Web
W tym przewodniku założyliśmy, że znasz JavaScript i umiesz go używać do tworzenia aplikacji internetowych. Ten przewodnik jest niezależny od platformy.
Upewnij się, że środowisko programistyczne i aplikacja internetowa spełniają te wymagania:
- (Opcjonalnie) Node.js
- Nowoczesna przeglądarka internetowa
(Opcjonalnie) Wypróbuj przykładową aplikację.
Możesz szybko wypróbować pakiet SDK, zobaczyć pełną implementację różnych przypadków użycia lub skorzystać z przykładowej aplikacji, jeśli nie masz własnej aplikacji internetowej. Aby użyć przykładowej aplikacji, musisz połączyć ją z projektem Firebase.
Dart
W tym przewodniku przyjęto założenie, że znasz już podstawy tworzenia aplikacji w Flutterze.
Upewnij się, że środowisko programistyczne i aplikacja Flutter spełniają te wymagania:
- Dart 3.2.0 lub nowszy
(Opcjonalnie) Wypróbuj przykładową aplikację.
Możesz szybko wypróbować pakiet SDK, zobaczyć pełną implementację różnych przypadków użycia lub skorzystać z przykładowej aplikacji, jeśli nie masz własnej aplikacji Flutter. Aby użyć przykładowej aplikacji, musisz połączyć ją z projektem Firebase.
Unity
W tym przewodniku przyjęto założenie, że znasz już podstawy tworzenia gier w Unity.
Upewnij się, że Twoje środowisko programistyczne i gra w Unity spełniają te wymagania:
- Unity Editor 2021 LTS lub nowszy
(Opcjonalnie) Wypróbuj przykładową aplikację.
Możesz szybko wypróbować pakiet SDK, zobaczyć pełną implementację różnych przypadków użycia lub skorzystać z przykładowej aplikacji, jeśli nie masz własnej gry na Unity. Aby używać aplikacji przykładowej, musisz połączyć ją z projektem Firebase.
Krok 1. Skonfiguruj projekt Firebase i połącz aplikację
Zaloguj się w Firebasekonsoli, a potem wybierz projekt Firebase.
W konsoli Firebase otwórz stronę Firebase AI Logic.
Kliknij Rozpocznij, aby uruchomić procedurę, która pomoże Ci skonfigurować wymagane interfejsy API i zasoby w projekcie.
Wybierz dostawcę „Gemini API”, którego chcesz używać z pakietami SDK Firebase AI Logic. W każdej chwili możesz skonfigurować i używać innego dostawcy interfejsu API.
Gemini Developer API – rozliczenia opcjonalne (dostępne w bezpłatnym planie cenowym Spark, z możliwością późniejszego przejścia na wyższy poziom)
Konsola włączy wymagane interfejsy API i utworzy w Twoim projekcie Geminiklucz interfejsu API.
Nie dodawaj tego klucza interfejsu API Gemini do kodu aplikacji. Więcej informacjiVertex AI Gemini API – wymagane rozliczenia (wymaga planu cenowego Blaze z płatnością za wykorzystanie)
Konsola pomoże Ci skonfigurować rozliczenia i włączyć w projekcie wymagane interfejsy API.
Jeśli w procesie w konsoli pojawi się odpowiedni monit, postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby zarejestrować aplikację i połączyć ją z Firebase.
Aby dodać pakiet SDK do aplikacji, przejdź do następnego kroku w tym przewodniku.
Krok 2. Dodaj pakiet SDK
Po skonfigurowaniu projektu Firebase i połączeniu aplikacji z Firebase (patrz poprzedni krok) możesz teraz dodać do aplikacji pakiet Firebase AI Logic SDK.
Swift
Do instalacji zależności Firebase i do zarządzania nimi możesz używać menedżera pakietów Swift.
Biblioteka Firebase AI Logic zapewnia dostęp do interfejsów API do interakcji z modelami Gemini i Imagen. Biblioteka jest częścią pakietu SDK Firebase na platformy Apple (firebase-ios-sdk
).
Jeśli korzystasz już z Firebase, upewnij się, że pakiet Firebase ma wersję 11.13.0 lub nowszą.
Po otwarciu projektu aplikacji wybierz w Xcode opcję File > Add Package Dependencies (Plik > Dodaj zależności pakietu).
Gdy pojawi się prośba, dodaj repozytorium pakietu SDK Firebase na platformy Apple:
https://github.com/firebase/firebase-ios-sdk
Wybierz najnowszą wersję pakietu SDK.
Wybierz
FirebaseAI
bibliotekę.
Gdy skończysz, Xcode zacznie automatycznie wyszukiwać i pobierać zależności w tle.
Kotlin
Firebase AI Logic Pakiet SDK na Androida (firebase-ai
) zapewnia dostęp do interfejsów API do interakcji z modelami Gemini i Imagen.
W pliku Gradle modułu (na poziomie aplikacji) (np. <project>/<app-module>/build.gradle.kts
) dodaj zależność dla biblioteki Firebase AI Logic na Androida.
Zalecamy używanie
Firebase Android BoM
do kontrolowania wersji biblioteki.
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.15.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") }
Gdy korzystamy z Firebase Android BoM, aplikacja zawsze używa zgodnych wersji bibliotek Firebase na Androida.
Java
Firebase AI Logic Pakiet SDK na Androida (firebase-ai
) zapewnia dostęp do interfejsów API do interakcji z modelami Gemini i Imagen.
W pliku Gradle modułu (na poziomie aplikacji) (np. <project>/<app-module>/build.gradle.kts
) dodaj zależność dla biblioteki Firebase AI Logic na Androida.
Zalecamy używanie
Firebase Android BoM
do kontrolowania wersji biblioteki.
W przypadku Javy musisz dodać 2 dodatkowe biblioteki.
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.15.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") }
Gdy korzystamy z Firebase Android BoM, aplikacja zawsze używa zgodnych wersji bibliotek Firebase na Androida.
Web
Biblioteka Firebase AI Logic zapewnia dostęp do interfejsów API do interakcji z modelami Gemini i Imagen. Biblioteka jest częścią pakietu Firebase JavaScript SDK dla internetu.
Zainstaluj pakiet Firebase JS SDK na potrzeby internetu za pomocą npm:
npm install firebase
Zainicjuj Firebase w aplikacji:
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
Firebase AI LogicWtyczka do Fluttera (firebase_ai
) zapewnia dostęp do interfejsów API do interakcji z modelami Gemini i Imagen.
W katalogu projektu Flutter uruchom to polecenie, aby zainstalować wtyczkę podstawową i wtyczkę Firebase AI Logic:
flutter pub add firebase_core && flutter pub add firebase_ai
W pliku
lib/main.dart
zaimportuj podstawową wtyczkę Firebase, wtyczkę Firebase AI Logic i plik konfiguracji wygenerowany wcześniej:import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_ai/firebase_ai.dart'; import 'firebase_options.dart';
W pliku
lib/main.dart
zainicjuj Firebase za pomocą obiektuDefaultFirebaseOptions
wyeksportowanego przez plik konfiguracji:await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, );
Przebuduj aplikację Flutter:
flutter run
Unity
Pobierz Firebase Unity SDK, a następnie wyodrębnij go w wygodnym miejscu.
Pakiet SDK Firebase Unity nie jest przeznaczony dla konkretnej platformy.
W otwartym projekcie Unity kliknij Assets (Zasoby) > Import Package (Importuj pakiet) > Custom Package (Własny pakiet).
W wyodrębnionym pakiecie SDK wybierz
FirebaseAI
.W oknie Import Unity Package (Importowanie pakietu dla Unity) kliknij Import (Importuj).
Wróć do konsoli Firebase i w przepływie pracy konfiguracji kliknij Dalej.
Krok 3. Zainicjuj usługę i utwórz instancję modelu
Kliknij dostawcę Gemini API, aby wyświetlić na tej stronie treści i kod dostawcy. |
Przed wysłaniem promptu do Gemini modelu zainicjuj usługę dla wybranego dostawcy interfejsu API i utwórz instancję 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.5-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.5-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.5-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.5-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.5-flash');
Unity
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.5-flash");
Pamiętaj, że w zależności od używanej funkcji nie zawsze możesz utworzyć instancję GenerativeModel
.
- Aby uzyskać dostęp do modelu Imagen, utwórz instancję
ImagenModel
.
Po przeczytaniu tego przewodnika dla początkujących dowiedz się, jak wybrać model do swojego przypadku użycia i aplikacji.
Krok 4. Wyślij do modelu prośbę (prompt)
Możesz już wysłać żądanie prompta do modelu Gemini.
Możesz użyć generateContent()
, aby wygenerować tekst na podstawie prompta zawierającego tekst:
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.5-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
W przypadku Kotlina metody w tym pakiecie SDK są funkcjami zawieszającymi i muszą być wywoływane w zakresie Coroutine.
// 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.5-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
W przypadku języka Java metody w tym pakiecie SDK zwracają wartośćListenableFuture
.
// 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.5-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.5-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.5-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);
Unity
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.5-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.");
Co jeszcze możesz zrobić?
Więcej informacji o obsługiwanych modelach
Dowiedz się więcej o modelach dostępnych w różnych przypadkach użycia, ich limitach i cenach.
Wypróbuj inne funkcje
- Dowiedz się więcej o generowaniu tekstu na podstawie promptów tekstowych, w tym o tym, jak przesyłać strumieniowo odpowiedź.
- Generuj tekst, podając różne typy plików, np. obrazy, pliki PDF, filmy i pliki audio.
- Twórz rozmowy wieloetapowe (czat).
- Generowanie danych wyjściowych o strukturze (np. JSON) na podstawie promptów tekstowych i multimodalnych.
- Generuj obrazy na podstawie promptów tekstowych (Gemini lub Imagen).
- Przesyłanie strumieniowe danych wejściowych i wyjściowych (w tym audio) za pomocą Gemini Live API.
- Używaj wywoływania funkcji, aby łączyć modele generatywne z systemami zewnętrznymi i informacjami.
Dowiedz się, jak kontrolować generowanie treści
- Poznaj projektowanie promptów, w tym sprawdzone metody, strategie i przykładowe prompty.
- Skonfiguruj parametry modelu, takie jak temperatura i maksymalna liczba tokenów wyjściowych (w przypadku Gemini) lub format obrazu i generowanie osób (w przypadku Imagen).
- Użyj ustawień bezpieczeństwa, aby dostosować prawdopodobieństwo otrzymania odpowiedzi, które mogą być uznane za szkodliwe.
Prześlij opinię o korzystaniu z usługi Firebase AI Logic