GEMINI LABEN
NANOLITE — Nano Banana 2 Liteが登場しました。Googleで最も速く、最もコスト効率の高いGemini Imageモデルで、軽量な画像生成を安く回したい用途に向いていますOMNIFLASH — Gemini Omni Flashがpublic previewになりました。ネイティブにマルチモーダルなモデルで、企業や開発者が独自の動的な動画ワークフローを構築できますAGENTS — Managed Agentsが拡張されました。background: trueでサーバー側の非同期実行とポーリング、リモートMCPサーバー連携、対話をまたぐ認証情報のリフレッシュに対応しますMEMORY — Memory BankのIngestEvents APIが一般提供になりました。イベントの取り込みとメモリ生成を分離し、コンテンツを継続的にストリームできますTHROUGHPUT — Provisioned Throughputで、同一モデル・同一リージョンに対して最大7件の保留オーダーを提出できるようになりましたDEPRECATE — 画像生成モデルは8月17日に、Gemini Enterprise Agent PlatformのGrok 4.1系は8月20日に停止される予定ですNANOLITE — Nano Banana 2 Liteが登場しました。Googleで最も速く、最もコスト効率の高いGemini Imageモデルで、軽量な画像生成を安く回したい用途に向いていますOMNIFLASH — Gemini Omni Flashがpublic previewになりました。ネイティブにマルチモーダルなモデルで、企業や開発者が独自の動的な動画ワークフローを構築できますAGENTS — Managed Agentsが拡張されました。background: trueでサーバー側の非同期実行とポーリング、リモートMCPサーバー連携、対話をまたぐ認証情報のリフレッシュに対応しますMEMORY — Memory BankのIngestEvents APIが一般提供になりました。イベントの取り込みとメモリ生成を分離し、コンテンツを継続的にストリームできますTHROUGHPUT — Provisioned Throughputで、同一モデル・同一リージョンに対して最大7件の保留オーダーを提出できるようになりましたDEPRECATE — 画像生成モデルは8月17日に、Gemini Enterprise Agent PlatformのGrok 4.1系は8月20日に停止される予定です
記事一覧/開発ツール
開発ツール/2026-03-27上級

Gemini API × Flutter で AI チャットアプリを個人開発で運用するノート — iOS / Android 同時リリースで踏んだ設計と落とし穴

Flutter で iOS / Android を同時にリリースしている個人開発アプリに Gemini API を組み込んで運用してみた実装ノートです。AdMob 併用で eCPM とトークンコストのバランスを取る設計、ストリーミング切断・Firestore コスト・Cold Start などの実測値と対処を、コード例と数値付きで整理しました。

gemini-api279flutterdartcross-platform3chat-appstreaming18firebase6multimodal24

プレミアム記事

2014年から iPhone / Android 向けに壁紙アプリや癒し系アプリを個人開発していて、累計 5,000万 DL を超えたあたりから「ユーザーから直接フィードバックをもらえる小さな AI 機能」を載せてみたい、と長く考えていました。Gemini API が Flash 系で十分実用的な単価まで降りてきた 2026 年、手元の Flutter アプリの一部に AI チャットを組み込んで実運用に回したのが、この記事のもとになっています。

私の作品制作(国際芸術賞 17 冠の現代美術プロジェクト)と Gemini のような AI ツール活用ははっきり分けていて、作品の側には AI を一切入れていません。一方で、長年の制作で身についた「同じ素材を別の角度から何度も組み直す」という習慣は、AI チャット機能の UI 設計にもよく効きました。読者のあなたが個人開発の延長で AI を載せようとしているなら、まずはここに書いた範囲で「動くものを 1 本リリースする」ことから始めるのがいちばん近道だと感じています。

取り組みの背景 — なぜ Flutter × Gemini を個人開発で選んだのか

最初に断っておくと、私の個人開発アプリは AdMob 広告収益で運用していて、月の AdMob 売上が固定費を上回るかどうかが事業の生命線です。AI チャットを足す動機は「課金率を上げたい」ではなく、「無料ユーザーの 1 セッションあたり滞在時間を伸ばし、結果として広告インプレッションを増やす」ことでした。

Flutter は単一コードベースで iOS / Android / Web をカバーでき、google_generative_ai パッケージで Gemini API をそのまま叩けます。SwiftUI / Jetpack Compose で 2 本書く手間が省けるので、個人開発の限られた時間配分にちょうど合います。Gemini Flash の入力 1M トークンあたり $0.075、出力 $0.30(2026年5月時点)という単価は、平均 1 セッション 800〜1,200 トークンの利用なら、AdMob の追加 eCPM で十分回収できる計算でした。

この記事は Gemini API × Kotlin で Android アプリに AI を組み込む実践ガイド で扱ったネイティブ実装の知見を、クロスプラットフォームに延ばして「個人開発の運用に耐える」ところまで持っていく内容です。

環境構築とプロジェクトセットアップ

前提条件

開発を始める前に、以下の環境を準備してください。

  • Flutter SDK 3.22 以上(Dart 3.4 以上)
  • Google AI Studio で取得した Gemini API キー
  • Firebase プロジェクト(認証・Firestore を使用する場合)
  • Android Studio または VS Code(Flutter 拡張機能付き)

プロジェクト作成と依存パッケージ

まず Flutter プロジェクトを作成し、必要なパッケージを追加します。

flutter create gemini_chat_app
cd gemini_chat_app
flutter pub add google_generative_ai
flutter pub add flutter_markdown
flutter pub add image_picker
flutter pub add firebase_core firebase_auth cloud_firestore
flutter pub add flutter_riverpod
flutter pub add envied envied_generator build_runner --dev

主要パッケージの役割は以下の通りです。

  • google_generative_ai — Gemini API 公式 Dart SDK。モデル呼び出し・ストリーミング・マルチモーダル入力を統一的に扱える
  • flutter_markdown — Gemini の Markdown 形式レスポンスをリッチにレンダリング
  • flutter_riverpod — 状態管理。チャット履歴やストリーミング状態の管理に使用
  • envied — API キーをコンパイル時に難読化して埋め込む(ハードコード防止)

API キーの安全な管理

API キーをソースコードにハードコードするのは厳禁です。envied パッケージを使い、環境変数から読み込む設計にします。

// lib/env/env.dart
import 'package:envied/envied.dart';
 
part 'env.g.dart';
 
@Envied(path: '.env')
abstract class Env {
  @EnviedField(varName: 'GEMINI_API_KEY', obfuscate: true)
  static String geminiApiKey = _Env.geminiApiKey;
}

プロジェクトルートに .env ファイルを作成し、.gitignore に追加してください。

GEMINI_API_KEY=YOUR_GEMINI_API_KEY
dart run build_runner build

これにより、API キーがコンパイル済みバイナリ内で難読化され、リバースエンジニアリングへの耐性が向上します。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
Flutter × Gemini を個人開発アプリに載せたときの月額コスト構成(Gemini API・Firestore・AdMob 相殺)の実測
ストリーミング応答が iOS バックグラウンドで切れる問題への、Riverpod + AppLifecycleState を使った再開実装
AdMob と AI チャット機能を同居させる場合の eCPM への影響と、無料/プレミアム切替の判断ライン
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Gemini Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

開発ツール2026-04-18
Gemini API × Tauri 2.0 でクロスプラットフォームAIデスクトップアプリを構築する
Tauri 2.0とGemini APIを組み合わせてmacOS・Windows・Linux対応のデスクトップAIアプリを構築する実践ガイド。Rustバックエンドによる安全なAPIキー管理、ストリーミング配信、ネイティブOS機能との連携を動くコードで解説します。
開発ツール2026-04-18
Gemini API × Kotlin Multiplatform:iOS/Android 共通 AI ロジックの設計から App Store 公開まで
Kotlin Multiplatform(KMP)とGemini APIを組み合わせ、iOS・Android両対応のAI機能を1つのコードベースで実装する完全ガイド。共通ビジネスロジック設計・SwiftUI/Compose UI・本番APIキー管理・マルチモーダル対応まで動作確認済みコードで解説します。
開発ツール2026-04-03
Next.js 15 App Router × Gemini API フルスタック本番構築
Next.js 15 App RouterとGemini APIを組み合わせたフルスタックAIアプリを本番レベルで構築する完全ガイド。Server Actions、Streaming、RAG、認証・レート制限まで徹底解説します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →