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 API は Cloud Storage URL を使用したファイルの提供をサポートしていませんが、無料枠と妥当な割り当てを利用したい場合は、適切な選択肢となる可能性があります。
Vertex AI Gemini API を引き続き使用する場合:
次の手順をスキップして、アプリでライブラリを更新するに進み、その後、このガイドの残りの部分に進みます。Gemini Developer API に切り替える場合:
次のステップに進んで、その API を使用するように Firebase プロジェクトを設定してから、このガイドの残りの部分に進みます。
ステップ 2: Gemini Developer API を使用できるように Firebase プロジェクトを設定する
この手順は、Firebase AI Logic クライアント SDK で Gemini Developer API を使用するように切り替える場合にのみ必要です。ただし、Vertex AI Gemini API を引き続き使用する場合は、次のステップに進みます。
プロジェクトで両方の「Gemini API」プロバイダを同時に有効にしても問題ありません。
Firebase コンソールで、Firebase AI Logic ページに移動します。
[設定] タブに移動し、[Gemini Developer API] を選択します。
Gemini Developer API を有効にします。
コンソールで、必要な API が有効になっていることを確認し、Firebase プロジェクトに Gemini API キーを生成します。
この Gemini API キーをアプリのコードベースに追加しないでください。詳細この移行ガイドに沿って、アプリのライブラリと初期化を更新します。
ステップ 3: アプリで使用されているライブラリを更新する
Firebase AI Logic ライブラリを使用するようにアプリのコードベースを更新します。
Swift
Xcode でアプリ プロジェクトを開いたまま、次のいずれかの方法で Firebase パッケージを v11.13.0 以降に更新します。
オプション 1: すべてのパッケージを更新する: [File] > [Packages] > [Update to Latest Package Versions] に移動します。
オプション 2: Firebase を個別に更新する: [パッケージの依存関係] セクションで Firebase パッケージに移動します。Firebase パッケージを右クリックし、[Update Package] を選択します。
Firebase パッケージに v11.13.0 以降が表示されていることを確認します。そうでない場合は、指定したパッケージ要件で v11.13.0 以降への更新が許可されていることを確認します。
プロジェクト エディタでアプリのターゲットを選択し、[Frameworks, Libraries, and Embedded Content] セクションに移動します。
新しいライブラリを追加する: [+] ボタンを選択し、Firebase パッケージから FirebaseAI を追加します。
アプリの移行が完了したら(このガイドの残りのセクションを参照)、古いライブラリを削除してください。
FirebaseVertexAI を選択し、— ボタンを押します。
Kotlin
モジュール(アプリレベル)の 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 BoMimplementation("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") }Android プロジェクトを Gradle ファイルと同期します。
Firebase Android BoM を使用しない場合は、firebase-ai
ライブラリの依存関係を追加し、Android Studio で推奨される最新バージョンを承認します。
Java
モジュール(アプリレベル)の 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 BoMimplementation("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") }Android プロジェクトを Gradle ファイルと同期します。
Firebase Android BoM を使用しない場合は、firebase-ai
ライブラリの依存関係を追加し、Android Studio で推奨される最新バージョンを承認します。
Web
npm を使用して、ウェブ用の Firebase JS SDK の最新バージョンを取得します。
npm i firebase@latest
または
yarn add firebase@latest
ライブラリをインポートした場所で、インポート ステートメントを更新して代わりに
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
Flutter プロジェクト ディレクトリから次のコマンドを実行して、
pubspec.yaml
ファイルでfirebase_ai
パッケージを使用するように更新します。flutter pub add firebase_ai
Flutter プロジェクトを再ビルドします。
flutter run
アプリの移行が完了したら(このガイドの残りのセクションを参照)、必ず古いパッケージを削除してください。
flutter pub remove firebase_vertexai
Unity
「Vertex AI in Firebase」では Unity のサポートをご利用いただけませんでした。
ステップ 4: アプリの初期化を更新する
Gemini API プロバイダをクリックして、このページでプロバイダ固有のコンテンツとコードを表示します。 |
選択した API プロバイダのサービスを初期化する方法を更新し、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
「Vertex AI in Firebase」から Unity のサポートを利用できませんでした。
使用する機能によっては、必ずしも GenerativeModel
インスタンスを作成するとは限りません。
- Imagen モデルにアクセスするには、
ImagenModel
インスタンスを作成します。
ステップ 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
Vertex AI Gemini API の代わりに Gemini Developer API の使用を開始する場合にのみ変更が必要です。
安全性設定
- サポートされていない
SafetySetting.method
の使用を削除しました。
- サポートされていない
インライン データ
- サポートされていない
InlineDataPart.videoMetadata
の使用を削除しました。
- サポートされていない
Dart
追加の変更はありません。
Unity
「Vertex AI in Firebase」から Unity のサポートを利用できませんでした。
Firebase AI Logic の使用感についてフィードバックを送信する