CommunityProgramación y desarrollogithub.com

THE3RDTRAINER/Homepage

Integra Firebase AI Logic (anteriormente Vertex AI para Firebase) en aplicaciones móviles y web (Android, iOS, Web y Flutter) para llamar a modelos Gemini desde el código del cliente. Úsalo al aprovisionar o inicializar Firebase AI Logic, o al añadir funciones de Gemini a una app: generación de texto, entrada multimodal, chat, streaming, salida estructurada, inferencia híbrida en el dispositivo, protección con App Check o cambio de modelos con Remote Config.

¿Qué es Homepage?

Firebase AI Logic es un producto de Firebase que permite a los desarrolladores añadir IA generativa a sus aplicaciones móviles y web mediante SDKs del lado del cliente. Con esta skill, puedes aprovisionar el servicio usando la CLI de Firebase, agregar el SDK correspondiente a tu proyecto (Android, iOS, Web o Flutter) e inicializar el servicio para comenzar a realizar llamadas a modelos Gemini directamente desde la app, sin necesidad de gestionar un backend dedicado. La skill documenta capacidades esenciales como generación de solo texto, entrada multimodal (texto, imágenes, audio, video y PDF), sesiones de chat, respuestas en streaming, generación de texto a voz (TTS), imágenes con Nano Banana y búsqueda con grounding. También cubre características avanzadas como salida estructurada en JSON, inferencia híbrida (en el dispositivo y en la nube), integración con Firebase App Check para seguridad en producción y uso de Firebase Remote Config para actualizar dinámicamente los nombres de los modelos sin need de desplegar nuevo código.

Compatible con~Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/THE3RDTRAINER/Homepage/tree/HEAD/.agents/skills/firebase-ai-logic-basics

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Conceptos Básicos de Firebase AI Logic

Descripción General

Firebase AI Logic es un producto de Firebase que permite a los desarrolladores añadir IA generativa a sus aplicaciones móviles y web usando SDKs del lado del cliente. La aplicación puede llamar directamente a los modelos Gemini a través de Firebase AI Logic sin necesidad de que el desarrollador gestione un backend dedicado. Firebase AI Logic se conocía anteriormente como "Vertex AI para Firebase".

Admite los dos proveedores de API Gemini:

  • Gemini Developer API: Tiene un nivel gratuito ideal para prototipos y pago por uso para producción.
  • Agent Platform Gemini API (anteriormente Vertex AI): Ideal para escalar con preparación para producción de nivel empresarial, requiere el plan de precios Blaze.

Usa la Gemini Developer API como predeterminada, y solo la Agent Platform Gemini API (anteriormente Vertex AI) si la aplicación lo requiere.


Configuración e Inicialización

Prerrequisitos

  • Identifica la plataforma en la que el usuario está interesado en desarrollar antes de comenzar: Android, iOS, Web o Flutter.
  • Si su plataforma no es compatible, dirige al usuario a la Documentación de Firebase para aprender cómo configurar AI Logic para su aplicación (comparte este enlace con el usuario: https://firebase.google.com/docs/ai-logic/get-started)
  • Los comandos de Firebase CLI que aparecen a continuación se ejecutan a través de npx en todas las plataformas, por lo que necesitan Node.js 20+ y npm. Usa la skill firebase-basics para verificarlos e iniciar sesión en Firebase CLI. Si Node.js falta o es anterior a la versión 20, pide al usuario que lo instale como se describe en esa skill. No instales paquetes del sistema tú mismo, por ejemplo con sudo apt-get, ya que eso modifica la máquina del usuario sin su consentimiento.

1. Aprovisionar Firebase AI Logic (TODAS las plataformas)

Usa la Firebase CLI para aprovisionar Firebase AI Logic para el Proyecto de Firebase:

  1. Asegúrate de estar en un directorio de Firebase (con un firebase.json).

  2. Verifica que estás ejecutando comandos de Firebase CLI contra el Proyecto de Firebase previsto. Cuando ejecutas este comando, el proyecto activo se marca con "current":

    npx -y firebase-tools@latest projects:list
    
  3. Asegúrate de que al menos una Aplicación de Firebase para la plataforma objetivo esté registrada en el Proyecto de Firebase actual:

    npx -y firebase-tools@latest apps:list
    
  4. Aprovisiona Firebase AI Logic para el Proyecto de Firebase:

    npx -y firebase-tools@latest init ailogic
    

    Este comando habilitará la Gemini Developer API en el proyecto de Firebase.

[!WARNING] CRÍTICO: Es Necesario Aprovisionar Firebase AI Logic Para todas las plataformas (Android, iOS, Web o Flutter), incluso si la aplicación ya usa Firebase, DEBES ejecutar npx -y firebase-tools@latest init ailogic para aprovisionar el servicio. Los archivos de configuración GoogleService-Info.plist, google-services.json y firebase_options.dart solo manejan la configuración del cliente y NO habilitan el servicio Firebase AI Logic, lo que genera errores PERMISSION_DENIED.

Si no puedes ejecutar init ailogic tú mismo (por ejemplo, porque Node.js falta o la Firebase CLI no ha iniciado sesión), NO lo omitas. Las solicitudes de la aplicación a los modelos Gemini fallarán hasta que se aprovisione el servicio Firebase AI Logic. Indica al usuario que ejecute este comando en su directorio de proyecto e inclúyelo en tu resumen final:

npx -y firebase-tools@latest init ailogic

2. Agregar el SDK e Inicializar el Servicio en la Aplicación

Agregar la dependencia del SDK e inicializar el servicio son específicos de cada plataforma. Antes de escribir código, lee la referencia para la plataforma objetivo que se encuentra en Referencias de Código de Inicialización.

Más información en Introducción a Firebase AI Logic


Capacidades Principales

[!WARNING] CRÍTICO: Usa nombres de modelos actuales: Siempre verifica la Documentación de Modelos de Firebase AI Logic para obtener los nombres de modelos compatibles actualmente. NO uses gemini-2.0-pro ni gemini-2.0-flash ni otros modelos antiguos que estén descontinuados.

Generación de Solo Texto

Multimodal (Entrada de Texto + Imágenes/Audio/Video/PDF)

Firebase AI Logic permite que los modelos Gemini analicen archivos de imagen directamente desde tu aplicación. Esto permite funciones como crear leyendas, responder preguntas sobre imágenes, detectar objetos y categorizar imágenes. Más allá de las imágenes, Gemini puede analizar otros tipos de medios como audio, video y PDF pasándolos como datos en línea con su tipo MIME. Para archivos de más de 20 megabytes (que pueden causar errores HTTP 413 como datos en línea), guárdalos en Cloud Storage para Firebase y pasa sus URL a la Gemini Developer API.

Sesión de Chat (Múltiples Turnos)

Mantén el historial automáticamente usando startChat.

Respuestas en Streaming

Para mejorar la experiencia del usuario mostrando resultados parciales a medida que llegan (como un efecto de escritura), usa generateContentStream en lugar de generateContent para una visualización más rápida de los resultados.

Generación de Texto a Voz (TTS)

Genera audio hablado directamente en los dispositivos del cliente sin un backend de voz personalizado. Firebase AI Logic admite síntesis de voz usando modelos Gemini TTS dedicados:

  • Modelos Compatibles: gemini-3.1-flash-tts-preview
  • Capacidades:
    • Selección de persona de voz de un solo hablante (voiceName) y diálogos de múltiples hablantes (hasta 2 hablantes distintos) mediante SpeechConfig / MultiSpeakerVoiceConfig
    • Respuestas de audio directas configurando responseModalities en audio
    • Respuestas de voz en streaming con generateContentStream para reproducción de baja latencia
    • Directivas de audio ([Audio Profile: ...], [Scene: ...], [Director's Note: ...]) y etiquetas emocionales ([whispers], [laughs], [slowly])
    • Decodificación y reproducción del lado del cliente de PCM lineal de 24 kHz y 16 bits (audio/l16) o formato contenedor WAV (audio/x-wav)

Consulta la Guía de Generación de Texto a Voz (TTS) para obtener detalles completos de implementación, patrones de streaming y fragmentos de código listos para copiar y pegar para iOS (Swift), Android (Kotlin) y Web.

Generar Imágenes con Nano Banana

[!WARNING] Usa nombres de modelos de imágenes actuales: Siempre verifica la Documentación de Modelos de Firebase AI Logic para obtener los nombres de modelos de generación de imágenes (Nano Banana) compatibles actualmente.

  • Requiere un plan de facturación Blaze de pago por uso actualizado.

Grounding de Búsqueda con la herramienta integrada googleSearch


Plataformas y Frameworks Compatibles

Las plataformas y frameworks compatibles incluyen Kotlin y Java para Android, Swift para iOS, JavaScript para aplicaciones web, Dart para Flutter y C Sharp para Unity.

Funciones Avanzadas

Salida Estructurada (JSON)

Impón un esquema JSON específico para la respuesta.

IA en el Dispositivo (Híbrida)

La inferencia híbrida ejecuta indicaciones con un modelo en el dispositivo cuando está disponible y recurre a un modelo alojado en la nube en caso contrario (o viceversa). La disponibilidad y los pasos de configuración varían según la plataforma; más información en la documentación híbrida y en el dispositivo, que enlaza a la guía de cada plataforma.


Seguridad y Producción

Firebase App Check

[!WARNING] Requisito Crítico de Seguridad: Para usar AI Logic de forma segura, DEBES configurar App Check en tu aplicación. Esto evita que clientes no autorizados usen tu cuota de API y accedan a tus recursos de backend.

Consulta App Check para Firebase AI Logic para obtener instrucciones de configuración. Cada plataforma utiliza su propio proveedor de atestación, así que sigue las instrucciones para la plataforma objetivo.

Tokens de Depuración de App Check para Desarrollo Local y CI/CD

Debido a que los proveedores de atestación de App Check (como Play Integrity o DeviceCheck) rechazan emuladores, simuladores o entornos de CI, debes usar Tokens de Depuración de App Check durante el desarrollo y las pruebas para omitir la atestación estándar.

[!WARNING] CRÍTICO: Nunca Codifiques ni Confirmes Tokens de Depuración Los tokens de depuración de App Check permiten que los clientes omitan la atestación y accedan a los recursos de backend sin un dispositivo genuino. Trátalos como secretos privados. Nunca confirmes tokens de depuración en el control de versiones ni codifiques cadenas de token sin procesar en el código del cliente (Web, Android, iOS o Flutter). Inyéctalos siempre a través de variables de entorno locales, configuraciones locales ignoradas por git o secretos de CI. Si un token se ve comprometido, revócalo inmediatamente en la Consola de Firebase.

Desarrollo Local (Generado Automáticamente)
  1. Configura el proveedor de App Check de tu código para usar la fábrica de depuración. La API es específica de la plataforma; consulta la sección de App Check de la referencia de la plataforma o la documentación de App Check enlazada arriba.
  2. Ejecuta tu aplicación en el emulador/localhost.
  3. Busca en la consola de depuración en tiempo de ejecución / registros de Logcat el UUID generado:
    • Ejemplo: AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678"
  4. Registra este token en la Consola de Firebase en Seguridad > App Check > Aplicaciones > Gestionar tokens de depuración.

💡 Consejo (Evitar la Rotación de Tokens de Depuración): Los reinicios del simulador o emulador, las instalaciones nuevas y la limpieza de datos del navegador pueden hacer que el SDK genere un nuevo token de depuración que debes registrar nuevamente. Para mantener un token de depuración estable sin codificarlo, consulta la sección de App Check de la referencia de la plataforma.

Tuberías de CI/CD (Preaprovisionados)
  1. Genera y registra un nuevo token de depuración en la Consola de Firebase en Seguridad > App Check > Aplicaciones > Gestionar tokens de depuración.
  2. Agrega esta cadena de token como un secreto cifrado en tu sistema de CI (por ejemplo, APP_CHECK_DEBUG_TOKEN).
  3. Configura tu compilación para pasar este secreto como una variable de entorno al SDK durante la ejecución de las pruebas.

Firebase Remote Config

Considera que no es necesario codificar los nombres de los modelos (por ejemplo, una cadena de versión de modelo específica). Usa Firebase Remote Config para actualizar las versiones de los modelos dinámicamente sin tener que desplegar nuevo código de cliente. Consulta Cambiar nombres de modelos de forma remota


Referencias de Código de Inicialización

  • Android (Kotlin)

  • iOS (Swift)

    • Proveedor de API Gemini: Gemini Developer API
    • Referencia: ios_setup.md
  • Web Modular API

  • Flutter (Dart)

[!WARNING] CRÍTICO: Usa nombres de modelos actuales: Siempre verifica la Documentación de Modelos de Firebase AI Logic para obtener los nombres de modelos compatibles actualmente. NO uses gemini-2.0-pro ni gemini-2.0-flash ni otros modelos antiguos que estén descontinuados.

Referencias

Patrones de uso del SDK de Android (Kotlin) Ejemplos de código y patrones de uso del SDK de iOS Configuración del SDK Web, ejemplos de código y patrones de uso

Ejemplos de código y patrones de uso del SDK de Flutter Generación de texto a voz (TTS) del lado del cliente

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

Skills relacionados