firebase-ai-logic-basics

bởi firebase

Kỹ năng chính thức để tích hợp Firebase AI Logic (Gemini API) vào ứng dụng web. Bao gồm thiết lập, suy luận đa phương thức, đầu ra có cấu trúc và bảo mật.

npx skills add https://github.com/firebase/agent-skills --skill firebase-ai-logic-basics

Firebase AI Logic Basics

Overview

Firebase AI Logic is a product of Firebase that allows developers to add gen AI to their mobile and web apps using client-side SDKs. You can call Gemini models directly from your app without managing a dedicated backend. Firebase AI Logic, which was previously known as "Vertex AI for Firebase", represents the evolution of Google's AI integration platform for mobile and web developers.

It supports the two Gemini API providers:

  • Gemini Developer API: It has a free tier ideal for prototyping, and pay-as-you-go for production
  • Agent Platform Gemini API (formerly branded Vertex AI): Ideal for scale with enterprise-grade production readiness, requires Blaze plan

Use the Gemini Developer API as a default, and only Agent Platform Gemini API (formerly branded Vertex AI) if the application requires it.

Setup & Initialization

Prerequisites

  • Before starting, ensure you have Node.js 16+ and npm installed. Install them if they aren’t already available.
  • Identify the platform the user is interested in building on prior to starting: Android, iOS, Flutter or Web.
  • If their platform is unsupported, Direct the user to Firebase Docs to learn how to set up AI Logic for their application (share this link with the user https://firebase.google.com/docs/ai-logic/get-started)

Installation

The library is part of the standard Firebase Web SDK.

npm install -g firebase@latest

If you're in a firebase directory (with a firebase.json) the currently selected project will be marked with "current" using this command:

npx -y firebase-tools@latest projects:list

Ensure there's at least one app associated with the current project

npx -y firebase-tools@latest apps:list

Initialize AI logic SDK with the init command

npx -y firebase-tools@latest init ailogic

This will automatically enable the Gemini Developer API in the Firebase console.

More info in Firebase AI Logic Getting Started

Core Capabilities

[!WARNING] CRITICAL: Use current model names: Always check the Firebase AI Logic Models documentation for the currently supported model names. Do NOT use gemini-2.0-pro or gemini-2.0-flash or other older models that are shutdown.

Text-Only Generation

Multimodal (Text + Images/Audio/Video/PDF input)

Firebase AI Logic allows Gemini models to analyze image files directly from your app. This enables features like creating captions, answering questions about images, detecting objects, and categorizing images. Beyond images, Gemini can analyze other media types like audio, video, and PDFs by passing them as inline data with their MIME type. For files larger than 20 megabytes (which can cause HTTP 413 errors as inline data), store them in Cloud Storage for Firebase and pass their URLs to the Gemini Developer API.

Chat Session (Multi-turn)

Maintain history automatically using startChat.

Streaming Responses

To improve the user experience by showing partial results as they arrive (like a typing effect), use generateContentStream instead of generateContent for faster display of results.

Generate Images with Nano Banana

[!WARNING] Use current Image model names: Always check the Firebase AI Logic Models documentation for the currently supported image generation (Nano Banana) model names.

  • Requires an upgraded Blaze pay-as-you-go billing plan.

Search Grounding with the built in googleSearch tool

Supported Platforms and Frameworks

Supported Platforms and Frameworks include Kotlin and Java for Android, Swift for iOS, JavaScript for web apps, Dart for Flutter, and C Sharp for Unity.

Advanced Features

Structured Output (JSON)

Enforce a specific JSON schema for the response.

On-Device AI (Hybrid)

Hybrid on-device inference for web apps, where the Firebase Javascript SDK automatically checks for Gemini Nano's availability (after installation) and switches between on-device or cloud-hosted prompt execution. This requires specific steps to enable model usage in the Chrome browser, more info in the hybrid-on-device-inference documentation.

Security & Production

App Check

[!WARNING] Critical Safety Requirement: In order to use AI Logic safely, you MUST set up App Check on your app. This prevents unauthorized clients from using your API quota and accessing your backend resources.

See App Check with reCAPTCHA Enterprise for setup instructions.

App Check Debug Tokens for Local Development & CI/CD

Because App Check attestation providers (like Play Integrity or DeviceCheck) reject emulators, simulators, or CI environments, you must use App Check Debug Tokens during development and testing to bypass standard attestation.

Local Development (Auto-Generated)
  1. Configure your code's App Check provider to use the debug factory:
    • Web: Set self.FIREBASE_APPCHECK_DEBUG_TOKEN = true; before initializing App Check.
    • Android: Install DebugAppCheckProviderFactory.getInstance().
    • iOS: Set provider factory to AppCheckDebugProviderFactory().
  2. Run your app in the emulator/localhost.
  3. Look at your runtime debugger console / Logcat logs for the generated UUID:
    • Example: AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678"
  4. Register this token in the Firebase Console under Security > App Check > Apps > Manage debug tokens.
CI/CD Pipelines (Pre-Provisioned)
  1. Generate and register a new debug token in the Firebase Console under Security > App Check > Apps > Manage debug tokens.
  2. Add this token string as an encrypted secret in your CI system (e.g. APP_CHECK_DEBUG_TOKEN).
  3. Configure your build to pass this secret as an environment variable to the SDK during test execution (e.g. self.FIREBASE_APPCHECK_DEBUG_TOKEN = process.env.APP_CHECK_DEBUG_TOKEN).

Remote Config

Consider that you do not need to hardcode model names (e.g., a specific model version string). Use Firebase Remote Config to update model versions dynamically without deploying new client code. See Changing model names remotely

[!WARNING] CRITICAL: Backend Provisioning Required For all platforms (Flutter, Android, iOS, Web), you MUST run npx firebase-tools init ailogic to provision the service. flutterfire configure ONLY handles client configuration and does NOT enable the AI service, leading to PERMISSION_DENIED errors.

Initialization Code References

| Language, | Gemini API | Context URL | : Framework, : provider : : : Platform : : : | :---------- | :--------- | :---------------------------------------------- | | Web Modular | Gemini | firebase://docs/ai-logic/get-started | : API : Developer : : : : API : : : : (Developer : : : : API) : : | iOS (Swift) | Gemini | ios_setup.md | : : Developer : : : : API : : | Flutter | Gemini | flutter_setup.md | : (Dart) : Developer : : : : API : :

[!WARNING] CRITICAL: Use current model names: Always check the Firebase AI Logic Models documentation for the currently supported model names. Do NOT use gemini-2.0-pro or gemini-2.0-flash or other older models that are shutdown.

References

Web SDK code examples and usage patterns iOS SDK code examples and usage patterns Flutter SDK code examples and usage patterns

Android (Kotlin) SDK usage patterns

Thêm skills từ firebase

developing-genkit-dart
firebase
SDK AI hợp nhất cho Dart hỗ trợ tạo mã, đầu ra có cấu trúc, công cụ, luồng và tác nhân. Cung cấp API cốt lõi cho việc tạo sinh, định nghĩa công cụ, điều phối luồng, nhúng và phát trực tuyến với một giao diện duy nhất. Bao gồm 8+ plugin cho các nhà cung cấp LLM (Google Gemini, Anthropic Claude, OpenAI GPT), Firebase AI, Giao thức Ngữ cảnh Mô hình, tích hợp trình duyệt Chrome và lưu trữ máy chủ HTTP qua Shelf. CLI tích hợp sẵn với giao diện phát triển cục bộ để thực thi luồng, theo dõi, thử nghiệm mô hình và...
official
developing-genkit-js
firebase
Xây dựng ứng dụng Node.js/TypeScript hỗ trợ AI với các luồng, công cụ và hỗ trợ đa mô hình của Genkit. Genkit không phụ thuộc vào nhà cung cấp; hỗ trợ Google AI, OpenAI, Anthropic, Ollama và các nhà cung cấp LLM khác thông qua plugin. Xác định luồng với lược đồ an toàn kiểu dữ liệu sử dụng Zod, thực thi các yêu cầu sinh và soạn thảo quy trình AI đa bước trong TypeScript. Yêu cầu Genkit CLI v1.29.0+; các thay đổi API lớn gần đây có nghĩa là bạn phải tham khảo tài liệu genkit:read và common-errors.md để biết các mẫu hiện tại, không dựa vào kiến thức trước đó...
official
extension-to-functions-codebase
firebase
Kỹ năng chuyển đổi một Firebase Extension đã cài đặt (hoặc mã nguồn extension) thành một codebase Cloud Functions for Firebase độc lập hoặc gói npm có thể xuất bản,…
official
firebase-ai-logic
firebase
Tích hợp Gemini phía máy khách cho ứng dụng web với suy luận đa phương thức, phát trực tuyến và thực thi kết hợp trên thiết bị. Hỗ trợ đầu vào chỉ văn bản và đa phương thức (hình ảnh, âm thanh, video, PDF); các tệp trên 20 MB được định tuyến qua Cloud Storage. Bao gồm các phiên trò chuyện với lịch sử tự động, phản hồi phát trực tuyến để hiển thị thời gian thực và thực thi đầu ra JSON có cấu trúc. Cung cấp suy luận kết hợp trên thiết bị qua Gemini Nano trong Chrome, với khả năng dự phòng tự động lên đám mây. Yêu cầu App Check cho môi trường sản xuất...
official
firebase-app-hosting-basics
firebase
Triển khai và quản lý ứng dụng web full-stack với Firebase App Hosting sử dụng Next.js, Angular và các framework được hỗ trợ khác. Yêu cầu dự án Firebase ở gói giá Blaze; hỗ trợ quy trình Server-Side Rendering (SSR) và Incremental Static Regeneration (ISR). Triển khai qua cấu hình firebase.json với tệp apphosting.yaml tùy chọn cho thiết lập backend, hoặc kích hoạt triển khai tự động "git push to deploy" thông qua tích hợp GitHub. Bao gồm quản lý bí mật qua lệnh CLI để truy cập an toàn vào các khóa nhạy cảm...
official
firebase-auth-basics
firebase
Thiết lập Firebase Authentication với nhiều nhà cung cấp danh tính và quy tắc truy cập dữ liệu an toàn. Hỗ trợ email/mật khẩu, số điện thoại, ẩn danh, các nhà cung cấp liên kết (Google, Facebook, Twitter, GitHub, Microsoft, Apple) và tích hợp xác thực tùy chỉnh. Mỗi người dùng đã xác thực nhận được một ID duy nhất và token dựa trên JWT (token ID tồn tại ngắn và token làm mới tồn tại lâu) để truy cập các dịch vụ Firebase. Kích hoạt các nhà cung cấp qua CLI cho Google Sign In, ẩn danh và email/mật khẩu; sử dụng Firebase Console...
official
firebase-basics
firebase
Thiết lập dự án Firebase và quy trình làm việc với CLI để tích hợp tác nhân AI. Yêu cầu hoàn thành trước kỹ năng firebase-local-env-setup và cài đặt Firebase CLI. Quy trình chính bao gồm xác thực qua firebase login, tạo dự án với ID duy nhất, và khởi tạo dịch vụ thông qua lệnh tương tác firebase init. Hỗ trợ lựa chọn tính năng trong quá trình thiết lập bao gồm Firestore, Functions và Hosting với tự động tạo tệp cấu hình. CLI tự ghi chép với cờ --help cho...
official
firebase-crashlytics
firebase
Hướng dẫn toàn diện về Firebase Crashlytics, bao gồm cấp phép và cách sử dụng SDK. Sử dụng kỹ năng này khi người dùng cần trợ giúp thiết lập Crashlytics, thêm…
official