Bắt đầu sử dụng API Gemini bằng SDK Logic AI Firebase

Hướng dẫn này cho bạn biết cách bắt đầu thực hiện các lệnh gọi đến Gemini API ngay từ ứng dụng của bạn bằng cách sử dụng Firebase AI Logic SDK máy khách cho nền tảng bạn chọn.

Bạn cũng có thể sử dụng hướng dẫn này để bắt đầu truy cập vào các mô hình Imagen bằng cách sử dụng các SDK Firebase AI Logic.

Điều kiện tiên quyết

Swift

Hướng dẫn này giả định rằng bạn đã quen thuộc với việc sử dụng Xcode để phát triển ứng dụng cho các nền tảng của Apple (chẳng hạn như iOS).

  • Đảm bảo rằng môi trường phát triển và ứng dụng của bạn trên các nền tảng của Apple đáp ứng những yêu cầu sau:

    • Xcode 16.2 trở lên
    • Ứng dụng của bạn nhắm đến iOS 15 trở lên hoặc macOS 12 trở lên
  • (Không bắt buộc) Xem ứng dụng mẫu.

    Tải ứng dụng bắt đầu nhanh xuống

    Bạn có thể nhanh chóng dùng thử SDK, xem cách triển khai hoàn chỉnh của nhiều trường hợp sử dụng hoặc sử dụng ứng dụng mẫu nếu không có ứng dụng nền tảng Apple của riêng mình. Để sử dụng ứng dụng mẫu, bạn cần kết nối ứng dụng đó với một dự án Firebase.

Kotlin

Hướng dẫn này giả định rằng bạn đã quen với việc sử dụng Android Studio để phát triển ứng dụng cho Android.

  • Đảm bảo rằng môi trường phát triển và ứng dụng Android của bạn đáp ứng các yêu cầu sau:

    • Android Studio (phiên bản mới nhất)
    • Ứng dụng của bạn nhắm đến API cấp 21 trở lên
  • (Không bắt buộc) Xem ứng dụng mẫu.

    Tải ứng dụng mẫu xuống

    Bạn có thể nhanh chóng dùng thử SDK, xem cách triển khai hoàn chỉnh của nhiều trường hợp sử dụng hoặc sử dụng ứng dụng mẫu nếu không có ứng dụng Android của riêng mình. Để sử dụng ứng dụng mẫu, bạn cần kết nối ứng dụng đó với một dự án Firebase.

Java

Hướng dẫn này giả định rằng bạn đã quen với việc sử dụng Android Studio để phát triển ứng dụng cho Android.

  • Đảm bảo rằng môi trường phát triển và ứng dụng Android của bạn đáp ứng các yêu cầu sau:

    • Android Studio (phiên bản mới nhất)
    • Ứng dụng của bạn nhắm đến API cấp 21 trở lên
  • (Không bắt buộc) Xem ứng dụng mẫu.

    Tải ứng dụng mẫu xuống

    Bạn có thể nhanh chóng dùng thử SDK, xem cách triển khai hoàn chỉnh của nhiều trường hợp sử dụng hoặc sử dụng ứng dụng mẫu nếu không có ứng dụng Android của riêng mình. Để sử dụng ứng dụng mẫu, bạn cần kết nối ứng dụng đó với một dự án Firebase.

Web

Hướng dẫn này giả định rằng bạn đã quen thuộc với việc sử dụng JavaScript để phát triển ứng dụng web. Hướng dẫn này không phụ thuộc vào khung.

  • Đảm bảo rằng môi trường phát triển và ứng dụng web của bạn đáp ứng các yêu cầu sau:

    • (Không bắt buộc) Node.js
    • Trình duyệt web hiện đại
  • (Không bắt buộc) Xem ứng dụng mẫu.

    Tải ứng dụng mẫu xuống

    Bạn có thể nhanh chóng dùng thử SDK, xem cách triển khai hoàn chỉnh của nhiều trường hợp sử dụng hoặc dùng ứng dụng mẫu nếu không có ứng dụng web riêng. Để dùng ứng dụng mẫu, bạn cần kết nối ứng dụng đó với một dự án Firebase.

Dart

Hướng dẫn này giả định rằng bạn đã quen thuộc với việc phát triển ứng dụng bằng Flutter.

  • Đảm bảo rằng môi trường phát triển và ứng dụng Flutter của bạn đáp ứng các yêu cầu sau:

    • Dart 3.2.0 trở lên
  • (Không bắt buộc) Xem ứng dụng mẫu.

    Tải ứng dụng mẫu xuống

    Bạn có thể nhanh chóng dùng thử SDK, xem cách triển khai hoàn chỉnh của nhiều trường hợp sử dụng hoặc dùng ứng dụng mẫu nếu không có ứng dụng Flutter của riêng mình. Để dùng ứng dụng mẫu, bạn cần kết nối ứng dụng đó với một dự án Firebase.

Unity

Hướng dẫn này giả định rằng bạn đã quen với việc phát triển trò chơi bằng Unity.

  • Đảm bảo rằng môi trường phát triển và trò chơi Unity của bạn đáp ứng các yêu cầu sau:

    • Unity Editor 2021 LTS trở lên
  • (Không bắt buộc) Xem ứng dụng mẫu.

    Tải ứng dụng mẫu xuống

    Bạn có thể dùng thử SDK một cách nhanh chóng, xem cách triển khai hoàn chỉnh của nhiều trường hợp sử dụng hoặc dùng ứng dụng mẫu nếu không có trò chơi Unity của riêng mình. Để sử dụng ứng dụng mẫu, bạn cần kết nối ứng dụng đó với một dự án Firebase.

Bước 1: Thiết lập một dự án Firebase và kết nối ứng dụng của bạn

  1. Đăng nhập vào bảng điều khiển Firebase, sau đó chọn dự án Firebase của bạn.

  2. Trong bảng điều khiển Firebase, hãy chuyển đến trang Firebase AI Logic.

  3. Nhấp vào Bắt đầu để chạy một quy trình có hướng dẫn giúp bạn thiết lập các API bắt buộc và tài nguyên cho dự án của mình.

  4. Chọn nhà cung cấp "Gemini API" mà bạn muốn sử dụng với các SDK Firebase AI Logic. Gemini Developer API là lựa chọn nên dùng cho người dùng mới. Bạn có thể thêm thông tin thanh toán hoặc thiết lập Vertex AI Gemini API sau nếu muốn.

    • Gemini Developer APIbilling optional (có trong gói giá Spark không tốn phí và bạn có thể nâng cấp sau nếu muốn)
      Bảng điều khiển sẽ bật các API bắt buộc và tạo khoá API Gemini trong dự án của bạn.
      Đừng thêm khoá API Gemini này vào cơ sở mã của ứng dụng. Tìm hiểu thêm.

    • Vertex AI Gemini APIbắt buộc phải có thông tin thanh toán (yêu cầu gói giá Blaze trả theo mức sử dụng)
      Bảng điều khiển sẽ giúp bạn thiết lập thông tin thanh toán và bật các API bắt buộc trong dự án của mình.

  5. Nếu được nhắc trong quy trình của bảng điều khiển, hãy làm theo hướng dẫn trên màn hình để đăng ký ứng dụng và kết nối ứng dụng đó với Firebase.

  6. Tiếp tục chuyển sang bước tiếp theo trong hướng dẫn này để thêm SDK vào ứng dụng của bạn.

Bước 2: Thêm SDK

Sau khi thiết lập dự án Firebase và kết nối ứng dụng với Firebase (xem bước trước), giờ đây, bạn có thể thêm SDK Firebase AI Logic vào ứng dụng của mình.

Swift

Sử dụng Swift Package Manager để cài đặt và quản lý các phần phụ thuộc của Firebase.

Thư viện Firebase AI Logic cung cấp quyền truy cập vào các API để tương tác với các mô hình GeminiImagen. Thư viện này được đưa vào làm một phần của Firebase SDK cho các nền tảng của Apple (firebase-ios-sdk).

Nếu bạn đang sử dụng Firebase, hãy đảm bảo rằng gói Firebase của bạn là phiên bản 11.13.0 trở lên.

  1. Trong Xcode, khi dự án ứng dụng của bạn đang mở, hãy chuyển đến File (Tệp) > Add Package Dependencies (Thêm phần phụ thuộc của gói).

  2. Khi được nhắc, hãy thêm kho lưu trữ SDK Firebase cho các nền tảng của Apple:

    https://github.com/firebase/firebase-ios-sdk
    
  3. Chọn phiên bản SDK mới nhất.

  4. Chọn thư viện FirebaseAI.

Khi hoàn tất, Xcode sẽ tự động bắt đầu phân giải và tải các phần phụ thuộc xuống ở chế độ nền.

Kotlin

Firebase AI Logic SDK cho Android (firebase-ai) cung cấp quyền truy cập vào các API để tương tác với các mô hình GeminiImagen.

Trong tệp Gradle (cấp ứng dụng) của mô-đun (chẳng hạn như <project>/<app-module>/build.gradle.kts), hãy thêm phần phụ thuộc cho thư viện Firebase AI Logic cho Android. Bạn nên sử dụng Firebase Android BoM để kiểm soát việc tạo phiên bản thư viện.

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")
}

Bằng cách sử dụng Firebase Android BoM, ứng dụng của bạn sẽ luôn sử dụng những phiên bản tương thích của thư viện Android trên Firebase.

Java

Firebase AI Logic SDK cho Android (firebase-ai) cung cấp quyền truy cập vào các API để tương tác với các mô hình GeminiImagen.

Trong tệp Gradle (cấp ứng dụng) của mô-đun (chẳng hạn như <project>/<app-module>/build.gradle.kts), hãy thêm phần phụ thuộc cho thư viện Firebase AI Logic cho Android. Bạn nên sử dụng Firebase Android BoM để kiểm soát việc tạo phiên bản thư viện.

Đối với Java, bạn cần thêm 2 thư viện bổ sung.

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")
}

Bằng cách sử dụng Firebase Android BoM, ứng dụng của bạn sẽ luôn sử dụng những phiên bản tương thích của thư viện Android trên Firebase.

Web

Thư viện Firebase AI Logic cung cấp quyền truy cập vào các API để tương tác với các mô hình GeminiImagen. Thư viện này được đưa vào dưới dạng một phần của Firebase JavaScript SDK cho Web.

  1. Cài đặt Firebase JS SDK cho Web bằng npm:

    npm install firebase
    
  2. Khởi động Firebase trong ứng dụng của bạn:

    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

Trình bổ trợ Firebase AI Logic cho Flutter (firebase_ai) cung cấp quyền truy cập vào các API để tương tác với các mô hình GeminiImagen.

  1. Trong thư mục dự án Flutter, hãy chạy lệnh sau để cài đặt trình bổ trợ cốt lõi và trình bổ trợ Firebase AI Logic:

    flutter pub add firebase_core && flutter pub add firebase_ai
    
  2. Trong tệp lib/main.dart, hãy nhập trình bổ trợ Firebase Core, trình bổ trợ Firebase AI Logic và tệp cấu hình mà bạn đã tạo trước đó:

    import 'package:firebase_core/firebase_core.dart';
    import 'package:firebase_ai/firebase_ai.dart';
    import 'firebase_options.dart';
    
  3. Ngoài ra, trong tệp lib/main.dart, hãy khởi động Firebase bằng đối tượng DefaultFirebaseOptions do tệp cấu hình xuất:

    await Firebase.initializeApp(
      options: DefaultFirebaseOptions.currentPlatform,
    );
    
  4. Tạo lại ứng dụng Flutter:

    flutter run
    

Unity

  1. Tải Firebase Unity SDK xuống, sau đó trích xuất SDK ở một nơi thuận tiện.

    SDK Firebase Unity không dành riêng cho nền tảng.

  2. Trong dự án Unity đang mở, hãy chuyển đến Assets (Tài sản) > Import Package (Nhập gói) > Custom Package (Gói tuỳ chỉnh).

  3. Trong SDK đã trích xuất, hãy chọn gói FirebaseAI.

  4. Trong cửa sổ Import Unity Package (Nhập gói Unity), hãy nhấp vào Import (Nhập).

  5. Trong bảng điều khiển Firebase, trong quy trình thiết lập, hãy nhấp vào Tiếp theo.

Bước 3: Khởi chạy dịch vụ và tạo một thực thể mô hình

Nhấp vào nhà cung cấp Gemini API để xem nội dung và mã dành riêng cho nhà cung cấp trên trang này.

Trước khi gửi câu lệnh đến một mô hình Gemini, hãy khởi chạy dịch vụ cho nhà cung cấp API mà bạn đã chọn và tạo một phiên bản 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");

Xin lưu ý rằng tuỳ thuộc vào chức năng mà bạn đang sử dụng, không phải lúc nào bạn cũng tạo một thực thể GenerativeModel.

Ngoài ra, sau khi hoàn tất hướng dẫn bắt đầu này, hãy tìm hiểu cách chọn một mô hình cho trường hợp sử dụng và ứng dụng của bạn.

Bước 4: Gửi yêu cầu cho mô hình

Giờ đây, bạn đã thiết lập xong để gửi yêu cầu về câu lệnh cho một mô hình Gemini.

Bạn có thể dùng generateContent() để tạo văn bản từ một câu lệnh có chứa văn bản:

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

Đối với Kotlin, các phương thức trong SDK này là hàm tạm ngưng và cần được gọi qua Phạm vi Coroutine.

// 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

Đối với Java, các phương thức trong SDK này sẽ trả về ListenableFuture.

// 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.");

Bạn có thể làm gì khác?

Tìm hiểu thêm về các mô hình được hỗ trợ

Tìm hiểu về các mô hình có sẵn cho nhiều trường hợp sử dụnghạn mức cũng như giá của các mô hình đó.

Dùng thử các tính năng khác

Tìm hiểu cách kiểm soát hoạt động tạo nội dung

Bạn cũng có thể thử nghiệm với các câu lệnh và cấu hình mô hình, thậm chí nhận được một đoạn mã được tạo bằng Google AI Studio.


Gửi ý kiến phản hồi về trải nghiệm của bạn với Firebase AI Logic