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」プロバイダを選択できるようになりました。以前から利用可能な Vertex AI Gemini API と、新たに Gemini Developer API が追加されました。つまり、Gemini Developer API を使用できるようになりました。Gemini Developer API には、妥当なレート制限と割り当てを備えた無料枠が用意されています。

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

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

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

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

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

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

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

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

  • 以前の「Vertex AI in Firebase」SDK では、Vertex AI Gemini API のみを使用できました。

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

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

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

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

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

  1. Firebase コンソールで、Firebase 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 パッケージを v11.13.0 以降に更新します。

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

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

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

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

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

  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:33.16.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:33.16.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 のサポートをご利用いただけませんでした。

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

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

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

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

Swift


import FirebaseAI

// Initialize the Vertex AI Gemini API backend service
let ai = FirebaseAI.firebaseAI(backend: .vertexAI())

// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "gemini-2.5-flash")

Kotlin


// Initialize the Vertex AI Gemini API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
val model = Firebase.ai(backend = GenerativeBackend.vertexAI())
                        .generativeModel("gemini-2.5-flash")

Java


// Initialize the Vertex AI Gemini API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.vertexAI())
        .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, VertexAIBackend } 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 Vertex AI Gemini API backend service
const ai = getAI(firebaseApp, { backend: new VertexAIBackend() });

// 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 Vertex AI Gemini API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
final model =
      FirebaseAI.vertexAI().generativeModel(model: 'gemini-2.5-flash');

Unity

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

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

使用する機能によっては、必ずしも GenerativeModel インスタンスを作成するとは限りません

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

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

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

  • Firebase AI Logic SDK を取り込むためにコードで行う必要のある変更について、次のリストを確認してください。

Swift

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

Kotlin

  • Live API

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

Java

  • Live API

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

Web

Vertex AI Gemini API の代わりに Gemini Developer API の使用を開始する場合にのみ変更が必要です。

  • 安全性設定

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

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

Dart

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

Unity

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

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


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