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-05-27上級

Rork 6 アプリで「Crashlytics に映らない失敗」を観測可能にした — 無音劣化の早期検知設計ノート

壁紙アプリ 6 本を並行運用するなかで気づいた、Crashlytics に出ない静かな失敗を 3 週間で観測可能にした設計を共有します。AdMob・課金・遷移の3層を Beacon と State Machine で拾います。

Rork515Crashlytics13ObservabilityAdMob70Cloudflare Workers24RevenueCat29

プレミアム記事

ある朝、AdMob ダッシュボードを開いたら前週比で月収が 12% 落ちていました。Crashlytics は 0 件、レビュー欄も静かで、サーバーの 5xx も平常。それでも収益だけが確実に減っていて、原因の特定に丸 3 日かかった、というのが今回の出発点です。2014 年から個人開発を続けて 12 年、累計 5,000 万ダウンロードを超えたあたりで、私が「クラッシュより怖い」と痛感したのは、まさにこの無音劣化でした。

壁紙アプリを 6 本並行で運用していると、毎週どこかで似たことが起こります。広告ボタンは出ているがタップしても何も反応しない。課金フローの確認ダイアログが出ない。リワード視聴は完了するが報酬が付与されない。どれも Crashlytics には 1 件も飛びません。この記事のテーマは、Rork で配信している 6 アプリにこの 3 週間で組み込んだ「無音劣化の早期検知レイヤ」を、設計判断と運用数値の両方からまとめます。

静かな失敗が一番怖い理由 — 12 年やってわかったこと

クラッシュは Crashlytics が拾うので、最悪でも翌朝には気づきます。Velocity Alert を仕込んでおけば 30 分以内に Slack に飛びます。これは「観測可能な失敗」です。

一方、無音劣化はそうではありません。ユーザーはアプリを開いてはいるので DAU は落ちません。広告ボタンが出ているのでインプレッションは記録されます。ところが、タップ後の SDK 呼び出しがどこかで詰まっていて広告が出ない、というケースでは、AdMob のレポートを開くまで誰も気づきません。私のサイドでは、

  • AdMob の eCPM 急落(ボタン経由のリワードだけが消える)
  • RevenueCat の productPurchase イベント途絶(チェックアウト導入率の指標が消える)
  • 「アプリ起動直後の白画面が 4 秒以上続く」割合の上昇

の 3 種類が「絶対に Crashlytics に出ないが収益と直結する事象」の代表でした。広告 SDK の内部リトライが原因のこともあれば、Remote Config の値が壊れているだけのこともあります。共通点は、例外を投げず、ただ何も起きないということです。

国際芸術賞での展示準備中に、同じ夜にこの問題に気づいて未明まで原因を追ったことがあります。展示のための作業時間を削るほどコストが高い障害で、二度と同じことを繰り返したくないと考えたのが、この設計を組み始めた直接の動機でした。

「Crashlytics に映らない 8 つの失敗」を分類する

無音劣化と一口に言っても、設計上は次の 8 種類に整理できました。3 週間の運用前にこの分類をしておくと、それぞれにどの観測点を置くかが決めやすくなります。

  1. 広告ボタン無反応: タップしても Interstitial / Rewarded が load → show まで進まない
  2. リワード非付与: 視聴は完了するが、報酬付与のコールバックが来ない
  3. 課金フロー停止: purchase() を呼んでも StoreKit / Billing のダイアログが出ない
  4. チェックアウト導入率ゼロ: 課金画面に来るが「購入」ボタンが反応しない
  5. 白画面長期化: 起動から最初のスクリーンが表示されるまで 4 秒以上
  6. 無限ローディング: スピナーが 8 秒以上回り続ける
  7. Remote Config 破損反映: 値が空文字や null で UI が壊れているが落ちはしない
  8. 権限ダイアログ抑止後の無音: ATT を拒否した瞬間に何も起きないように見える

8 つすべてに共通するのは、「正常系の例外パス」ではなく期待されたイベントが時間内に発生しなかったこと、つまり non-event が観測対象である点です。Crashlytics が苦手とするのはまさにこの「起きなかった」ことの観測なので、自分で組むしかありません。

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

この記事の続きを読む

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

この記事で得られること
壁紙アプリ 6 本で 3 週間運用した「無音劣化シグナル 8 種類」の選定基準と検出ロジック
AdMob 月収が 12% 落ちて気づいた「広告ボタン無反応」を 24 時間以内に検知する Beacon 設計
Crashlytics + Sentry + 自前 Beacon の三層から重複なく拾う Cloudflare Workers 80 行の集約レイヤ
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

開発ツール2026-05-31
クラッシュフリー率を『予算』として運用する — 個人開発 6 アプリで撤退と投資を判断する SLO 設計ノート
壁紙アプリ 6 本を並行運用するなかで、クラッシュフリー率を「良い・悪い」の二値ではなくエラーバジェットとして扱うようにした設計を共有します。バーンレートを撤退・投資判断のゲートに変える運用ノートです。
開発ツール2026-05-26
App Store Connect・RevenueCat・AdMob の朝の指標を Cloudflare Workers で1本化する — 6アプリ運用の日次集約アーキテクチャ
Rork で複数アプリを運用する個人開発者向けに、App Store Connect API・RevenueCat REST・AdMob Reporting API を Cloudflare Workers Cron で集約し、毎朝1通の日次レポートに統合する実装手順をまとめました。
開発ツール2026-06-16
課金復元より先に広告を初期化したら、有料ユーザに一瞬広告が出た — Rork(Expo)アプリの起動順序設計
同意取得・ATT・広告初期化・課金復元・リモート設定を、起動の数百ミリ秒のあいだにどの順番で走らせるか。順序を1つ間違えるだけで、有料ユーザに広告が一瞬出たり、EEA で同意なしの計測が走ったりします。Rork で生成した Expo アプリの起動処理を1つのオーケストレータに畳み、競合を設計で潰す手順を実装メモとしてまとめます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →