Pierwsze kroki z Gemini API przy użyciu pakietów SDK Firebase AI Logic

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ę.

    Pobierz 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ę.

    Pobierz 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ę.

    Pobierz 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ę.

    Pobierz 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ę.

    Pobierz 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ę

  1. Zaloguj się w Firebasekonsoli, a potem wybierz projekt Firebase.

  2. W konsoli Firebase otwórz stronę Firebase AI Logic.

  3. Kliknij Rozpocznij, aby uruchomić procedurę, która pomoże Ci skonfigurować wymagane interfejsy API i zasoby w projekcie.

  4. 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 informacji

    • Vertex 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.

  5. 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.

  6. 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 GeminiImagen. 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ą.

  1. Po otwarciu projektu aplikacji wybierz w Xcode opcję File > Add Package Dependencies (Plik > Dodaj zależności pakietu).

  2. Gdy pojawi się prośba, dodaj repozytorium pakietu SDK Firebase na platformy Apple:

    https://github.com/firebase/firebase-ios-sdk
    
  3. Wybierz najnowszą wersję pakietu SDK.

  4. 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 GeminiImagen.

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 GeminiImagen.

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 GeminiImagen. Biblioteka jest częścią pakietu Firebase JavaScript SDK dla internetu.

  1. Zainstaluj pakiet Firebase JS SDK na potrzeby internetu za pomocą npm:

    npm install firebase
    
  2. 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 GeminiImagen.

  1. 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
    
  2. 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';
    
  3. W pliku lib/main.dart zainicjuj Firebase za pomocą obiektu DefaultFirebaseOptions wyeksportowanego przez plik konfiguracji:

    await Firebase.initializeApp(
      options: DefaultFirebaseOptions.currentPlatform,
    );
    
  4. Przebuduj aplikację Flutter:

    flutter run
    

Unity

  1. Pobierz Firebase Unity SDK, a następnie wyodrębnij go w wygodnym miejscu.

    Pakiet SDK Firebase Unity nie jest przeznaczony dla konkretnej platformy.

  2. W otwartym projekcie Unity kliknij Assets (Zasoby) > Import Package (Importuj pakiet) > Custom Package (Własny pakiet).

  3. W wyodrębnionym pakiecie SDK wybierz FirebaseAI.

  4. W oknie Import Unity Package (Importowanie pakietu dla Unity) kliknij Import (Importuj).

  5. 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.

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 limitachcenach.

Wypróbuj inne funkcje

Dowiedz się, jak kontrolować generowanie treści

Możesz też eksperymentować z promptami i konfiguracjami modeli, a nawet uzyskać wygenerowany fragment kodu za pomocą Google AI Studio.


Prześlij opinię o korzystaniu z usługi Firebase AI Logic