RORK LABEN
ENGINE — Rork Maxのコード生成はClaude CodeとClaude Opus 4.6を土台にしています。プロンプトの粒度を考えるうえで押さえておきたい前提ですSPLIT — Rork MaxはAppleプラットフォーム専用です。Androidも必要なら、React Nativeでクロスプラットフォームを生成する従来のRorkを選ぶことになりますDEVICE — Rork MaxはiPhone・iPad・Apple Watch・Vision Proを対象にできます。React Nativeからは届きにくかった領域まで生成対象に入りますCREDIT — 課金はクレジット制で、AIとのやり取り1回につき1クレジットを消費します。毎月1日にリセットされ、繰り越しはできませんPLAN — 無料は月35クレジット(1日5)、Juniorは月$25、Seniorは月$100、Rork Maxは月$200です。MVPの作り込みはSeniorが目安とされていますFUND — Rorkはa16zから280万ドルを調達し、月間743,000件を超える訪問を集めていますENGINE — Rork Maxのコード生成はClaude CodeとClaude Opus 4.6を土台にしています。プロンプトの粒度を考えるうえで押さえておきたい前提ですSPLIT — Rork MaxはAppleプラットフォーム専用です。Androidも必要なら、React Nativeでクロスプラットフォームを生成する従来のRorkを選ぶことになりますDEVICE — Rork MaxはiPhone・iPad・Apple Watch・Vision Proを対象にできます。React Nativeからは届きにくかった領域まで生成対象に入りますCREDIT — 課金はクレジット制で、AIとのやり取り1回につき1クレジットを消費します。毎月1日にリセットされ、繰り越しはできませんPLAN — 無料は月35クレジット(1日5)、Juniorは月$25、Seniorは月$100、Rork Maxは月$200です。MVPの作り込みはSeniorが目安とされていますFUND — Rorkはa16zから280万ドルを調達し、月間743,000件を超える訪問を集めています
記事一覧/開発ツール
開発ツール/2026-06-12中級

Rork 製アプリに開発者デバッグメニューを実装する — 広告・課金・Remote Config の検証をリリース前に終わらせる設計

リリースビルドでしか再現しない広告・課金・Remote Config の不具合に毎回本番で向き合うのは消耗します。壁紙アプリ6本の運用で固まった、ストア提出ビルドには存在ごと残さない開発者デバッグメニューの設計と実装を、動くコードと落とし穴付きで共有します。

Rork521React Native213Expo151デバッグメニューAdMob70Remote Config7

プレミアム記事

2026年5月、運営している壁紙アプリの Android 版 v2.1.0 を 5%→25% と段階公開していたとき、「リワード広告で広告を外したはずなのにペイウォールが出る」という報告がレビュー欄に書き込まれました。手元のデバッグビルドでは何度試しても再現しません。原因は後述するとおり課金判定の合成漏れだったのですが、このとき一番つらかったのは、本番と同じ条件 — 本物の Remote Config、本物の広告在庫、本物の課金状態 — を手元で再現する手段が、当時のそのアプリに無かったことです。

リリースビルドでだけ顔を出す不具合は、広告・課金・リモート設定の3つが絡む場所に集中します。逆に言えば、この3つを実機の画面から安全に切り替えられる「開発者メニュー」を一度作ってしまえば、この種の検証の大半はリリース前に終わらせられます。個人開発で壁紙アプリ6本を並行運用するなかで形になってきた、ストア提出ビルドには存在ごと残らないデバッグメニューの設計と実装をまとめます。

「設定画面の隅に隠す」では、なぜ破綻するのか

最初に作りがちなのは、設定画面の最下部に __DEV__ 条件で項目を足していくやり方です。私も最初の数年はそうしていました。これが破綻する理由は3つあります。

  • 散らばる: 広告のテスト切替は広告モジュールに、接続先の切替は API クライアントに、と条件分岐がコードベース全体へ広がっていきます。半年後の自分は、どこに何を仕込んだか思い出せません。
  • 消し忘れる: リリース直前に「あのフラグ、戻したかな」と不安になる構造そのものが事故の温床です。実際、私は過去に検証用の接続先 URL を本番ビルドへ残しかけたことがあります。提出前のチェックリストで拾えたものの、仕組みで防げていない不安は残りました。
  • 再現手順を共有できない: 「◯◯をオンにして△△の画面を3回開くと出ます」という手順が口伝になります。一人で開発していても、未来の自分は他人です。

そこで方針を逆にします。デバッグ操作は1つの画面に集約し、その画面への入口と実装そのものをビルド種別で消す。散らばった if を追いかける代わりに、「上書きレイヤー」を1枚だけ設計するイメージです。

全体像 — 4セクションと、譲らない2つのルール

いま6本のアプリで運用しているメニューは、次の4セクションに落ち着きました。

  • 環境: コンテンツ配信や API の接続先切替(dev / staging / production)と、現在のビルド variant の表示
  • 広告: テスト広告モードの切替、直近の広告ロード結果ログ、メディエーションでどのネットワークがフィルしたかの表示
  • 課金: エンタイトルメント(広告非表示・プレミアム)の強制上書きと、購入フローのサンドボックス起動
  • Remote Config: 任意キーの上書きと、モーダル系施策の強制発火

そして、どのアプリでも譲っていないルールが2つあります。

  1. ストアへ提出するビルドには、メニューの入口だけでなくコードごと含めない。「見えないだけで入っている」状態は、審査の観点でも事故防止の観点でも中途半端です。
  2. 上書きが1つでも効いている間は、画面の隅に常時バッジを出す。 テスト状態のまま本番の数値を眺めて一喜一憂する、という間抜けな時間をこのバッジで撲滅しました。

なぜ2つ目をここまで強調するかというと、デバッグメニューの最大の敵は「自分が何を上書きしたか忘れること」だからです。上書きは便利になるほど忘れます。状態の可視化は飾りではなく、機能の一部だと考えています。

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

この記事の続きを読む

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

この記事で得られること
「本番ビルドでしか再現しない」広告・課金まわりの不具合調査で消耗していた人が、同じ条件を手元で再現できる開発者メニューを今日から実装できる
環境切替・広告テストモード・課金状態シミュレーション・Remote Config 上書きを1画面に集約する設計パターンと、そのまま動く TypeScript コードを習得できる
デバッグ機能をストア提出ビルドから存在ごと取り除き、審査リスクと消し忘れ事故を避ける運用チェックリストを自分のアプリに適用できる
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

開発ツール2026-07-27
最低サポート iOS をいつ上げるか — 利用率ではなく、コードに残った分岐の数で決める
最低サポート OS の引き上げを利用率で判断すると、毎年同じ結論になって先送りが続きます。OS 分岐に注記を付けて棚卸しし、引き上げ先ごとに消せる分岐を数えるスクリプトと、引き上げ後に見る指標をまとめました。
開発ツール2026-07-26
iOS プレリリース版の端末を計測から外して失敗した記録 — 除外ではなく分離するトラック設計
OS のプレリリース版を使う端末を計測から除外した結果、正式リリース当日に手掛かりを失いました。除外ではなく os_track で分離し、閾値とリリースゲートを分ける設計を実装コードとともにまとめます。
開発ツール2026-07-24
アプリの設定値を三層で解決する — 既定・ユーザー・リモートを境界付きにマージするレイヤー設計
既定値・ユーザー設定・リモート設定をひとつの型安全なレイヤーでマージする設計です。壊れたリモート値でもアプリが崩れないよう、キーごとに上書きの強さを変え、境界クランプと検証を通す実装を、実際の事故から起こしたコードで解説します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →