◉ANTIGRAVITY LABEN
記事一覧/連携・プラグイン
⬡ 連携・プラグイン/2026-05-19上級

AdMob と AppLovin MAX を並走させて、Antigravity サブエージェントで日次比較する仕組み

2014年から AdMob で運用してきた壁紙アプリに AppLovin MAX を並走させ、Antigravity のサブエージェント群に eCPM・Fill Rate・ARPDAU を日次で比較させた90日間の実装メモです。広告ネットワーク横断の正規化と異常検知の閾値を中心に書きます。

antigravity464admob16applovin-maxmediation4monetization15agents100

✦ プレミアム記事

直近の2ヶ月ほど、運用中の壁紙アプリの広告メディエーションを AdMob 単独から AdMob と AppLovin MAX の並走体制に切り替え、その判断材料を Antigravity のサブエージェント群に日次集計させていました。私が個人開発を始めたのが 2014 年、6 アプリ並行で運用している現時点で AdMob の累計収益は事業の柱になっており、移行判断は軽い気持ちでは下せません。一方で AppLovin MAX のオークション挙動は数字で見るほどに優位な国・ユニットも見えてきます。そこで「結論を急がず、毎日同じものさしで両者を観測する」運用を Antigravity に任せることにしました。

このメモは、その90日間で実装と運用を改めた記録です。広告 SDK の入れ替え方法そのものではなく、レポート API の取り扱い、サブエージェント間の責務分割、異常検知の閾値、判断を人間に渡す境界線、といった「比較を続けるための足場」を書きます。

並走を選んだ理由と、観測したい3つの数字

AppLovin MAX への完全移行を即断しなかったのは、過去に別のメディエーション SDK で「導入後しばらく好調 → 季節要因で落ち込み → 切り戻しの判断材料がなくて困った」という経験があるためです。判断の足場として、最低3ヶ月は同条件で両ネットワークの数字を見たいと考えました。

観測対象を絞り込む過程で、最終的に次の3メトリクスに絞りました。

  1. eCPM(千回表示あたり収益)— 単価そのもの
  2. Fill Rate(広告リクエストに対する充足率)— インベントリの厚み
  3. ARPDAU(DAU あたり広告収益)— ユーザー側から見た収益効率

eCPM だけを追うと、Fill Rate が下がっているのに単価が上がって「総額は減っているのに勝っているように見える」現象に騙されます。AdMob 一本で運用していたときに何度か遭遇したのですが、当時は手動で関連レポートを開いて確認していました。3 指標を連動で見ることがメディエーション比較の最低条件だと割り切り、エージェントの出力もこの 3 列構成で固定しています。

サブエージェントに分割した4つの責務

Antigravity のサブエージェント機能は「ひとつのタスクを長く回す」より「責務単位で小さく切って、結果を文字列でつなぐ」方が壊れにくいことが90日間で見えてきました。今回は4つに分割しています。

  • collector-admob: AdMob Reporting API からの日次取得と JSON 正規化
  • collector-applovin: AppLovin MAX Reporting API からの取得と正規化
  • normalizer: 国・通貨・広告ユニットの命名揺れを統一して比較可能な単一テーブルに整形
  • comparator: 3 メトリクスの差分計算と、しきい値超過時の通知文生成

それぞれを独立した .agent ファイルに分け、Antigravity の Orchestrator から順に呼び出します。Comparator だけが他3つの出力に依存します。AGENTS.md の dependencies 節で明示しており、これにより collector-applovin が失敗しても collector-admob の結果はキャッシュされ、翌日の比較は片肺で実行できます。私自身、最初は Orchestrator 1 つで全部やろうとして「途中でレポート API がタイムアウト → 全部やり直し」を 2 度踏み、責務分割に逃げた経緯があります。

✦

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

この記事の続きを読む

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

この記事で得られること
✦AdMob と AppLovin MAX のレポート API を Antigravity サブエージェントで並列取得し、国別×ユニット別に正規化する具体実装
✦eCPM・Fill Rate・ARPDAU を3メトリクス連動で見るしきい値設計と、人間に上げる判断の境界線
✦個人開発6アプリ並行運用の中で、月収ベースで AppLovin MAX 移行を判断する材料を90日間で揃えた手順
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

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

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

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

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

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

関連記事

▣ アプリ開発2026-03-27
AdMob のウォーターフォールを残したまま、ビッディングを足す判断
運用中の iOS 4 アプリでウォーターフォールを残したままビッディングを加えた判断を、ATT と初期化の順序、広告ゲートの設計、見るべき指標とともに整理しました。
⬡ 連携・プラグイン2026-09-05
GOOGLE_GEMINI_BASE_URL を差し替えても、鍵の持ち主は変わりません
Antigravity CLI の宛先を自前のゲートウェイへ向けたとき、手元の API キーがどこまで運ばれるかを受け側で記録しました。クロスホストのリダイレクトで Authorization は落ちるのに API キーヘッダーは残る、という挙動差の実測と、鍵を端末から外すゲートウェイの組み方を書き残します。
⬡ 連携・プラグイン2026-05-24
Antigravity サブエージェントの「動いているのに何もしていない」を捕まえる Observability 3層設計
Antigravity サブエージェントを 6 アプリ並行で動かしていると、月に 10 件以上「実行ログは緑なのに成果ゼロ」のサイレント失敗が起きます。Heartbeat / Output Trace / Decision Log を 3 層で重ねて 60 秒以内に検知する実装を、コードと運用数値ごと共有します。