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-31上級

Gemini API × React Native 本番運用ノート — 個人開発アプリで踏んだ落とし穴と設計判断

iOS/Android 両対応の個人開発アプリで Gemini API を React Native/Expo から呼ぶ時に踏んだ落とし穴、AdMob 連携時のモデル振り分け、Cold Start とコスト、AsyncStorage キャッシュの TTL 設計をまとめた運用ノート

gemini-api279react-native2expo2mobile-app2streaming18vision4production105

プレミアム記事

モバイルアプリの中で Gemini API を呼んでみて分かったこと

廣川政樹(@dolice)と申します。2014 年から個人で iOS/Android アプリを作り続けていて、累計ダウンロードは 5,000 万に届きました。AdMob で十数年運用しているので、サーバーコストを抑えながら AI を組み込むときに何を気にすべきかは、肌感で分かっているつもりです。

2026 年に入ってから、壁紙アプリと癒し系アプリの 2 本に Gemini API を組み込む実装を続けています。「ユーザーが選んだ画像の世界観に合わせて短い文章を返す」「気分を入力したらおすすめの壁紙カテゴリを 3 つ提案する」といった、軽い AI 機能です。

正直に書きますと、最初の数週間はうまくいきませんでした。ローカルのシミュレータでは動くのに、TestFlight で配った実機では初回起動が 8 秒固まる、Wi-Fi が切れた瞬間にストリーミングがハングする、AdMob とリクエストが競合してフリースペースが足りない、そういう小さな事故が積み重なっていました。

このノートは、その対処の記録です。Expo + React Native で書いた本番アプリで Gemini API を「ユーザーが毎日触ってくれる品質」まで持っていくために、どこにキャッシュを置き、どのモデルを使い、どこで Cloud Functions を挟むか。コードと、私の現場での実測値をそのまま残しておきます。

開発環境セットアップ — Expo, React Native, 必要パッケージ

環境の前提条件

  • Node.js 18 以上 — Expo CLI が Expo SDK 51 以上を使用するため
  • Expo CLI: npm install -g expo-cli で最新版をインストール
  • iOS/Android デバイス または エミュレータ — テスト環境
  • Gemini API キー — Google AI Studio から取得(無料でも利用可能)

プロジェクトの初期化

# Expo プロジェクトを作成
npx create-expo-app GeminiAIChat
 
# プロジェクトディレクトリに移動
cd GeminiAIChat
 
# 必要なパッケージをインストール
npm install \
  @google/generative-ai \
  react-native-async-storage \
  expo-camera \
  expo-image-picker \
  expo-network \
  @react-navigation/native \
  @react-navigation/bottom-tabs \
  react-native-screens \
  react-native-safe-area-context
 
# TypeScript サポートの有効化(オプション)
npm install --save-dev typescript @types/react-native

プロジェクト構造

GeminiAIChat/
├── app.json                    # Expo 設定
├── App.tsx                     # エントリーポイント
├── src/
│   ├── config/
│   │   └── gemini.ts          # Gemini API クライアント設定
│   ├── hooks/
│   │   ├── useNetwork.ts      # ネットワーク状態監視
│   │   ├── useGeminiChat.ts   # チャット状態管理
│   │   └── useStorage.ts      # AsyncStorage ラッパー
│   ├── components/
│   │   ├── ChatScreen.tsx     # チャットUI
│   │   ├── CameraScreen.tsx   # カメラ連携画面
│   │   ├── MessageBubble.tsx  # メッセージUI
│   │   └── LoadingIndicator.tsx # ローディング表示
│   ├── services/
│   │   ├── geminiService.ts   # API 通信ロジック
│   │   ├── cacheService.ts    # オフラインキャッシュ
│   │   └── imageService.ts    # 画像圧縮・処理
│   └── types/
│       └── index.ts           # TypeScript 型定義
└── package.json

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

この記事の続きを読む

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

この記事で得られること
個人開発アプリ(iOS/Android・累計 5,000 万 DL)で React Native + Expo から Gemini API を呼んだ時の落とし穴と対処
公式ドキュメントに書かれていない 7 つの実装インサイト(ストリーミング中の JS スレッド・AsyncStorage TTL・SecureStore 失敗・Cold Start ロングテール・カメラ Permission 撤回・Base64 メモリ・Bundle サイズ)
AdMob と Gemini API を併用するアプリでの Flash/Pro 振り分けライン、Cloud Functions プロキシ経由でのキー保護、月予算 ÷ 30 × 1.3 のコストアラート設計
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

開発ツール2026-04-03
Next.js 15 App Router × Gemini API フルスタック本番構築
Next.js 15 App RouterとGemini APIを組み合わせたフルスタックAIアプリを本番レベルで構築する完全ガイド。Server Actions、Streaming、RAG、認証・レート制限まで徹底解説します。
開発ツール2026-03-27
Gemini 3.1 Pro × Cloud Run:サーバーレスAI APIの本番構築
Gemini 3.1 Pro を Cloud Run にデプロイし、SSE ストリーミング・オートスケール・コールドスタート最適化・本番監視までを含むサーバーレス AI API の構築手順です。
開発ツール2026-07-11
同じナレーションを二度生成しない — TTS 音声を端末にキャッシュする鍵設計と失効の運用
瞑想・癒し系アプリのように同じ音声を何度も再生する場面で、Gemini TTS の出力そのものをキャッシュしてコストを実質ゼロに近づける設計です。テキストだけでは足りないキャッシュキーの組み立て方、サーバ生成キャッシュと端末キャッシュの二層構成、モデル停止期限への備えとしての失効ポリシーを、動くコードと実測値でまとめました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →