← ishizakahiroshi.com
設計判断2026-09-27

広告の差し替えで再デプロイしない。GitHubの別ブランチからJSONを読む構成

広告だけ、差し替える。GitHubの別ブランチとJSONで更新を分離

県別の問題集広告を、GitHubの広告専用ブランチに置いたJSONから読み込む構成にしました。アプリの再デプロイを避ける更新経路、対象県の選別、データ検証、取得失敗とキャッシュの扱いをまとめた実装記録です。

Zennで本文を読む →

この記事のテーマ

群馬県だけだった問題集の広告を全国へ広げるとき、県ごとの商品データをアプリのコードから分けました。広告用ブランチではアプリをビルドせず、ブラウザが必要な県のJSONだけを取得します。

アプリの仕組み、広告JSON、県ごとの読み込みを分ける

更新経路を分け、取得の失敗にも備える

同じデータ形式の商品差し替えはJSONの更新だけで反映できます。読み込み先や形式を変更する場合は、アプリ側も更新します。取得に失敗したときは広告を消し、学校情報の表示は続けます。

アプリはPages、広告はGitHub Rawから配信する二つの経路

アプリの再デプロイが不要でも、即時反映を保証するわけではありません。配信側のキャッシュによる遅れも、本文で説明しています。

広告カードを取り外しても学校の模型はそのまま残る

実装コードの入口、県別ファイルの生成コマンド、検証した範囲はZennの本文にまとめています。

題材のmanabi-mapの作品紹介とWebアプリも公開しています。