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
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. 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.
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, acesse 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.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.
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. |
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
.
- 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.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 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.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 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 comandos de texto e multimodais.
- Gerar imagens com base em comandos de texto.
- Transmita entrada e saída de stream (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 o Firebase AI Logic