Comece a usar a API Gemini com os SDKs de lógica de IA do Firebase

Este guia mostra como começar a fazer chamadas para o Gemini API diretamente do seu app usando os SDKs de cliente Firebase AI Logic da plataforma escolhida.

Você também pode usar este guia para acessar modelos Imagen usando os SDKs Firebase AI Logic.

Pré-requisitos

Swift

Neste guia, pressupomos que você já sabe usar o Xcode para desenvolver apps para plataformas da Apple (como o iOS).

  • Verifique se o ambiente de desenvolvimento e o app para plataformas da Apple atendem a estes requisitos:

    • Xcode 16.2 ou mais recente
    • O app é direcionado ao iOS 15 ou mais recente ou ao macOS 12 ou mais recente
  • (Opcional) Confira o app de exemplo.

    Fazer o download do app de início rápido

    Você pode testar o SDK rapidamente, conferir uma implementação completa de vários casos de uso ou usar o app de exemplo se não tiver seu próprio app para plataformas Apple. Para usar o app de exemplo, você precisará conectar a um projeto do Firebase.

Kotlin

Neste guia, pressupomos que você já sabe usar o Android Studio para desenvolver apps para Android.

  • Verifique se o ambiente de desenvolvimento e o app Android atendem a estes requisitos:

    • Android Studio (versão mais recente)
    • O app é direcionado ao nível 21 da API ou mais recente
  • (Opcional) Confira o app de exemplo.

    Fazer o download do app de exemplo

    Você pode testar o SDK rapidamente, conferir uma implementação completa de vários casos de uso ou usar o app de exemplo se não tiver um próprio app Android. Para usar o app de exemplo, é necessário conectar a um projeto do Firebase.

Java

Neste guia, pressupomos que você já sabe usar o Android Studio para desenvolver apps para Android.

  • Verifique se o ambiente de desenvolvimento e o app Android atendem a estes requisitos:

    • Android Studio (versão mais recente)
    • O app é direcionado ao nível 21 da API ou mais recente
  • (Opcional) Confira o app de exemplo.

    Fazer o download do app de exemplo

    Você pode testar o SDK rapidamente, conferir uma implementação completa de vários casos de uso ou usar o app de exemplo se não tiver um próprio app Android. Para usar o app de exemplo, é necessário conectar a um projeto do Firebase.

Web

Neste guia, pressupomos que você já sabe usar o JavaScript para desenvolver apps da Web. Este guia não depende da estrutura.

  • Verifique se o ambiente de desenvolvimento e o app da Web atendem a estes requisitos:

    • (Opcional) Node.js
    • Navegador da Web moderno
  • (Opcional) Confira o app de exemplo.

    Fazer o download do app de exemplo

    Você pode testar o SDK rapidamente, conferir uma implementação completa de vários casos de uso ou usar o app de exemplo se não tiver seu próprio app da Web. Para usar o app de exemplo, é necessário conectar a um projeto do Firebase.

Dart

Neste guia, pressupomos que você já sabe desenvolver apps com o Flutter.

  • Verifique se o ambiente de desenvolvimento e o app Flutter atendem a estes requisitos:

    • Dart 3.2.0+
  • (Opcional) Confira o app de exemplo.

    Fazer o download do app de exemplo

    Você pode testar o SDK rapidamente, conferir uma implementação completa de vários casos de uso ou usar o app de exemplo se não tiver o próprio app do Flutter. Para usar o app de exemplo, você precisa conectar a um projeto do Firebase.

Unity

Neste guia, pressupomos que você já sabe desenvolver jogos com o Unity.

  • Verifique se o ambiente de desenvolvimento e o jogo do Unity atendem a estes requisitos:

    • Unity Editor 2021 LTS ou mais recente
  • (Opcional) Confira o app de exemplo.

    Fazer o download do app de exemplo

    Você pode testar o SDK rapidamente, conferir uma implementação completa de vários casos de uso ou usar o app de exemplo se não tiver seu próprio jogo do Unity. Para usar o app de exemplo, é necessário conectar a um projeto do Firebase.

Etapa 1: configurar um projeto do Firebase e conectar o app

  1. Faça login no console do Firebase e selecione seu projeto do Firebase.

  2. No console Firebase, acesse a página Firebase AI Logic.

  3. Clique em Começar para iniciar um fluxo de trabalho guiado que ajuda a configurar as APIs necessárias e os recursos do projeto.

  4. Selecione o provedor "Gemini API" que você quer usar com os SDKs Firebase AI Logic. Você pode configurar e usar o outro provedor de API mais tarde, se quiser.

    • Gemini Developer API: faturamento opcional (disponível no plano de preços sem custos do Spark)
      O console vai ativar as APIs necessárias e criar uma chave de API Gemini no seu projeto. Você pode configurar o faturamento mais tarde se quiser fazer upgrade do seu plano de preços.

    • Vertex AI Gemini API: necessário faturamento (requer o plano de preços Blaze de pagamento por uso)
      O console vai ajudar você a configurar o faturamento e ativar as APIs necessárias no seu projeto.

  5. Se solicitado no fluxo de trabalho do console, siga as instruções na tela para registrar o app e conectá-lo ao Firebase.

  6. Siga para a próxima etapa deste guia para adicionar o SDK ao app.

Etapa 2: adicionar o SDK

Com o projeto do Firebase configurado e o app conectado ao Firebase (consulte a etapa anterior), agora você pode adicionar o SDK Firebase AI Logic ao app.

Swift

Use o Swift Package Manager para instalar e gerenciar as dependências do Firebase.

A biblioteca Firebase AI Logic oferece acesso às APIs para interagir com os modelos Gemini e Imagen. A biblioteca é incluída como parte do SDK do Firebase para plataformas Apple (firebase-ios-sdk).

Se você já estiver usando o Firebase, verifique se o pacote do Firebase é v11.13.0 ou mais recente.

  1. No Xcode, com o projeto do app aberto, acesse File > Add Package Dependencies.

  2. Quando solicitado, adicione o repositório do SDK do Firebase para as plataformas Apple:

    https://github.com/firebase/firebase-ios-sdk
    
  3. Selecione a versão mais recente do SDK.

  4. Selecione a biblioteca FirebaseAI.

Quando terminar, o Xcode vai começar a resolver e fazer o download das dependências em segundo plano automaticamente.

Kotlin

O SDK Firebase AI Logic para Android (firebase-ai) oferece acesso às APIs para interagir com os modelos Gemini e Imagen.

No arquivo Gradle do módulo (nível do app) (como <project>/<app-module>/build.gradle.kts), adicione a dependência da biblioteca Firebase AI Logic para Android. Recomendamos o uso do Firebase Android BoM para controlar o controle de versões da biblioteca.

dependencies {
  // ... other androidx dependencies

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

Com o Firebase Android BoM, seu app sempre vai usar versões compatíveis das bibliotecas do Firebase para Android.

Java

O SDK Firebase AI Logic para Android (firebase-ai) oferece acesso às APIs para interagir com os modelos Gemini e Imagen.

No arquivo Gradle do módulo (nível do app) (como <project>/<app-module>/build.gradle.kts), adicione a dependência da biblioteca Firebase AI Logic para Android. Recomendamos o uso do Firebase Android BoM para controlar o controle de versões da biblioteca.

Para Java, é necessário adicionar duas bibliotecas.

dependencies {
  // ... other androidx dependencies

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

Com o Firebase Android BoM, seu app sempre vai usar versões compatíveis das bibliotecas do Firebase para Android.

Web

A biblioteca Firebase AI Logic oferece acesso às APIs para interagir com os modelos Gemini e Imagen. A biblioteca é incluída como parte do SDK do Firebase para JavaScript da Web.

  1. Instale o SDK do Firebase para JavaScript para Web usando o npm:

    npm install firebase
    
  2. Inicialize o Firebase no seu app:

    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

O plug-in Firebase AI Logic para Flutter (firebase_ai) fornece acesso às APIs para interagir com os modelos Gemini e Imagen.

  1. No diretório do projeto do Flutter, execute o seguinte comando para instalar o plug-in principal e o plug-in Firebase AI Logic:

    flutter pub add firebase_core && flutter pub add firebase_ai
    
  2. No arquivo lib/main.dart, importe o plug-in principal do Firebase, o plug-in Firebase AI Logic e o arquivo de configuração gerado antes:

    import 'package:firebase_core/firebase_core.dart';
    import 'package:firebase_ai/firebase_ai.dart';
    import 'firebase_options.dart';
    
  3. Ainda no arquivo lib/main.dart, inicialize o Firebase usando o objeto DefaultFirebaseOptions exportado pelo arquivo de configuração:

    await Firebase.initializeApp(
      options: DefaultFirebaseOptions.currentPlatform,
    );
    
  4. Recrie o aplicativo do Flutter:

    flutter run
    

Unity

  1. Faça o download do SDK do Firebase Unity e extraia-o em um local prático.

    O SDK do Firebase para Unity não é específico de nenhuma plataforma.

  2. No seu projeto aberto do Unity, acesse Assets > Import Package > Custom Package.

  3. No SDK extraído, selecione o pacote FirebaseAI.

  4. Na janela Import Unity Package, clique em Import.

  5. De volta ao fluxo de trabalho de configuração no Console do Firebase, clique em Avançar.

Etapa 3: inicializar o serviço e criar uma instância de modelo

Clique no seu provedor de Gemini API para conferir o conteúdo e o código específicos do provedor nesta página.

Ao usar os SDKs de cliente Firebase AI Logic com o Gemini Developer API, NÃO adicione a chave de API Gemini à base de código do app. Saiba mais.

Antes de enviar uma solicitação para um modelo Gemini, inicie o serviço para o provedor de API escolhido e crie uma instância 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");

Dependendo do recurso que você está usando, talvez não seja possível criar uma instância de GenerativeModel.

Além disso, depois de concluir este guia de início, aprenda a escolher um modelo para seu caso de uso e app.

Etapa 4: enviar uma solicitação de comando para um modelo

Agora você está configurado para enviar uma solicitação de comando a um modelo Gemini.

Você pode usar generateContent() para gerar texto com base em um comando que contém texto:

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

No Kotlin, os métodos neste SDK são funções de suspensão e precisam ser chamados de um escopo de corrotina.

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

Em Java, os métodos neste SDK retornam um 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.");

O que mais você pode fazer?

Saiba mais sobre os modelos compatíveis

Saiba mais sobre os modelos disponíveis para vários casos de uso e as cotas e o preço.

Testar outros recursos

Saiba como controlar a geração de conteúdo

Você também pode testar comandos e configurações de modelo e até mesmo receber um snippet de código gerado usando Google AI Studio.


Enviar feedback sobre sua experiência com o Firebase AI Logic