設計判断2026-09-27
広告の差し替えで再デプロイしない。GitHubの別ブランチからJSONを読む構成

県別の問題集広告を、GitHubの広告専用ブランチに置いたJSONから読み込む構成にしました。アプリの再デプロイを避ける更新経路、対象県の選別、データ検証、取得失敗とキャッシュの扱いをまとめた実装記録です。
この記事のテーマ
群馬県だけだった問題集の広告を全国へ広げるとき、県ごとの商品データをアプリのコードから分けました。広告用ブランチではアプリをビルドせず、ブラウザが必要な県のJSONだけを取得します。
更新経路を分け、取得の失敗にも備える
同じデータ形式の商品差し替えはJSONの更新だけで反映できます。読み込み先や形式を変更する場合は、アプリ側も更新します。取得に失敗したときは広告を消し、学校情報の表示は続けます。

アプリの再デプロイが不要でも、即時反映を保証するわけではありません。配信側のキャッシュによる遅れも、本文で説明しています。
実装コードの入口、県別ファイルの生成コマンド、検証した範囲はZennの本文にまとめています。
題材のmanabi-mapの作品紹介とWebアプリも公開しています。