Vertex AI in Firebase SDK の一般提供版から Firebase AI Logic SDK に移行する


Firebase AI Logic とそのクライアント SDK は、以前は「Vertex AI in Firebase」と呼ばれていました。拡張されたサービスと機能(たとえば、Gemini Developer API がサポートされるようになりました)をより適切に反映するために、サービスの名前を変更し、Firebase AI Logic に再パッケージ化しました。

モバイルアプリやウェブアプリから Google の生成 AI モデルに直接安全にアクセスするには、「Gemini API」プロバイダ(以前から利用可能な Agent Platform Gemini API (formerly Vertex AI) または Gemini Developer API)を選択できるようになりました。つまり、Gemini Developer API を使用するオプションが用意されました。これにより、妥当なレート制限と割り当てを備えた無料枠が提供されます。

Firebase AI Logic SDK への移行手順の概要

  • ステップ 1: アプリとユースケースに最適な「Gemini API」プロバイダを選択します。

  • ステップ 2: Gemini Developer API を使用できるように Firebase プロジェクトを設定します。
    Agent Platform Gemini API (formerly Vertex AI) の代わりに Gemini Developer API を使用するように切り替える場合にのみ適用されます。

  • ステップ 3: アプリで使用されているライブラリを更新します。

  • ステップ 4: アプリで初期化を更新します。

  • ステップ 5: 使用する機能に応じてコードを更新します。

ステップ 1: アプリに最適な「Gemini API」プロバイダを選択する

この移行では、Gemini API プロバイダを選択できます。

  • 古い「Vertex AI in Firebase」SDK では Agent Platform Gemini API (formerly Vertex AI) のみを使用できました。

  • 新しい Firebase AI Logic SDK では、モバイルアプリまたはウェブアプリから直接呼び出す「Gemini API」プロバイダ(Gemini Developer API または Agent Platform Gemini API (formerly Vertex AI))を選択できます。

2 つの Gemini API プロバイダの使用の違い(特に、サポートされている機能、料金、レート制限)を確認します。たとえば、Gemini Developer API は Cloud Storage URL を使用したファイルの提供をサポートしていませんが、無料枠と妥当な割り当てを活用したい場合は、適切な選択肢となる可能性があります。

ステップ 2: Gemini Developer API を使用できるように Firebase プロジェクトを設定する

この手順は、Firebase AI Logic クライアント SDK で Gemini Developer API を使用するように切り替える場合にのみ必要です。ただし、Agent Platform Gemini API (formerly Vertex AI) を引き続き使用する場合は、次のステップに進みます。

プロジェクトで「Gemini API」プロバイダの両方を同時に有効にしても問題ありません。

  1. Firebase コンソールで、[AI サービス] > [AI Logic] に移動します。

  2. [設定] タブに移動し、[Gemini Developer API] を選択します。

  3. Gemini Developer API を有効にします。

    コンソールで、必要な API が有効になっていることを確認し、Firebase プロジェクトで Gemini API キーを生成します。
    この Gemini API キーをアプリのコードベースに追加しないでください。 詳細

  4. この移行ガイドに沿って、アプリのライブラリと初期化を更新します。

ステップ 3: アプリで使用されているライブラリを更新する

Firebase AI Logic ライブラリを使用するようにアプリのコードベースを更新します。

Swift

  1. Xcode でアプリのプロジェクトを開いた状態で、次のいずれかの方法で Firebase パッケージを v12.5.0 以降に更新します。

    • オプション 1: すべてのパッケージを更新する。[File] > [Packages] > [Update to Latest Package Versions] に移動します。

    • オプション 2: Firebase を個別に更新する。Package Dependencies セクションで Firebase パッケージに移動します。Firebase パッケージを右クリックし、[Update Package] を選択します。

  2. Firebase パッケージが v12.5.0 以降になっていることを確認します。そうでない場合は、指定したパッケージ要件で v12.5.0 以降への更新が許可されていることを確認します。

  3. プロジェクト エディタでアプリのターゲットを選択し、[Frameworks, Libraries, and Embedded Content] セクションに移動します。

  4. 新しいライブラリを追加します。+ ボタンを選択し、Firebase パッケージから FirebaseAILogic を追加します。

  5. アプリの移行が完了したら(このガイドの残りのセクションを参照)、古いライブラリを削除します。
    [FirebaseVertexAI] を選択し、[—] ボタンを押します。

Kotlin

  1. モジュール(アプリレベル)の Gradle ファイル(通常は <project>/<app-module>/build.gradle.kts または <project>/<app-module>/build.gradle)で、古い依存関係(該当する場合)を以下に置き換えます。

    古い依存関係を削除する前に、アプリのコードベースを移行する方が簡単な場合があります(このガイドの残りのセクションをご覧ください)。

    // BEFORE
    dependencies {
      implementation(platform("com.google.firebase:firebase-bom:33.x.y"))
      implementation("com.google.firebase:firebase-vertexai")
      // OR if not using the BoM
      implementation("com.google.firebase:firebase-vertexai:16.x.y")
    }
    
    
    // AFTER
    dependencies {
      // Import the BoM for the Firebase platform
      implementation(platform("com.google.firebase:firebase-bom:35.0.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")
    }
  2. Android プロジェクトを Gradle ファイルと同期します。

Firebase Android BoM を使用しない場合は、firebase-ai ライブラリの依存関係を追加して、Android Studio で推奨される最新バージョンを承認します。

Java

  1. モジュール(アプリレベル)の Gradle ファイル(通常は <project>/<app-module>/build.gradle.kts または <project>/<app-module>/build.gradle)で、古い依存関係(該当する場合)を以下に置き換えます。

    古い依存関係を削除する前に、アプリのコードベースを移行する方が簡単な場合があります(このガイドの残りのセクションをご覧ください)。

    // BEFORE
    dependencies {
      implementation(platform("com.google.firebase:firebase-bom:33.x.y"))
      implementation("com.google.firebase:firebase-vertexai")
      // OR if not using the BoM
      implementation("com.google.firebase:firebase-vertexai:16.x.y")
    }
    
    
    // AFTER
    dependencies {
      // Import the BoM for the Firebase platform
      implementation(platform("com.google.firebase:firebase-bom:35.0.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")
    }
  2. Android プロジェクトを Gradle ファイルと同期します。

Firebase Android BoM を使用しない場合は、firebase-ai ライブラリの依存関係を追加し、Android Studio で推奨される最新バージョンを承認します。

Web

  1. npm を使用して、ウェブ用の Firebase JS SDK の最新バージョンを取得します。

    npm i firebase@latest

    または

    yarn add firebase@latest
  2. ライブラリをインポートした場所で、インポート ステートメントを更新して、代わりに firebase/ai を使用します。

    古いインポートを削除する前に、アプリのコードベースを移行する(このガイドの残りのセクションを参照)方が簡単な場合があります。

    // BEFORE
    import { initializeApp } from "firebase/app";
    import { getVertexAI, getGenerativeModel } from "firebase/vertexai";
    
    
    // AFTER
    import { initializeApp } from "firebase/app";
    import { getAI, getGenerativeModel } from "firebase/ai";

Dart

  1. Flutter プロジェクト ディレクトリから次のコマンドを実行して、pubspec.yaml ファイルで firebase_ai パッケージを使用するように更新します。

    flutter pub add firebase_ai
  2. Flutter プロジェクトを再ビルドします。

    flutter run
  3. アプリの移行が完了したら(このガイドの残りのセクションを参照)、古いパッケージを削除してください。

    flutter pub remove firebase_vertexai

Unity

「Vertex AI in Firebase」から Unity のサポートを利用できませんでした。

Unity 向け Firebase AI Logic SDK のスタートガイドをご覧ください。

ステップ 4: アプリの初期化を更新する

Gemini API プロバイダをクリックして、このページでプロバイダ固有のコンテンツとコードを表示します。

選択した API プロバイダのサービスを初期化し、GenerativeModel インスタンスを作成する方法を更新します。

Swift


import FirebaseAILogic

// 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-3.8-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-3.8-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-3.8-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-3.8-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-3.8-flash');

Unity

「Vertex AI in Firebase」では Unity のサポートをご利用いただけませんでした。

Unity 向け Firebase AI Logic SDK のスタートガイドをご覧ください。

使用する機能によっては、必ずしも GenerativeModel インスタンスを作成するとは限りません。Gemini Live API を使用して入出力をストリーミングするには、LiveModel インスタンスを作成します。

ステップ 5: 使用する機能に応じてコードを更新する

このステップでは、使用する機能に応じて必要になる可能性のある変更について説明します。

  • Cloud Storage URL を使用し、この移行で Gemini Developer API を使用するように切り替えた場合は、ファイルをインライン データとして含めるようにマルチモーダル リクエストを更新する必要があります(または、動画に YouTube URL を使用します)。

  • Firebase AI Logic SDK を使用するためにコードに加える必要のある変更については、次のリストをご覧ください。

Swift

その他の変更はありません。

Kotlin

  • Live API

    • 列挙型クラス ResponseModality の UNSPECIFIED 値を削除しました。代わりに null を使用します。

Java

  • Live API

    • 列挙型クラス ResponseModality の UNSPECIFIED 値を削除しました。代わりに null を使用します。
  • さまざまな Java ビルダー メソッドが、void ではなく、クラスのインスタンスを正しく返すように変更されました。

Web

Agent Platform Gemini API (formerly Vertex AI) ではなく Gemini Developer API の使用を開始する場合にのみ変更が必要です。

  • 安全に関する設定

    • サポートされていない SafetySetting.method の使用を削除しました。
  • インライン データ

    • サポートされていない InlineDataPart.videoMetadata の使用を削除しました。

Dart

追加の変更はありません。

Unity

「Vertex AI in Firebase」では Unity のサポートをご利用いただけませんでした。

Unity 向け Firebase AI Logic SDK のスタートガイドをご覧ください。


Firebase AI Logic の使用感についてフィードバックを送信する