このガイドでは、選択したプラットフォーム用の Firebase AI Logic クライアント SDK を使用して、アプリから Gemini API を直接呼び出す方法について説明します。
前提条件
Swift
このガイドは、Xcode を使用して Apple プラットフォーム(iOS など)向けのアプリを開発することに精通していることを前提としています。
開発環境と Apple プラットフォーム アプリが次の要件を満たしていることを確認します。
- Xcode 26.2 以降
- アプリが iOS 15 以降または macOS 12 以降を対象としている
Kotlin
このガイドは、Android Studio を使用して Android 向けのアプリを開発することに精通していることを前提としています。
開発環境と Android アプリが次の要件を満たしていることを確認します。
- Android Studio(最新バージョン)
- アプリが API レベル 21 以降を対象としている
Java
このガイドは、Android Studio を使用して Android 向けのアプリを開発することに精通していることを前提としています。
開発環境と Android アプリが次の要件を満たしていることを確認します。
- Android Studio(最新バージョン)
- アプリが API レベル 21 以降を対象としている
Web
このガイドは、JavaScript を使用したウェブアプリ開発に精通していることを前提としています。このガイドはフレームワークに依存していません。
開発環境とウェブアプリが次の要件を満たしていることを確認します。
- (省略可)Node.js
- 最新のウェブブラウザ
Dart
このガイドは、Flutter を使用したアプリ開発に精通していることを前提としています。
開発環境と Flutter アプリが次の要件を満たしていることを確認します。
- Dart 3.2.0 以降
Unity
このガイドは、Unity を使用したゲーム開発に精通していることを前提としています。
開発環境と Unity ゲームが次の要件を満たしていることを確認します。
- Unity Editor 2021 LTS 以降
役立つリソースを確認する
Swift
クイックスタート アプリを試す
クイックスタート アプリを使用して、SDK をすばやく試して、さまざまなユースケースの完全な実装を確認できます。独自の Apple プラットフォーム アプリがない場合は、クイックスタート アプリを使用してください。クイックスタート アプリを使用するには、 Firebase プロジェクトに接続する必要があります。
動画チュートリアルを視聴する
この動画では、テキスト プロンプトからレシピを生成する AI を活用した実際の献立作成アプリを構築して、Firebase AI Logic を使い始める方法について説明します。
動画内のアプリのコードベースをダウンロードして確認することもできます。
Kotlin
クイックスタート アプリを試す
クイックスタート アプリを使用して、SDK をすばやく試して、さまざまなユースケースの完全な実装を確認できます。独自の Android アプリがない場合は、クイックスタート アプリを使用してください。クイックスタート アプリを使用するには、Firebase プロジェクトに 接続する必要があります。
動画チュートリアルを視聴する
この動画では、テキスト プロンプトからレシピを生成する AI を活用した実際の献立作成アプリを構築して、Firebase AI Logic を使い始める方法について説明します。
動画内のアプリのコードベースをダウンロードして確認することもできます。
Java
クイックスタート アプリを試す
クイックスタート アプリを使用して、SDK をすばやく試して、さまざまなユースケースの完全な実装を確認できます。独自の Android アプリがない場合は、クイックスタート アプリを使用してください。クイックスタート アプリを使用するには、Firebase プロジェクトに 接続する必要があります。
動画チュートリアルを視聴する
この動画では、Firebase AI Logicを使い始める方法について説明します。 テキスト プロンプトからレシピを生成する AI を活用した実際の献立作成アプリを構築します。 *
動画内のアプリのコードベースをダウンロードして確認することもできます。
* この動画とそのアプリは Kotlin で作成されていますが、Java デベロッパーが 使い始めるための基本を理解するのに役立ちます。 Firebase AI Logic.
Web
クイックスタート アプリを試す
クイックスタート アプリを使用して、SDK をすばやく試して、さまざまなユースケースの完全な実装を確認できます。独自のウェブアプリがない場合は、クイックスタート アプリを使用してください。クイックスタート アプリを使用するには、Firebase プロジェクトに 接続する必要があります。
Dart
クイックスタート アプリを試す
クイックスタート アプリを使用して、SDK をすばやく試して、さまざまなユースケースの完全な実装を確認できます。独自の Flutter アプリがない場合は、クイックスタート アプリを使用してください。クイックスタート アプリを使用するには、Firebase プロジェクトに 接続する必要があります。
動画チュートリアルを視聴する
この動画では、テキスト プロンプトからレシピを生成する AI を活用した実際の献立作成アプリを構築して、Firebase AI Logic を使い始める方法について説明します。
動画内のアプリのコードベースをダウンロードして確認することもできます。
Unity
クイックスタート アプリを試す
クイックスタート アプリを使用して、SDK をすばやく試して、さまざまなユースケースの完全な実装を確認できます。独自の Unity ゲームがない場合は、クイックスタート アプリを使用してください。クイックスタート アプリを使用するには、Firebase プロジェクトに 接続する必要があります。
ステップ 1: Firebase プロジェクトを設定してアプリを接続する
Firebase コンソールにログインし Firebase プロジェクトを選択します。
Firebase コンソールで、[AI サービス] > [AI Logic] に移動します。
「Gemini API」プロバイダを使用するようにプロジェクトを設定します。
から始めることをおすすめします。 Gemini Developer APIいつでも 設定できますVertex AI Gemini API (とその課金要件)。
Gemini Developer API の場合、コンソールで必要な API が有効になり、プロジェクトに Gemini API キーが作成されます。
この Gemini API キーをアプリのコードベースに追加しないでください 。 詳細コンソールのワークフローでプロンプトが表示されたら、画面上の手順に沿ってアプリを登録し、Firebase に接続します。
このガイドの次のステップに進んで、アプリに SDK を追加します。
ステップ 2: SDK を追加する
Firebase プロジェクトを設定し、アプリを Firebase に接続したら (前のステップを参照)、Firebase AI Logic SDK をアプリに追加できます。
Swift
Swift Package Manager を使用して Firebase の依存関係のインストールと管理を行います。
Firebase AI Logic ライブラリを使用すると、Gemini モデルを操作するための API にアクセスできます。このライブラリは、Firebase SDK for Apple プラットフォーム(firebase-ios-sdk)の一部として含まれています。
Firebase をすでに使用している場合は、Firebase パッケージが v12.5.0 以降であることを確認してください。
Xcode でアプリのプロジェクトを開いたまま、[File] > [Add Package Dependencies] の順に移動します。
プロンプトが表示されたら、Firebase Apple プラットフォーム SDK リポジトリを追加します。
https://github.com/firebase/firebase-ios-sdk最新の SDK バージョンを選択します。
[
FirebaseAILogic] ライブラリを選択します。
上記の作業が完了すると、Xcode は依存関係の解決とバックグラウンドでのダウンロードを自動的に開始します。
Kotlin
Android 用 Firebase AI Logic SDK(firebase-ai)を使用すると、Gemini モデルを操作するための API に
アクセスできます。
モジュール(アプリレベル)の Gradle ファイル
(<project>/<app-module>/build.gradle.kts など)に、Android 用 Firebase AI Logic ライブラリの依存関係を追加します。
ライブラリのバージョニングの制御には、
Firebase Android BoM
を使用することをおすすめします。
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.12.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") }
Firebase Android BoM を使用すると、 アプリは常に互換性のあるバージョンの Firebase Android ライブラリを使用します。
Java
Android 用 Firebase AI Logic SDK(firebase-ai)を使用すると、Gemini モデルを操作するための API に
アクセスできます。
モジュール(アプリレベル)の Gradle ファイル
(<project>/<app-module>/build.gradle.kts など)に、Android 用 Firebase AI Logic ライブラリの依存関係を追加します。
ライブラリのバージョニングの制御には、
Firebase Android BoM
を使用することをおすすめします。
Java の場合は、2 つの追加ライブラリを追加する必要があります。
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.12.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") // 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") }
Firebase Android BoM を使用すると、 アプリは常に互換性のあるバージョンの Firebase Android ライブラリを使用します。
Web
Firebase AI Logic ライブラリを使用すると、Gemini モデルを操作するための API にアクセスできます。このライブラリは、ウェブ用の Firebase JavaScript SDK の一部として含まれています。
npm を使用してウェブ用の Firebase JS SDK をインストールします。
npm install firebaseアプリで Firebase を初期化します。
import { initializeApp } from "firebase/app"; // 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);
Dart
Flutter 用 Firebase AI Logic プラグイン(firebase_ai)を使用すると、Gemini モデルを操作するための API にアクセスできます。
Flutter プロジェクト ディレクトリで、次のコマンドを実行して コア プラグインと Firebase AI Logic プラグインをインストールします。
flutter pub add firebase_core firebase_ailib/main.dartファイルで、Firebase Core プラグイン、 Firebase AI Logic プラグイン、以前に生成した 構成ファイルをインポートします。import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_ai/firebase_ai.dart'; import 'firebase_options.dart';また、
lib/main.dartファイルで、構成ファイルによってエクスポートされたDefaultFirebaseOptionsオブジェクトを使用して Firebase を初期化します。await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, );Flutter アプリケーションを再ビルドします。
flutter run
Unity
Firebase Unity SDK をダウンロードし、適切な場所 で SDK を解凍します。
Firebase Unity SDK はプラットフォーム固有ではありません。
開いている Unity プロジェクトで、[Assets] > [Import Package] > [Custom Package] を選択します。
解凍した SDK の中から
FirebaseAIパッケージを選択します。[ Import Unity Package] ウィンドウで [Import] をクリックします。
Firebase コンソールの設定ワークフローに戻り、[Next] をクリックします。
ステップ 3: サービスを初期化してモデル インスタンスを作成する
|
Gemini API プロバイダをクリックして、このページでプロバイダ固有のコンテンツとコードを表示します。 |
Gemini モデルにプロンプトを送信する前に、
選択した 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-flash-preview")
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-flash-preview")
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-flash-preview");
// 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-flash-preview" });
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-flash-preview');
Unity
using Firebase;
using Firebase.AI;
// Initialize the Gemini Developer API backend service
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());
// Create a `GenerativeModel` instance with a model that supports your use case
var model = ai.GetGenerativeModel(modelName: "gemini-3-flash-preview");
使用している機能によっては、常に
GenerativeModel インスタンスを作成しない場合があります。
を使用して入出力をストリーミングするには、Gemini Live API、
LiveModel インスタンスを作成します。
また、このスタートガイドを完了したら、ユースケースとアプリに適したモデルを選択する方法をご確認ください。
ステップ 4: モデルにプロンプト リクエストを送信する
これで、Gemini モデルにプロンプト リクエストを送信する準備が整いました。
generateContent() を使用すると、テキストを含むプロンプトからテキストを生成できます。
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-flash-preview")
// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."
// To generate text output, call generateContent with the text input
let response = try await model.generateContent(prompt)
print(response.text ?? "No text in response.")
Kotlin
Kotlin の場合、この SDK のメソッドは suspend 関数であり、 Coroutine スコープから呼び出す必要があります。
// 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-flash-preview")
// Provide a prompt that contains text
val prompt = "Write a story about a magic backpack."
// To generate text output, call generateContent with the text input
val response = model.generateContent(prompt)
print(response.text)
Java
Java の場合、この SDK のメソッドはListenableFuture を返します。
// 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-flash-preview");
// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(ai);
// Provide a prompt that contains text
Content prompt = new Content.Builder()
.addText("Write a story about a magic backpack.")
.build();
// To generate text output, call generateContent with the text input
ListenableFuture<GenerateContentResponse> response = model.generateContent(prompt);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
@Override
public void onSuccess(GenerateContentResponse result) {
String resultText = result.getText();
System.out.println(resultText);
}
@Override
public void onFailure(Throwable t) {
t.printStackTrace();
}
}, executor);
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-flash-preview" });
// Wrap in an async function so you can use await
async function run() {
// Provide a prompt that contains text
const prompt = "Write a story about a magic backpack."
// To generate text output, call generateContent with the text input
const result = await model.generateContent(prompt);
const response = result.response;
const text = response.text();
console.log(text);
}
run();
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-flash-preview');
// Provide a prompt that contains text
final prompt = [Content.text('Write a story about a magic backpack.')];
// To generate text output, call generateContent with the text input
final response = await model.generateContent(prompt);
print(response.text);
Unity
using Firebase;
using Firebase.AI;
// Initialize the Gemini Developer API backend service
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());
// Create a `GenerativeModel` instance with a model that supports your use case
var model = ai.GetGenerativeModel(modelName: "gemini-3-flash-preview");
// Provide a prompt that contains text
var prompt = "Write a story about a magic backpack.";
// To generate text output, call GenerateContentAsync with the text input
var response = await model.GenerateContentAsync(prompt);
UnityEngine.Debug.Log(response.Text ?? "No text in response.");
Google アシスタントの機能
サポートされているモデルの詳細
さまざまなユースケースで利用できる モデル 、 割り当て、 料金について説明します。
その他の機能を試す
- テキストのみのプロンプトからテキストを生成する方法(レスポンスをストリーミングする方法など)について説明します。
- 画像、PDF、動画、音声など、さまざまなファイル形式でプロンプトを表示してテキストを生成します。
- マルチターン会話(チャット)を構築します。
- 構造化出力(JSON など)を生成します テキスト プロンプトとマルチモーダル プロンプトの両方から。
- テキスト プロンプトとマルチモーダル プロンプトの両方から 画像を生成して編集します。
- 入出力をストリーミングします(音声を含む) Gemini Live API を使用します。
- ツール(関数呼び出しやGoogle 検索によるグラウンディングなど)を使用して、Gemini モデルをアプリの他の部分や外部システム、情報に接続します。
コンテンツ生成を制御する方法を学ぶ
- プロンプト設計( ベスト プラクティス、戦略、プロンプトの例など )について説明します。
- モデル パラメータを構成します。たとえば、 Temperature や最大出力トークンなどです。
- 安全性設定を使用して、 有害とみなされる可能性のあるレスポンスを取得する可能性を調整します。
フィードバックを送信する Firebase AI Logicの使用に関する