WWDC 2026 で、Apple は Foundation Models フレームワークをサードパーティ モデル アダプターに公開しました。つまり、デバイス上のモデルにアクセスする場合と同じ API を使用して、Foundation Models フレームワークを介してクラウド ホスト型モデル( Geminiなど)にアクセスできます。
アプリでは、モデル インスタンスを切り替えて、ユースケースに合わせてデバイス上の推論またはクラウド推論にリクエストをルーティングできます。
- デバイス上のモデルは、最大限のプライバシー、無料、オフライン サポートを提供します。
- クラウド ホスト型の Gemini モデルは、大きなコンテキスト ウィンドウ、高度な 機能、より強力な推論機能を提供します。
Apple プラットフォーム用 Firebase SDK(特に Firebase AI Logic ライブラリ)を使用して、Apple の Foundation Models フレームワークを介してクラウド ホスト型の Gemini モデルにアクセスできます。このガイドでは、その方法について説明します。
Gemini モデルへのアクセスを保護するため、このガイドでは、開発中であっても 非常に重要な Firebase App Check を設定する方法についても説明します。
前提条件
最新の Xcode 27 ベータ版をインストールします。
Apple プラットフォーム シミュレータまたは実機。どちらも対応するベータ版 OS バージョン(iOS 27 ベータ版など)を実行していること。
SwiftUI インターフェースを使用する Apple プラットフォーム アプリの新しい Xcode プロジェクト。
サポートされている Gemini モデル
Apple の Foundation Models フレームワークとの統合では、 次の Gemini モデルがサポートされています。
汎用モデル
gemini-3.1-pro-previewgemini-3.6-flash(および古いgemini-3.5-flash)gemini-3.5-flash-lite(および古いgemini-3.1-flash-lite)
画像生成モデル
gemini-3-pro-image(別名「Nano Banana Pro」)gemini-3.1-flash-image(別名「Nano Banana 2」)gemini-3.1-flash-lite-image(別名「Nano Banana 2 Lite」)
Gemini Live API モデルと Imagen モデルは サポートされていません。 Gemini 2.5 モデルは技術的にはサポートされていますが、新しいプロジェクトにはおすすめしません。また、このガイドでは説明していない特別な構成が必要です。
ステップ 1: Firebase プロジェクトを作成する
この統合を試すには、新しい Firebase プロジェクトから始めることをおすすめします。
Firebase コンソールにログインします。
[新しい Firebase プロジェクトを作成] をクリックします。
画面に表示される手順に沿って設定します。Google アナリティクスを有効にする必要はありません 。
ステップ 2: アプリを Firebase に接続する
アプリを Firebase に接続するには、アプリを Firebase プロジェクトに登録し、構成ファイルをコードベースに追加する必要があります。
アプリを登録します。
アプリのバンドル ID を入力します。Xcode でビルドしているプロジェクトのバンドル ID と一致していることを確認してください。
[アプリの登録] をクリックします。
Firebase 構成ファイルを追加します。 このファイルには、Firebase SDK が Firebase プロジェクトに接続するための設定が含まれています。
[**Download
**] をクリックして、構成 ファイルを取得します。GoogleService-Info.plist を Xcode プロジェクトのルートに移動し、すべてのターゲットに追加します。GoogleService-Info.plist [Next] を Firebase コンソールでクリックします。
コンソールのワークフローには、一般的な手順が記載されています。 Firebase SDK をアプリに追加するための具体的な手順については、この ガイドの次のステップに進んでください。Firebase AI Logic
ステップ 3: Firebase ライブラリを追加してアプリで Firebase を初期化する
Swift Package Manager を使用して、必要な Firebase ライブラリを追加します。
Xcode でアプリのプロジェクトを開いたまま、[File] > [Add Packages] の順に選択します。
Firebase Apple SDK リポジトリの URL を入力します。
https://github.com/firebase/firebase-ios-sdk依存関係ルールとして [Branch] を選択し、「
wwdc26-preview」と入力します。[Add Package] をクリックします。Xcode が依存関係を解決してダウンロードします。
プロンプトが表示されたら、
FirebaseAILogicライブラリとFirebaseAppCheckライブラリをアプリのターゲットに追加します。
アプリの起動時に Firebase を初期化するには、アプリのメイン エントリ ポイントに次のコードを追加します。
import SwiftUI import FirebaseCore @main struct YourApp: App { init() { FirebaseApp.configure() } var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
ステップ 4: Firebase サービスを有効にして保護する
アプリが Firebase を使用するように構成されたので、 Firebase AI Logic サービスを有効にし、 Firebase App Check を使用して関連する API へのアクセスを保護する必要があります。
ステップ 4a: Firebase プロジェクトで Firebase AI Logic を設定する
Firebase コンソールで、[AI Services] > [AI Logic] に移動します。
[開始する] をクリックして、ガイド付き設定ワークフローを起動します。
[Gemini API provider] を選択するよう求められたら、 [Gemini Developer API] を選択することをおすすめします。これにより、無料で簡単に始めることができます。
後で、いつでも 設定できますAgent Platform Gemini API (formerly Vertex AI) (および課金の要件)。
ワークフローを続行して、必要な API と関連サービスを設定します Firebase AI Logic。
2026 年 7 月上旬から、ワークフローのこの段階では、 が Firebase App Check に対して自動的に適用されます。これは、アプリから直接アクセスされる Gemini API を保護するための 重要なサービスです。開始手順の一環として(このガイドの後半の手順を参照)、App Check が適用されている場合は、ローカル開発用に App Check デバッグ プロバイダ を構成する必要があります。AI Logic
ステップ 4b: ローカル開発用に App Check デバッグ プロバイダを構成する
ローカル開発では、App Check デバッグ プロバイダ を構成して、App Check の適用を維持しながら証明をバイパスする必要があります。
Xcode プロジェクトで、
FirebaseAppCheckをインポートし、 App Check を構成する前に、デバッグ プロバイダ ファクトリを使用してFirebaseを初期化します。import SwiftUI import FirebaseCore import FirebaseAppCheck @main struct YourApp: App { init() { let providerFactory = AppCheckDebugProviderFactory() AppCheck.setAppCheckProviderFactory(providerFactory) FirebaseApp.configure() } var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }デバッグ トークンを取得します。
シミュレータまたはテストデバイスでアプリを起動します。
Xcode コンソールを開き、App Check デバッグ トークンを探します。 例:
<Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.トークンをコピーします(例:
123a4567-b89c-12d3-e456-789012345678)。
デバッグ トークンを App Check に登録します。
Firebase コンソールで、 [Security] > [App Check] > [Apps] タブに移動します。
アプリを見つけて、オーバーフロー メニュー ()をクリックし、 [Manage debug tokens] を選択します。
画面に表示される手順に沿って、デバッグ トークンを登録します。
デバッグ プロバイダの詳細(新しいデバッグ トークンを取得する方法など)については、 公式 ドキュメントをご覧ください。App Check
ステップ 5: アプリで AI Logic サービスを初期化する
|
Gemini API プロバイダをクリックして、このページでプロバイダ固有のコンテンツとコードを表示します。 |
Firebase と App Check を構成したら、アプリで Firebase AI Logic サービスを初期化できます。
import FoundationModels
import FirebaseCore
import FirebaseAILogic
// Initialize the Gemini Developer API backend service.
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Initialize a `geminiLanguageModel` with a Gemini model that supports your use case.
let model = ai.geminiLanguageModel(name: "gemini-3.6-flash")
ステップ 6: Gemini モデルにリクエストを送信する
Firebase AI Logic を設定し、保護し、アプリで初期化したら、 Gemini モデルにリクエストを送信する準備が整います。
次の例は、最も基本的なタイプのリクエスト(テキストのみのプロンプトからテキストを生成する)を示しています。
import FoundationModels
import FirebaseCore
import FirebaseAILogic
// Initialize the Gemini Developer API backend service.
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Initialize a `geminiLanguageModel` with a Gemini model that supports your use case.
let model = ai.geminiLanguageModel(name: "gemini-3.6-flash")
// Create a session by injecting the model into Apple's `LanguageModelSession`.
let session = LanguageModelSession(model: model)
// Generate a text response to a prompt.
let response = try await session.respond(to: "Write a story about a magic backpack.")
print(response.content)
Gemini モデルは、 画像の分析や PDF の分析 、 構造化された JSON 出力の生成 、画像の生成(「Nano Banana」モデルを使用)など、他のタイプのリクエストもサポートしています。これらのタイプのリクエストの例については、ドキュメントまたはサンプルアプリをご覧ください。
レスポンスをストリーミングする
モデル生成からの結果全体を待つのではなく、ストリーミングを使用して部分的な結果を処理することで、インタラクションを高速化できます。 レスポンスをストリーミングするには、respond(to:) ではなく streamResponse(to:) を使用します。
import FoundationModels
import FirebaseCore
import FirebaseAILogic
// Initialize the Gemini Developer API backend service.
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Initialize a `geminiLanguageModel` with a Gemini model that supports your use case.
let model = ai.geminiLanguageModel(name: "gemini-3.6-flash")
// Create a session by injecting the model into Apple's `LanguageModelSession`.
let session = LanguageModelSession(model: model)
// Generate a streamed text response to a prompt.
// To stream the response, use `streamResponse(to:)` instead of `respond(to:)`
let stream = session.streamResponse(to: "Write a story about a magic backpack.")
var response = ""
for try await snapshot in stream {
// The snapshot contains *all* content generated so far.
response = snapshot.content
}
次のステップ
- Apple の Foundation Models フレームワークを介して Gemini API にアクセスする際に使用できる機能を確認する。
- 思考レベル(「推論」)の設定など、モデルのレスポンスを制御するようにモデルを構成する方法を学習する。
- 最新情報に基づくグラウンディングなど、モデルにツールを提供する方法を学習する。
- Firebase App Check と、リソースを保護する方法について詳しく確認する。
Apple の Foundation Models フレームワークを介して Gemini API にアクセスすることに関するフィードバックを送信する