Начните работу с API Gemini с помощью SDK Firebase AI Logic

В этом руководстве показано, как начать совершать вызовы к API Gemini непосредственно из вашего приложения, используя клиентские SDK Firebase AI Logic для выбранной вами платформы.

Вы также можете использовать это руководство, чтобы начать работу с доступом к моделям Imagen с помощью Firebase AI Logic SDK.

Предпосылки

Быстрый

В этом руководстве предполагается, что вы знакомы с использованием Xcode для разработки приложений для платформ Apple (например, iOS).

  • Убедитесь, что ваша среда разработки и приложение для платформы Apple соответствуют следующим требованиям:

    • Xcode 16.2 или выше
    • Ваше приложение предназначено для iOS 15 или выше, либо macOS 12 или выше.
  • (Необязательно) Ознакомьтесь с примером приложения.

    Загрузите приложение быстрого старта

    Вы можете быстро опробовать SDK, увидеть полную реализацию различных вариантов использования или воспользоваться примером приложения, если у вас нет собственного приложения для платформ Apple. Чтобы использовать пример приложения, вам необходимо подключить его к проекту Firebase .

Kotlin

В этом руководстве предполагается, что вы знакомы с использованием Android Studio для разработки приложений для Android.

  • Убедитесь, что ваша среда разработки и приложение для Android соответствуют следующим требованиям:

    • Android Studio (последняя версия)
    • Ваше приложение ориентировано на API уровня 21 или выше.
  • (Необязательно) Ознакомьтесь с примером приложения.

    Загрузите пример приложения

    Вы можете быстро опробовать SDK, увидеть полную реализацию различных вариантов использования или воспользоваться примером приложения, если у вас нет собственного приложения для Android. Чтобы использовать пример приложения, вам необходимо подключить его к проекту Firebase .

Java

В этом руководстве предполагается, что вы знакомы с использованием Android Studio для разработки приложений для Android.

  • Убедитесь, что ваша среда разработки и приложение для Android соответствуют следующим требованиям:

    • Android Studio (последняя версия)
    • Ваше приложение ориентировано на API уровня 21 или выше.
  • (Необязательно) Ознакомьтесь с примером приложения.

    Загрузите пример приложения

    Вы можете быстро опробовать SDK, увидеть полную реализацию различных вариантов использования или воспользоваться примером приложения, если у вас нет собственного приложения для Android. Чтобы использовать пример приложения, вам необходимо подключить его к проекту Firebase .

Web

Это руководство предполагает, что вы знакомы с использованием JavaScript для разработки веб-приложений. Оно не зависит от фреймворка.

  • Убедитесь, что ваша среда разработки и веб-приложение соответствуют следующим требованиям:

    • (Необязательно) Node.js
    • Современный веб-браузер
  • (Необязательно) Ознакомьтесь с примером приложения.

    Загрузите пример приложения

    Вы можете быстро опробовать SDK, ознакомиться с полной реализацией различных вариантов использования или использовать пример приложения, если у вас нет собственного веб-приложения. Чтобы использовать пример приложения, вам необходимо подключить его к проекту Firebase .

Dart

В этом руководстве предполагается, что вы знакомы с разработкой приложений с использованием Flutter.

  • Убедитесь, что ваша среда разработки и приложение Flutter соответствуют следующим требованиям:

    • Дарт 3.2.0+
  • (Необязательно) Ознакомьтесь с примером приложения.

    Загрузите пример приложения

    Вы можете быстро опробовать SDK, увидеть полную реализацию различных вариантов использования или воспользоваться примером приложения, если у вас нет собственного приложения Flutter. Чтобы использовать пример приложения, вам необходимо подключить его к проекту Firebase .

Единство

В этом руководстве предполагается, что вы знакомы с разработкой игр на Unity.

  • Убедитесь, что ваша среда разработки и игра Unity соответствуют следующим требованиям:

    • Редактор Unity 2021 LTS или новее
  • (Необязательно) Ознакомьтесь с примером приложения.

    Загрузите пример приложения

    Вы можете быстро опробовать SDK, увидеть полную реализацию различных вариантов использования или воспользоваться примером приложения, если у вас нет собственной игры на Unity. Чтобы использовать пример приложения, вам необходимо подключить его к проекту Firebase .

Шаг 1 : Настройте проект Firebase и подключите свое приложение

  1. Войдите в консоль Firebase и выберите свой проект Firebase.

  2. В консоли Firebase перейдите на страницу Firebase AI Logic .

  3. Нажмите «Начать» , чтобы запустить пошаговый рабочий процесс, который поможет вам настроить необходимые API и ресурсы для вашего проекта.

  4. Выберите поставщика Gemini API , который вы хотите использовать с Firebase AI Logic SDK. Для начинающих пользователей рекомендуется использовать Gemini Developer API . При желании вы всегда сможете добавить биллинг или настроить Vertex AI Gemini API позже.

    • API разработчика Geminiоплата необязательна (доступно в бесплатном тарифном плане Spark, при желании можно перейти на более поздний вариант)
      Консоль включит необходимые API и создаст ключ API Gemini в вашем проекте.
      Не добавляйте этот ключ API Gemini в кодовую базу вашего приложения. Подробнее.

    • Vertex AI Gemini APIтребуется выставление счетов (требуется тарифный план Blaze с оплатой по мере использования)
      Консоль поможет вам настроить биллинг и включить необходимые API в вашем проекте.

  5. При появлении соответствующего запроса в рабочем процессе консоли следуйте инструкциям на экране, чтобы зарегистрировать свое приложение и подключить его к Firebase.

  6. Перейдите к следующему шагу этого руководства, чтобы добавить SDK в свое приложение.

Шаг 2 : Добавьте SDK

После настройки проекта Firebase и подключения приложения к Firebase (см. предыдущий шаг) вы теперь можете добавить Firebase AI Logic SDK в свое приложение.

Быстрый

Используйте Swift Package Manager для установки и управления зависимостями Firebase.

Библиотека Firebase AI Logic предоставляет доступ к API для взаимодействия с моделями Gemini и Imagen . Она входит в состав Firebase SDK для платформ Apple ( firebase-ios-sdk ).

Если вы уже используете Firebase, убедитесь, что ваш пакет Firebase — версия 11.13.0 или более поздняя.

  1. В Xcode откройте проект приложения, перейдите в Файл > Добавить зависимости пакета .

  2. При появлении запроса добавьте репозиторий Firebase Apple Platforms SDK:

    https://github.com/firebase/firebase-ios-sdk
    
  3. Выберите последнюю версию SDK.

  4. Выберите библиотеку FirebaseAI .

После завершения Xcode автоматически начнет разрешать и загружать ваши зависимости в фоновом режиме.

Kotlin

Firebase AI Logic SDK для Android ( firebase-ai ) предоставляет доступ к API для взаимодействия с моделями Gemini и Imagen .

В файле Gradle вашего модуля (уровня приложения) (например, <project>/<app-module>/build.gradle.kts ) добавьте зависимость для библиотеки Firebase AI Logic для Android. Для управления версиями библиотеки мы рекомендуем использовать Firebase Android BoM .

dependencies {
  // ... other androidx dependencies

  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:34.0.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")
}

Используя Firebase Android BoM , ваше приложение всегда будет использовать совместимые версии библиотек Firebase Android.

Java

Firebase AI Logic SDK для Android ( firebase-ai ) предоставляет доступ к API для взаимодействия с моделями Gemini и Imagen .

В файле Gradle вашего модуля (уровня приложения) (например, <project>/<app-module>/build.gradle.kts ) добавьте зависимость для библиотеки Firebase AI Logic для Android. Для управления версиями библиотеки мы рекомендуем использовать Firebase Android BoM .

Для Java необходимо добавить две дополнительные библиотеки.

dependencies {
  // ... other androidx dependencies

  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:34.0.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")
}

Используя Firebase Android BoM , ваше приложение всегда будет использовать совместимые версии библиотек Firebase Android.

Web

Библиотека Firebase AI Logic предоставляет доступ к API для взаимодействия с моделями Gemini и Imagen . Она входит в состав Firebase JavaScript SDK for Web.

  1. Установите Firebase JS SDK для Web с помощью npm:

    npm install firebase
    
  2. Инициализируйте Firebase в вашем приложении:

    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 Logic для Flutter ( firebase_ai ) предоставляет доступ к API для взаимодействия с моделями Gemini и Imagen .

  1. Из каталога проекта Flutter выполните следующую команду, чтобы установить основной плагин и плагин Firebase AI Logic :

    flutter pub add firebase_core firebase_ai
    
  2. В файле lib/main.dart импортируйте основной плагин Firebase, плагин Firebase AI Logic и файл конфигурации, который вы сгенерировали ранее:

    import 'package:firebase_core/firebase_core.dart';
    import 'package:firebase_ai/firebase_ai.dart';
    import 'firebase_options.dart';
    
  3. Также в файле lib/main.dart инициализируйте Firebase, используя объект DefaultFirebaseOptions , экспортированный файлом конфигурации:

    await Firebase.initializeApp(
      options: DefaultFirebaseOptions.currentPlatform,
    );
    
  4. Перестройте свое приложение Flutter:

    flutter run
    

Единство

  1. Загрузите Firebase Unity SDK , затем распакуйте SDK в удобное место.

    Firebase Unity SDK не привязан к какой-либо платформе.

  2. В открытом проекте Unity перейдите в раздел Assets > Import Package > Custom Package .

  3. Из извлеченного SDK выберите пакет FirebaseAI .

  4. В окне Импорт пакета Unity нажмите Импорт .

  5. Вернитесь в консоль Firebase , в рабочем процессе настройки нажмите кнопку Далее .

Шаг 3 : Инициализируйте службу и создайте экземпляр модели.

Щелкните своего поставщика API Gemini , чтобы просмотреть специфичный для этого поставщика контент и код на этой странице.

Перед отправкой запроса модели Gemini инициализируйте службу для выбранного вами поставщика API и создайте экземпляр GenerativeModel .

Быстрый


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');

Единство


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

Обратите внимание, что в зависимости от используемых возможностей вы не всегда можете создать экземпляр GenerativeModel .

Кроме того, после прочтения этого вводного руководства вы узнаете, как выбрать модель для своего варианта использования и приложения.

Шаг 4 : Отправьте быстрый запрос модели

Теперь вы готовы отправить быстрый запрос модели Gemini .

Вы можете использовать generateContent() для генерации текста из приглашения, содержащего текст:

Быстрый


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

Для Kotlin методы в этом SDK являются функциями приостановки и должны вызываться из области действия сопрограммы .

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

Для Java методы в этом SDK возвращают 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);

Единство


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

Что еще вы можете сделать?

Узнайте больше о поддерживаемых моделях

Узнайте о моделях, доступных для различных вариантов использования , их квотах и ценах .

Попробуйте другие возможности

Узнайте, как контролировать генерацию контента

Вы также можете экспериментировать с подсказками и конфигурациями модели и даже получить сгенерированный фрагмент кода с помощью Google AI Studio .


Оставьте отзыв о своем опыте работы с Firebase AI Logic