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 を使用するオプション が追加されました。この API には、妥当なレート制限と割り当てを備えた無料枠 が用意されています。
Firebase AI Logic SDK への移行手順の概要
ステップ 1: アプリとユースケースに最適な「Gemini API」プロバイダを選択します。
ステップ 2: Gemini Developer API を使用できるように Firebase プロジェクトを設定します。
Gemini Developer API の代わりにAgent Platform Gemini API (formerly Vertex AI)を使用する場合にのみ適用されます。ステップ 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 を使用したファイルの提供はサポートされていませんが、無料枠と妥当な割り当てを利用したい場合は最適な選択肢となります。
Agent Platform Gemini API(旧 Vertex AI)を引き続き使用する場合Agent Platform Gemini API (formerly Vertex AI):
次のステップをスキップして、 アプリのライブラリの更新に進み、 このガイドの残りの部分に進みます。**Gemini Developer API に切り替える場合**Gemini Developer API:
次のステップに進んで その API を使用するように Firebase プロジェクトを設定し、 このガイドの残りの部分に進みます。
ステップ 2: Gemini Developer API を使用できるように Firebase プロジェクトを設定する
このステップは、 Gemini Developer API を Firebase AI Logic クライアント SDK とともに使用するように切り替える場合にのみ必要です。 Agent Platform Gemini API (formerly Vertex AI)を引き続き使用する場合は、次のステップに進みます。
プロジェクトで両方の「Gemini API」プロバイダを同時に有効にしても問題ありません。
Firebase コンソールで、[AI サービス] > [AI Logic] に移動します。
[設定] タブに移動し、[Gemini Developer API] を選択します。
Gemini Developer API を有効にします。
コンソールで、必要な API が有効になっていることを確認し、Firebase プロジェクトに Gemini API キーを生成します。
この Gemini API キーをアプリのコードベースに追加しないでください 。 詳細この移行ガイドに沿って、アプリのライブラリと初期化を更新します。
ステップ 3: アプリで使用するライブラリを更新する
Firebase AI Logic ライブラリを使用するようにアプリのコードベースを更新します。
Swift
Xcode でアプリ プロジェクトを開き、次のいずれかの方法で Firebase パッケージを v12.5.0 以降に更新します。
オプション 1: すべてのパッケージを更新する: [ファイル] > [パッケージ] > [パッケージを最新バージョンに更新] に移動します。
オプション 2: Firebase を個別に更新する: [パッケージの依存関係] セクションで Firebase パッケージに移動します。Firebase パッケージを右クリックし、[パッケージを更新] を選択します。
Firebase パッケージに v12.5.0 以降が表示されていることを確認します。表示されていない場合は、指定した パッケージ要件 で v12.5.0 以降に更新できることを確認してください。
プロジェクト エディタでアプリのターゲットを選択し、[Frameworks, Libraries, and Embedded Content] セクションに移動します。
新しいライブラリを追加します。[+] ボタンを選択し、Firebase パッケージから FirebaseAILogic を追加します。
アプリの移行が完了したら( このガイドの残りのセクションを参照)、古いライブラリを削除します。
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:34.18.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:34.18.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 はサポートされていませんでした。
Firebase AI Logic SDK for Unity を使ってみるをご覧ください。
ステップ 4: アプリの初期化を更新する
|
Gemini API プロバイダをクリックして、このページでプロバイダ固有のコンテンツとコードを表示します。 |
選択した API プロバイダのサービスの初期化方法を更新し、GenerativeModel インスタンスを作成します。
Swift
import FirebaseAILogic
// Initialize the Agent Platform Gemini API backend service (fomerly Vertex AI).
let ai = FirebaseAI.firebaseAI(backend: .agentPlatform())
// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "gemini-3.7-flash")
Kotlin
// Initialize the Agent Platform Gemini API backend service (formerly Vertex AI).
// Create a `GenerativeModel` instance with a model that supports your use case.
val model = Firebase.ai(backend = GenerativeBackend.agentPlatform())
.generativeModel("gemini-3.7-flash")
Java
// Initialize the Agent Platform Gemini API backend service (formerly Vertex AI).
// Create a `GenerativeModel` instance with a model that supports your use case.
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.agentPlatform())
.generativeModel("gemini-3.7-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, AgentPlatformBackend } 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 Agent Platform Gemini API backend service (formerly Vertex AI).
const ai = getAI(firebaseApp, { backend: new AgentPlatformBackend() });
// Create a `GenerativeModel` instance with a model that supports your use case.
const model = getGenerativeModel(ai, { model: "gemini-3.7-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 Agent Platform Gemini API backend service (formerly Vertex AI).
// Create a `GenerativeModel` instance with a model that supports your use case.
final model =
FirebaseAI.agentPlatform().generativeModel(model: 'gemini-3.7-flash');
Unity
「Vertex AI in Firebase」では Unity はサポートされていませんでした。
使用している機能によっては、常に
GenerativeModel インスタンスを作成しない場合があります。
入出力のストリーミングを行うには、Gemini Live API を使用して
、LiveModel インスタンスを作成します。
ステップ 5: 使用する機能に応じてコードを更新する
このステップでは、使用する機能に応じて必要な変更について説明します。
Cloud Storage URL を使用していて、この移行で Gemini Developer API を使用するように切り替えた場合は、 マルチモーダル リクエストを更新して、 ファイルをインライン データとして含める必要があります (動画には YouTube URL を使用します)。
SDK Firebase AI Logic を導入するためにコードを変更する必要があるかどうか、次のリストを確認してください。
Swift
追加の変更はありません。
Kotlin
Live API
- 列挙型クラス
ResponseModalityのUNSPECIFIED値を削除しました。代わりにnullを使用してください。
- 列挙型クラス
Java
Live API
- 列挙型クラス
ResponseModalityのUNSPECIFIED値を削除しました。代わりにnullを使用してください。
- 列挙型クラス
さまざまな Java ビルダー メソッドが、void ではなくクラスのインスタンスを正しく返すように変更されました。
Web
の使用を開始する場合にのみ必要な変更 Gemini Developer API(代わりに Agent Platform Gemini API (formerly Vertex AI)):
安全に関する設定
- サポートされていない
SafetySetting.methodの使用を削除しました。
- サポートされていない
インライン データ
- サポートされていない
InlineDataPart.videoMetadataの使用を削除しました。
- サポートされていない
Dart
追加の変更はありません。
Unity
「Vertex AI in Firebase」では Unity はサポートされていませんでした。
Firebase AI Logic SDK for Unity を使ってみるをご覧ください。
フィードバックを送信する Firebase AI Logicの使用に関する