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

Ten przewodnik pokazuje, jak zacząć korzystać z funkcji Gemini API bezpośrednio z aplikacji za pomocą pakietów SDK klienta Firebase AI Logic na wybranej platformie.

Z tego przewodnika możesz też skorzystać, aby rozpocząć dostęp do modeli Imagen za pomocą pakietów SDK Firebase AI Logic.

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 16.2 lub nowsza
    • Twoja aplikacja jest kierowana na system iOS 15 lub nowszy albo macOS 12 lub nowszy.
  • (Opcjonalnie) Zapoznaj się z przykładową aplikacją.

    Pobierz aplikację Szybki start

    Możesz szybko wypróbować pakiet SDK, zobaczyć pełną implementację różnych przypadków użycia lub użyć 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 zakładamy, że wiesz, jak używać Android Studio do tworzenia aplikacji na Androida.

  • Upewnij się, że środowisko programistyczne i aplikacja na Androida spełniają te wymagania:

    • Android Studio (najnowsza wersja)
    • Twoja aplikacja jest kierowana na interfejs API na poziomie 21 lub wyższym.
  • (Opcjonalnie) Zapoznaj się z 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 użyć 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 zakładamy, że wiesz, jak używać Android Studio do tworzenia aplikacji na Androida.

  • Upewnij się, że środowisko programistyczne i aplikacja na Androida spełniają te wymagania:

    • Android Studio (najnowsza wersja)
    • Twoja aplikacja jest kierowana na interfejs API na poziomie 21 lub wyższym.
  • (Opcjonalnie) Zapoznaj się z 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 użyć 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 zakładamy, że znasz JavaScript i wiesz, jak tworzyć aplikacje internetowe. 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
  • (Opcjonalnie) Zapoznaj się z 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 użyć 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 zakładamy, że znasz już programowanie aplikacji w Flutterze.

  • Upewnij się, że środowisko programistyczne i aplikacja Flutter spełniają te wymagania:

    • Dart 3.2.0 lub nowszy
  • (Opcjonalnie) Zapoznaj się z 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 użyć 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 przyjmujemy założenie, że znasz już tworzenie gier w Unity.

  • Upewnij się, że środowisko programistyczne i gra w Unity spełniają te wymagania:

    • Edytor Unity w wersji LTS z 2021 r. lub nowszej
  • (Opcjonalnie) Zapoznaj się z 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 użyć przykładowej aplikacji, jeśli nie masz własnej gry na Unity. Aby korzystać z aplikacji przykładowej, musisz połączyć ją z projektem Firebase.

Krok 1. Skonfiguruj projekt Firebase i połącz z nim aplikację.

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

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

  3. Kliknij Rozpocznij, aby uruchomić skonfigurowany przepływ pracy, który pomoże Ci skonfigurować wymagane interfejsy API i zasoby dla projektu.

  4. Wybierz dostawcę „Gemini API”, którego chcesz używać z pakietami SDK „Firebase AI Logic”. W każdej chwili możesz skonfigurować innego dostawcę interfejsu API i z niego korzystać.

    • Gemini Developer API – opcjonalne rozliczenia (dostępne w bezpłatnym planie cennika Spark)
      – konsola włączy wymagane interfejsy API i utworzy w projekcie klucz interfejsu API Gemini.
      Nie dodawaj tego klucza interfejsu API Gemini do kodu aplikacji. Więcej informacji

      Jeśli chcesz zmienić plan taryfowy, możesz skonfigurować rozliczenia później.

    • Vertex AI Gemini API – wymagane rozliczenia (wymaga planu Blaze z opłatą za użycie)
       – konsola pomoże Ci skonfigurować rozliczenia i włączyć wymagane interfejsy API w projekcie.

  5. Jeśli w ramach procesu w konsoli pojawi się odpowiedni komunikat, 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 dodać do aplikacji pakiet SDK Firebase AI Logic.

Swift

Do instalacji zależności Firebase i zarządzania nimi możesz używać menedżera pakietów Swift.

Biblioteka Firebase AI Logic udostępnia interfejsy API do interakcji z modelami GeminiImagen. Biblioteka jest dołączona do pakietu SDK Firebase na platformy Apple (firebase-ios-sdk).

Jeśli używasz już Firebase, sprawdź, czy pakiet Firebase ma wersję 11.13.0 lub nowszą.

  1. Po otwarciu projektu aplikacji w Xcode wybierz 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 bibliotekę FirebaseAI.

Gdy to zrobisz, Xcode zacznie automatycznie wyszukiwać i pobierać zależności w tle.

Kotlin

Pakiet SDK Firebase AI Logic na Androida (firebase-ai) zapewnia dostęp do interfejsów API umożliwiających interakcję z modelami GeminiImagen.

pliku Gradle na poziomie modułu (aplikacji) (np. <project>/<app-module>/build.gradle.kts) dodaj zależność z biblioteką 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.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")
}

Dzięki użyciu Firebase Android BoMaplikacja zawsze będzie używać zgodnych wersji bibliotek Firebase na Androida.

Java

Pakiet SDK Firebase AI Logic na Androida (firebase-ai) zapewnia dostęp do interfejsów API umożliwiających interakcję z modelami GeminiImagen.

pliku Gradle na poziomie modułu (aplikacji) (np. <project>/<app-module>/build.gradle.kts) dodaj zależność z biblioteką 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.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")
}

Dzięki użyciu Firebase Android BoMaplikacja zawsze będzie używać zgodnych wersji bibliotek Firebase na Androida.

Web

Biblioteka Firebase AI Logic udostępnia interfejsy API do interakcji z modelami GeminiImagen. Biblioteka jest zawarta w pakiecie Firebase JavaScript SDK dla sieci Web.

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

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

Wtyczka Firebase AI Logic dla Fluttera (firebase_ai) zapewnia dostęp do interfejsów API umożliwiających interakcję z modelami GeminiImagen.

  1. W katalogu projektu Flutter uruchom to polecenie, aby zainstalować podstawowe i Firebase AI Logic:

    flutter pub add firebase_core && flutter pub add firebase_ai
    
  2. W pliku lib/main.dart zaimportuj podstawowy wtyczkę Firebase, wtyczkę Firebase AI Logic oraz wygenerowany wcześniej plik konfiguracji:

    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. Zbuduj ponownie aplikację Flutter:

    flutter run
    

Unity

  1. Pobierz pakiet SDK Firebase Unity, a potem rozpakuj go w wygodnym miejscu.

    Pakiet SDK Firebase Unity nie jest powiązany z konkretną platformą.

  2. W otwartym projekcie Unity kliknij Zasoby > Importuj pakiet > Pakiet niestandardowy.

  3. W wyodrębnionym pakiecie SDK wybierz pakiet FirebaseAI.

  4. W oknie Importowanie pakietu Unity kliknij Importuj.

  5. Wróć do konsoli Firebase i w procesie konfiguracji kliknij Dalej.

Krok 3. Inicjuj usługę i utwórz instancję modelu.

Kliknij dostawcę Gemini API, aby wyświetlić na tej stronie treści i kod związane z tym dostawcą.

Jeśli używasz pakietów SDK klienta Firebase AI Logic z poziomu Gemini Developer API, nie dodawaj klucza interfejsu API Gemini do kodu źródłowego aplikacji. Więcej informacji

Zanim wyślesz prompt do modelu Gemini, zainicjuj usługę 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.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');

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.0-flash");

Pamiętaj, że w zależności od używanej funkcji możesz nie zawsze tworzyć instancję GenerativeModel.

Po przeczytaniu tego przewodnika dowiesz się też, jak wybrać model odpowiedni do Twojego przypadku użycia i aplikacji.

Krok 4. Wyślij prośbę o prompt do modelu

Możesz teraz wysłać prośbę o prompt do modelu Gemini.

Za pomocą generateContent() możesz wygenerować tekst z promptu zawierającego:

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

W przypadku Kotlina metody w tym pakiecie SDK są funkcjami zawieszającymi i muszą być wywoływane z zakresu współbieżności.

// 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

W przypadku Javy 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.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);

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.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.");

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 oraz o ich limitachcenach.

Wypróbuj inne funkcje

Dowiedz się, jak kontrolować generowanie treści

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


Prześlij opinię o swoich wrażeniach związanych z usługą Firebase AI Logic