Agent Platform Gemini API

如果您刚开始接触 Gemini API,Gemini Developer API 是 Android 开发者推荐的 API 提供方。不过,如果您有特定的数据位置要求,或者您已经嵌入到 Google Cloud 生态系统中,则可以将 Agent Platform Gemini API(以前称为 Vertex AI)与 Firebase AI Logic 搭配使用,以访问 Gemini Pro 和 Flash 模型。

插图:Android 应用使用 Firebase Android SDK 向云端的 Firebase 后端发送请求。请求会路由到 Agent Platform Gemini API,该 API 可以同时利用 Gemini Pro 和 Flash 模型。
图 1. 用于访问 Agent Platform Gemini API 的 Firebase AI Logic 集成架构。

使用入门

在直接从应用与 Agent Platform Gemini API 交互之前,您可以在 Agent Studio 中试验提示。

设置 Firebase 项目并将您的应用连接到 Firebase

准备好从应用调用 API 后,请按照 Firebase AI Logic 入门指南中“第 1 步”的说明设置 Firebase 并启用所需的 API 和服务。

添加 Gradle 依赖项

将以下 Gradle 依赖项添加到应用模块中:

Kotlin

dependencies {
  // ... other androidx dependencies

  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:35.1.0"))

  // Add the dependencies for the Firebase AI Logic and App Check libraries
  // When using the BoM, you don't specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-ai")
  implementation("com.google.firebase:firebase-appcheck-debug")
}

Java

dependencies {
  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:35.1.0"))

  // Add the dependencies for the Firebase AI Logic and App Check libraries
  // When using the BoM, you don't specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-ai")
  implementation("com.google.firebase:firebase-appcheck-debug")

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

为本地开发配置 App Check 调试提供程序

自 2026 年 7 月初起,作为 Firebase 控制台中 AI Logic 引导式设置工作流的一部分,系统会自动强制执行 Firebase App Check,以保护 Gemini API。对于本地开发,您需要配置 App Check 调试提供程序,以绕过证明,同时仍保持 App Check 的强制执行。

  1. 在调试 build 中,将 App Check 配置为使用调试提供程序工厂:

    Kotlin

    Firebase.initialize(context = this)
    Firebase.appCheck.installAppCheckProviderFactory(
        DebugAppCheckProviderFactory.getInstance(),
    )
    

    Java

    FirebaseApp.initializeApp(/*context=*/ this);
    FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
    firebaseAppCheck.installAppCheckProviderFactory(
            DebugAppCheckProviderFactory.getInstance());
    
  2. 获取调试令牌:

    1. 在模拟器中或在测试设备上运行应用。

    2. 在日志中查找 App Check 调试令牌。例如:

      D DebugAppCheckProvider: Enter this debug secret into the allow list
      in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
      
    3. 复制令牌(例如 123a4567-b89c-12d3-e456-789012345678)。

  3. 向 App Check 注册您的调试令牌:

    1. 在 Firebase 控制台中,前往安全性 > App Check > 应用标签页。

    2. 找到您的应用,点击溢出菜单 (),然后选择管理调试令牌。

    3. 按照屏幕上的说明注册调试令牌。

如需详细了解调试提供程序(包括如何获取新的调试令牌),请参阅官方 App Check 文档。

初始化生成模型

首先,实例化 GenerativeModel 并指定模型名称:

Kotlin

val model = Firebase.ai(backend = GenerativeBackend.agentPlatform())
    .generativeModel("gemini-3.5-flash")

Java

GenerativeModel firebaseAI = FirebaseAI.getInstance(GenerativeBackend.agentPlatform())
        .generativeModel("gemini-3.5-flash");

GenerativeModelFutures model = GenerativeModelFutures.from(firebaseAI);

在 Firebase 文档中,您可以详细了解可用的 Gemini 模型。您还可以了解如何配置模型参数。

生成文本

如需生成文本回答,请使用提示调用 generateContent()。

Kotlin

suspend fun generateText(model: GenerativeModel) {
    // Note: generateContent() is a suspend function, which integrates well
    // with existing Kotlin code.
    val response = model.generateContent("Write a story about a magic backpack.")
    // ...
}

Java

Content prompt = new Content.Builder()
        .addText("Write a story about a magic backpack.")
        .build();

ListenableFuture<GenerateContentResponse> response = model.generateContent(prompt);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
    @Override
    public void onSuccess(GenerateContentResponse result) {
        String resultText = result.getText();
        // ...
    }

    @Override
    public void onFailure(Throwable t) {
        t.printStackTrace();
    }
}, executor);

与 Gemini Developer API 类似,您也可以在文本提示词中传递图片、音频、视频和文件。如需了解详情,请参阅从应用与 Gemini Developer API 交互。

如需详细了解 Firebase AI Logic SDK,请参阅 Firebase 文档。