RORK LABEN
APPLE-AI — Appleが初回DL 200万未満の開発者にFoundation Modelsを無償開放。個人開発アプリへのAI組み込みコストが大幅に低下SWIFT-API — Foundation Modelsのサーバーサイド統合で、ClaudeやGeminiを同一Swift APIから呼び出し可能に。画像入力にも対応KOTLIN-MIGRATION — Android Studioの移行エージェントがReact Native製アプリをネイティブKotlinへ自動移行。Rork生成アプリの将来の選択肢にRORK-MAX — Rork MaxはネイティブSwiftコードを生成(月$200)。iPhone・iPad・Watch・TV・Vision Pro・iMessageまで対応SIMULATOR — ブラウザベースのストリーミングiOSシミュレータで、XcodeやMacなしに実機相当のApple環境で検証可能SWIFTUI — WWDC 2026でSwiftUIが進化。並べ替え可能コンテナ・任意コンテナのスワイプアクション・最大2倍速のレイアウトAPPLE-AI — Appleが初回DL 200万未満の開発者にFoundation Modelsを無償開放。個人開発アプリへのAI組み込みコストが大幅に低下SWIFT-API — Foundation Modelsのサーバーサイド統合で、ClaudeやGeminiを同一Swift APIから呼び出し可能に。画像入力にも対応KOTLIN-MIGRATION — Android Studioの移行エージェントがReact Native製アプリをネイティブKotlinへ自動移行。Rork生成アプリの将来の選択肢にRORK-MAX — Rork MaxはネイティブSwiftコードを生成(月$200)。iPhone・iPad・Watch・TV・Vision Pro・iMessageまで対応SIMULATOR — ブラウザベースのストリーミングiOSシミュレータで、XcodeやMacなしに実機相当のApple環境で検証可能SWIFTUI — WWDC 2026でSwiftUIが進化。並べ替え可能コンテナ・任意コンテナのスワイプアクション・最大2倍速のレイアウト
記事一覧/開発ツール
開発ツール/2026-06-12中級

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

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

Rork379React Native152Expo60デバッグメニューAdMob60Remote Config5

プレミアム記事

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-05-30
Rork で書き出したアプリの native 設定を Expo config plugin で一元管理する
prebuild のたびに消える AdMob ID や ATT 文言を手で書き直していませんか。Rork で書き出したアプリの native 設定を、自作の Expo config plugin で再現可能にし、6本の壁紙アプリで共有した実装記録です。
開発ツール2026-05-28
Rork アプリで iOS の BGTaskScheduler.submit が Error Code=1 で失敗するときの切り分け手順
Rork で作った iOS アプリで BGTaskScheduler.submit が Error Code=1 (Unavailable) を返してバックグラウンド更新が動かないときに、原因をひとつずつ潰していくための実用チェックリストです。
開発ツール2026-05-26
Rork で生成した壁紙アプリを iPad へ対応させた2週間の所感
2014年から壁紙アプリを iPhone 中心で運用してきた個人開発者として、Rork で立ち上げた新規壁紙アプリを iPad に対応させる作業を2週間続けた記録です。AdMob アダプティブバナーの暴れ方、Safe Area の盲点、グリッド表示の解像感まで、運用の温度のまま書き残しました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →