Este guia mostra como começar a fazer chamadas para o Gemini API diretamente no seu app usando os SDKs de cliente Firebase AI Logic para a 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 moderno da Web
(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
Faça login no console do Firebase e selecione seu projeto do Firebase.
No console Firebase, acesse a página Firebase AI Logic.
Clique em Começar para iniciar um fluxo de trabalho guiado que ajuda a configurar as APIs necessárias e os recursos do projeto.
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.
Não adicione essa chave de API Gemini à base de código do app. Saiba mais.Você pode configurar o faturamento mais tarde se quiser fazer upgrade do 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.
Se solicitado no fluxo de trabalho do console, siga as instruções na tela para registrar o app e conectá-lo ao Firebase.
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.
No Xcode, com o projeto do app aberto, navegue até File > Add Package Dependencies.
Quando solicitado, adicione o repositório do SDK do Firebase para as plataformas Apple:
https://github.com/firebase/firebase-ios-sdk
Selecione a versão mais recente do SDK.
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.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") }
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.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") }
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.
Instale o SDK do Firebase para JavaScript para Web usando o npm:
npm install firebase
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.
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
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';
Ainda no arquivo
lib/main.dart
, inicialize o Firebase usando o objetoDefaultFirebaseOptions
exportado pelo arquivo de configuração:await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, );
Recrie o aplicativo do Flutter:
flutter run
Unity
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.
No seu projeto aberto do Unity, acesse Assets > Import Package > Custom Package.
No SDK extraído, selecione o pacote
FirebaseAI
.Na janela Import Unity Package, clique em Import.
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. |
Antes de enviar uma solicitação para um modelo Gemini,
inicialize 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.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");
Dependendo do recurso que você está usando, talvez não seja possível
criar uma instância de GenerativeModel
.
- Para acessar um modelo Imagen,
crie uma instância
ImagenModel
.
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.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
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.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
Em Java, os métodos neste SDK retornam umListenableFuture
.
// 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.");
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 mais sobre como gerar texto de solicitações somente de texto, incluindo como transmitir a resposta.
- Gere texto solicitando vários tipos de arquivos, como imagens, PDFs, vídeos e áudio.
- Crie conversas com vários turnos (chat).
- Gere saída estruturada (como JSON) com base em comandos de texto e multimodais.
- Gerar imagens com base em comandos de texto (Gemini ou Imagen).
- Transmitir entrada e saída (incluindo áudio) usando o Gemini Live API.
- Use a chamada de função para conectar modelos generativos a sistemas e informações externas.
Saiba como controlar a geração de conteúdo
- Entenda o design de comandos, incluindo práticas recomendadas, estratégias e exemplos de comandos.
- Configure parâmetros do modelo, como temperatura e máximo de tokens de saída (para Gemini) ou proporção e geração de pessoas (para Imagen).
- Use as configurações de segurança para ajustar a probabilidade de receber respostas que podem ser consideradas nocivas.
Enviar feedback sobre sua experiência com Firebase AI Logic