En esta guía, se muestra cómo comenzar a realizar llamadas a Gemini API directamente desde tu app con los SDKs de cliente Firebase AI Logic para la plataforma que elijas.
También puedes usar esta guía para comenzar a acceder a modelos de Imagen con los SDK de Firebase AI Logic.
Requisitos previos
Swift
En esta guía, se da por sentado que conoces el uso de Xcode para desarrollar apps para plataformas de Apple (como iOS).
Asegúrate de que tu entorno de desarrollo y la app para plataformas de Apple cumplan con estos requisitos:
- Xcode 16.2 o una versión posterior
- Tu app está orientada a iOS 15 o versiones posteriores, o a macOS 12 o versiones posteriores
(Opcional) Consulta la app de ejemplo.
Descarga la app de la guía de inicio rápido
Puedes probar el SDK rápidamente, ver una implementación completa de varios casos de uso o usar la app de ejemplo si no tienes tu propia app para plataformas de Apple. Para usar la app de ejemplo, deberás conectarla a un proyecto de Firebase.
Kotlin
En esta guía, se da por sentado que conoces Android Studio y que lo usas para desarrollar apps para Android.
Asegúrate de que tu entorno de desarrollo y tu app para Android cumplan con estos requisitos:
- Android Studio (versión más reciente)
- Tu app está orientada al nivel de API 21 o uno superior
(Opcional) Consulta la app de ejemplo.
Puedes probar el SDK rápidamente, ver una implementación completa de varios casos de uso o usar la app de ejemplo si no tienes tu propia app para Android. Para usar la app de ejemplo, deberás conectarla a un proyecto de Firebase.
Java
En esta guía, se da por sentado que conoces Android Studio y que lo usas para desarrollar apps para Android.
Asegúrate de que tu entorno de desarrollo y tu app para Android cumplan con estos requisitos:
- Android Studio (versión más reciente)
- Tu app está orientada al nivel de API 21 o uno superior
(Opcional) Consulta la app de ejemplo.
Puedes probar el SDK rápidamente, ver una implementación completa de varios casos de uso o usar la app de ejemplo si no tienes tu propia app para Android. Para usar la app de ejemplo, deberás conectarla a un proyecto de Firebase.
Web
En esta guía, se da por sentado que estás familiarizado con el uso de JavaScript para desarrollar apps web. Esta guía no depende del framework.
Asegúrate de que tu entorno de desarrollo y tu app web cumplan con los siguientes requisitos:
- Node.js (opcional)
- Navegador web moderno
(Opcional) Consulta la app de ejemplo.
Puedes probar el SDK rápidamente, ver una implementación completa de varios casos de uso o usar la app de ejemplo si no tienes tu propia app web. Para usar la app de ejemplo, deberás conectarla a un proyecto de Firebase.
Dart
En esta guía, se da por sentado que conoces el desarrollo de apps con Flutter.
Asegúrate de que tu entorno de desarrollo y la app de Flutter cumplan con estos requisitos:
- Dart 3.2.0 y versiones posteriores
(Opcional) Consulta la app de ejemplo.
Puedes probar el SDK rápidamente, ver una implementación completa de varios casos de uso o usar la app de ejemplo si no tienes tu propia app de Flutter. Para usar la app de ejemplo, deberás conectarla a un proyecto de Firebase.
Unity
En esta guía, se da por sentado que conoces el desarrollo de juegos con Unity.
Asegúrate de que tu entorno de desarrollo y el juego de Unity cumplan con estos requisitos:
- Unity Editor 2021 LTS o versiones posteriores
(Opcional) Consulta la app de ejemplo.
Puedes probar el SDK rápidamente, ver una implementación completa de varios casos de uso o usar la app de ejemplo si no tienes tu propio juego de Unity. Para usar la app de ejemplo, deberás conectarla a un proyecto de Firebase.
Paso 1: Configura un proyecto de Firebase y conecta tu app
Accede a la consola de Firebase y selecciona tu proyecto de Firebase.
En la consola de Firebase, ve a la página Firebase AI Logic.
Haz clic en Comenzar para iniciar un flujo de trabajo guiado que te ayudará a configurar las APIs requeridas y los recursos de tu proyecto.
Selecciona el proveedor "Gemini API" que deseas usar con los SDKs de Firebase AI Logic. Si lo deseas, puedes configurar y usar el otro proveedor de API más adelante.
Gemini Developer API: Facturación opcional (disponible en el plan de precios sin costo de Spark)
Console habilitará las APIs requeridas y creará una clave de API Gemini en tu proyecto. Puedes configurar la facturación más adelante si deseas actualizar tu plan de precios.Vertex AI Gemini API: Facturación obligatoria (requiere el plan de precios de pago por uso Blaze)
La consola te ayudará a configurar la facturación y habilitar las APIs requeridas en tu proyecto.
Si se te solicita en el flujo de trabajo de la consola, sigue las instrucciones en pantalla para registrar tu app y conectarla a Firebase.
Continúa con el siguiente paso de esta guía para agregar el SDK a tu app.
Paso 2: Agrega el SDK
Con tu proyecto de Firebase configurado y tu app conectada a Firebase (consulta el paso anterior), ahora puedes agregar el SDK de Firebase AI Logic a tu app.
Swift
Usa Swift Package Manager para instalar y administrar las dependencias de Firebase.
La biblioteca de Firebase AI Logic proporciona acceso a las APIs para interactuar con los modelos Gemini y Imagen. La biblioteca se incluye
como parte del SDK de Firebase para plataformas de Apple (firebase-ios-sdk
).
Si ya usas Firebase, asegúrate de que tu paquete de Firebase sea la versión 11.13.0 o una posterior.
En Xcode, con el proyecto de tu app abierto, navega a File > Add Package Dependencies.
Cuando se te solicite, agrega el repositorio del SDK de Firebase para plataformas de Apple:
https://github.com/firebase/firebase-ios-sdk
Selecciona la versión más reciente del SDK.
Selecciona la biblioteca de
FirebaseAI
.
Cuando termines, Xcode comenzará a resolver y descargar automáticamente tus dependencias en segundo plano.
Kotlin
El SDK de Firebase AI Logic para Android (firebase-ai
) proporciona acceso a las APIs para interactuar con los modelos Gemini y Imagen.
En el archivo Gradle del módulo (nivel de app) (como <project>/<app-module>/build.gradle.kts
), agrega la dependencia de la biblioteca de Firebase AI Logic para Android.
Te recomendamos usar Firebase Android BoM para controlar las versiones de las 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") }
Cuando usas Firebase Android BoM, tu app siempre usará versiones compatibles de las bibliotecas de Firebase para Android.
Java
El SDK de Firebase AI Logic para Android (firebase-ai
) proporciona acceso a las APIs para interactuar con los modelos Gemini y Imagen.
En el archivo Gradle del módulo (nivel de app) (como <project>/<app-module>/build.gradle.kts
), agrega la dependencia de la biblioteca de Firebase AI Logic para Android.
Te recomendamos usar Firebase Android BoM para controlar las versiones de las bibliotecas.
En el caso de Java, debes agregar dos bibliotecas adicionales.
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") }
Cuando usas Firebase Android BoM, tu app siempre usará versiones compatibles de las bibliotecas de Firebase para Android.
Web
La biblioteca de Firebase AI Logic proporciona acceso a las APIs para interactuar con los modelos Gemini y Imagen. La biblioteca se incluye como parte del SDK de Firebase JavaScript para la Web.
Instala el SDK de Firebase JS para la Web con npm:
npm install firebase
Inicializa Firebase en tu 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
El complemento Firebase AI Logic para Flutter (firebase_ai
) proporciona acceso a las APIs para interactuar con los modelos Gemini y Imagen.
Desde el directorio de tu proyecto de Flutter, ejecuta el siguiente comando para instalar el complemento principal y el complemento Firebase AI Logic:
flutter pub add firebase_core && flutter pub add firebase_ai
En el archivo
lib/main.dart
, importa el complemento principal de Firebase, el complemento Firebase AI Logic y el archivo de configuración que generaste antes:import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_ai/firebase_ai.dart'; import 'firebase_options.dart';
Además, en tu archivo
lib/main.dart
, inicializa Firebase con el objetoDefaultFirebaseOptions
exportado por el archivo de configuración:await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, );
Vuelve a compilar tu aplicación de Flutter:
flutter run
Unity
Descarga el SDK de Unity de Firebase y, luego, extráelo en un lugar conveniente.
El SDK de Firebase Unity no es específico para cada plataforma.
Abre el proyecto de Unity, ve a Elementos > Importar paquete > Paquete personalizado.
En el SDK extraído, selecciona el paquete
FirebaseAI
.En la ventana Import Unity Package, haz clic en Import.
Vuelve a Firebase console y, en el flujo de trabajo de configuración, haz clic en Siguiente.
Paso 3: Inicializa el servicio y crea una instancia de modelo
Haz clic en tu proveedor de Gemini API para ver el contenido y el código específicos del proveedor en esta página. |
Cuando usas los SDKs clientes de Firebase AI Logic con Gemini Developer API, NO debes agregar tu clave de API de Gemini a la base de código de tu app. Obtén más información.
Antes de enviar una instrucción a un modelo Gemini, inicializa el servicio del proveedor de API que elegiste y crea una instancia de 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");
Ten en cuenta que , según la capability que uses, es posible que no siempre se cree una instancia de GenerativeModel
.
- Para acceder a un modelo Imagen, crea una instancia de
ImagenModel
.
Además, después de terminar esta guía de introducción, aprende a elegir un modelo para tu caso de uso y app.
Paso 4: Envía una solicitud de instrucción a un modelo
Ya está todo listo para enviar una solicitud de instrucción a un modelo Gemini.
Puedes usar generateContent()
para generar texto a partir de una instrucción que contenga 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
En Kotlin, los métodos de este SDK son funciones de suspensión y se deben llamar desde un alcance de corrutinas.
// 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
En Java, los métodos de este SDK muestran unListenableFuture
.
// 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.");
¿Qué más puedes hacer?
Más información sobre los modelos compatibles
Obtén información sobre los modelos disponibles para varios casos de uso y sus cuotas y precios.
Prueba otras funciones
- Obtén más información para generar texto a partir de instrucciones de solo texto, lo que incluye cómo transmitir la respuesta.
- Genera texto con instrucciones de varios tipos de archivos, como imágenes, PDF, video y audio.
- Crea conversaciones de varios turnos (chat).
- Genera resultados estructurados (como JSON) a partir de instrucciones multimodales y de texto.
- Genera imágenes a partir de instrucciones de texto.
- Transmite la entrada y la salida (incluido el audio) con Gemini Live API.
- Usa las llamadas a función para conectar los modelos generativos a sistemas y datos externos.
Aprende a controlar la generación de contenido
- Comprende el diseño de instrucciones, incluidas las prácticas recomendadas, las estrategias y los ejemplos de instrucciones.
- Configura los parámetros del modelo, como la temperatura y la cantidad máxima de tokens de salida (para Gemini) o la relación de aspecto y la generación de personas (para Imagen).
- Usa la configuración de seguridad para ajustar la probabilidad de recibir respuestas que se puedan considerar dañinas.
Envía comentarios sobre tu experiencia con Firebase AI Logic