RORK LABEN
TOOLING — Rorkの開発者向けリポジトリが動き続けています。rork-xcodeが7月16日、rork-deviceが7月15日、rork-plistが7月13日に更新されましたOPUS46 — RorkでClaude Opus 4.6が稼働しています。Rork MaxはClaude Codeを土台にアプリを組み立てる設計ですSIM — ブラウザ上で動くクラウドのiOSシミュレータを備え、実機へのインストールは1クリック、App Storeへの提出は2クリックと案内されていますMAX — Rork MaxはReact Nativeではなく純粋なSwiftを出力します。iPhone・iPad・Apple Watch・Apple TV・Vision Pro、そしてiMessageまでが射程ですNATIVE — HealthKit、ARKitとLiDAR、NFC、Dynamic Island、Live Activities、Metalによる3D、Core MLのオンデバイス推論まで扱えますSEED — RorkはLeft Lane Capitalが主導する1,500万ドルのシードラウンドを実施し、Peak XVとa16z Speedrunが参加しましたTOOLING — Rorkの開発者向けリポジトリが動き続けています。rork-xcodeが7月16日、rork-deviceが7月15日、rork-plistが7月13日に更新されましたOPUS46 — RorkでClaude Opus 4.6が稼働しています。Rork MaxはClaude Codeを土台にアプリを組み立てる設計ですSIM — ブラウザ上で動くクラウドのiOSシミュレータを備え、実機へのインストールは1クリック、App Storeへの提出は2クリックと案内されていますMAX — Rork MaxはReact Nativeではなく純粋なSwiftを出力します。iPhone・iPad・Apple Watch・Apple TV・Vision Pro、そしてiMessageまでが射程ですNATIVE — HealthKit、ARKitとLiDAR、NFC、Dynamic Island、Live Activities、Metalによる3D、Core MLのオンデバイス推論まで扱えますSEED — RorkはLeft Lane Capitalが主導する1,500万ドルのシードラウンドを実施し、Peak XVとa16z Speedrunが参加しました
記事一覧/開発ツール
開発ツール/2026-04-24上級

Rork × AdMob UMP × ATT 同意管理の本番実装ガイド — グローバル配信で収益を落とさないための設計パターン

UMP と ATT を Rork アプリに正しく組み込み、GDPR 準拠しながら AdMob 収益を落とさない本番実装の設計パターンを、動くコードとともに解説します。

Rork515AdMob70UMPGDPRATT9収益化66

プレミアム記事

個人開発者として AdMob で月3万円前後を稼ぐような規模のアプリを運営していると、ある日突然 EEA(欧州経済領域)圏からの収益だけが急落することがあります。私自身、Rork で作って海外向けに出したアプリで、GDPR 同意周りの実装漏れを指摘する AdMob のメールを受け取ったことがあり、あのメールが届いたときの冷や汗は今でも覚えています。

原因を掘り下げていくと、ほぼ確実に UMP(User Messaging Platform)や ATT(App Tracking Transparency)の実装不備に行き着きます。Rork は本当に便利なツールで、UI から認証、データ管理まで自動生成してくれますが、広告収益化まわりの同意管理レイヤーは、現状ほぼ手動で組み込む必要があります。

ここではRork で生成したアプリに UMP と ATT を本番品質で組み込み、「GDPR 準拠」「AdMob ポリシー遵守」「収益を落とさない」の3つを同時に満たすための設計パターンを、実際に動くコードとともに解説します。

なぜ Rork アプリには同意管理の「盲点」が生まれやすいのか

Rork が自動生成する AdMob 連携コードは、多くの場合 AdMob.initializeAsync() を呼び出して広告リクエストを開始するシンプルな構成になっています。これだけでも広告は表示されますし、テストフェーズでは動作確認ができるので問題に気づきにくいのが落とし穴です。

しかし、この「素直な初期化」は以下の3つの重要なレイヤーを素通りしています。

  • ATT(iOS 14.5 以降): IDFA(広告識別子)の取得には明示的なユーザー許可が必要
  • UMP(EEA・UK・スイス): GDPR の下で、パーソナライズ広告を配信する前に同意ダイアログを表示する義務
  • 初期化順序: 同意情報を取得してから AdMob SDK を初期化しないと、非パーソナライズ広告モード(NPA)に固定され、CPM(千インプレッション単価)が2〜3割落ちる

EEA ユーザーからの収益は、実はアプリ全体収益の 30〜50% を占めるケースも多く、この「盲点」を放置すると月数万円単位で収益を落とす可能性があります。個人開発者にとっては看過できない金額です。

全体像:3つの同意レイヤーと正しい初期化順序

本番で正しく動作させるための初期化順序を、先に結論から示します。どの順番を守れば収益を落とさないかというと、以下の流れです。

  1. アプリ起動直後に UMP の requestConsentInfoUpdate を呼び、同意状態を取得する
  2. 必要に応じて UMP の同意フォームを表示する(loadAndShowConsentFormIfRequired
  3. iOS の場合のみ、ATT ダイアログを表示する(requestTrackingAuthorization
  4. 同意情報を AdMob / Firebase Analytics / RevenueCat などに伝播する
  5. AdMob.initializeAsync() を呼び、広告リクエストを開始する

この順序を1箇所でも間違えると、広告リクエストが NPA モードで発行されてしまい、収益が目に見えて下がります。特に Rork が生成するデフォルト構成では、3と4の間に「ユーザーログイン画面」が挟まっていることが多いのですが、ここでログイン後に AdMob を初期化してしまうと、初回セッションの広告が全て NPA になってしまいます。

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

この記事の続きを読む

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

この記事で得られること
GDPR 同意未対応で EEA の AdMob 収益が下落している状態を、正しい UMP 実装で回復できるようになります
ATT と UMP の初期化順序・地域判定・同意撤回 UI まで、本番で動く完全なコードを手に入れることができます
AdMob Publisher Policy 違反で警告を受ける前に、グローバル展開しても法的に安全な実装パターンを習得できます
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

開発ツール2026-06-16
課金復元より先に広告を初期化したら、有料ユーザに一瞬広告が出た — Rork(Expo)アプリの起動順序設計
同意取得・ATT・広告初期化・課金復元・リモート設定を、起動の数百ミリ秒のあいだにどの順番で走らせるか。順序を1つ間違えるだけで、有料ユーザに広告が一瞬出たり、EEA で同意なしの計測が走ったりします。Rork で生成した Expo アプリの起動処理を1つのオーケストレータに畳み、競合を設計で潰す手順を実装メモとしてまとめます。
開発ツール2026-06-15
「広告を消す理由」が3つに増えた日 — Rork アプリの広告非表示判定を1か所に畳む設計
課金していないはずの画面だけ広告が出る、あるいは課金済みの読者に広告が出てしまう。原因の多くは「広告を消す条件」がコードのあちこちに散らばっていることでした。サブスク・買い切り・リワード時限解除の3つを1つの状態に畳み、すべての広告表示を同じフックに通す設計を、個人開発で6本のアプリを運用してきた実装メモとしてまとめます。
開発ツール2026-05-18
Rork × Firebase Remote Config で AdMob を本番のまま安全に切り替える — 起動広告と頻度キャップを「リリースなし」で動かす運用
壁紙アプリ運用で起動広告を強くしすぎて DAU が落ちた経験から、AdMob のフォーマット配信比率・頻度キャップ・除外条件を Firebase Remote Config で扱う設計をまとめました。Expo/Rork での実装、フェイルセーフ、A/B、指標の繋ぎ込みまで。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →