◉RORK LABEN
●GPT-6.1 SOL — Rork のモデルメニューに追加(09-29)。Low/Medium/High を選べ、Pro・Max に含まれます●SONNET 5.5 — UI づくりが得意で、Sonnet 5 より出力が速いモデルが選べます(09-28)●SDK 58 — Beta が 09/15 から。stable の案内はまだなく、Expo Go でのプロジェクト実行は 09/03 からログインが必要です●WIDGET — iOS のウィジェットが本番ビルドだけ真っ黒になる原因を追った報告が出ています●OBSERVE — EAS Observe がネイティブクラッシュも記録します(SDK 57.0.21 以降・10/07)●NEW — 起動広告が、背面から戻った回にしか出ていませんでした。「前面に戻った」合図が、…●GPT-6.1 SOL — Rork のモデルメニューに追加(09-29)。Low/Medium/High を選べ、Pro・Max に含まれます●SONNET 5.5 — UI づくりが得意で、Sonnet 5 より出力が速いモデルが選べます(09-28)●SDK 58 — Beta が 09/15 から。stable の案内はまだなく、Expo Go でのプロジェクト実行は 09/03 からログインが必要です●WIDGET — iOS のウィジェットが本番ビルドだけ真っ黒になる原因を追った報告が出ています●OBSERVE — EAS Observe がネイティブクラッシュも記録します(SDK 57.0.21 以降・10/07)●NEW — 起動広告が、背面から戻った回にしか出ていませんでした。「前面に戻った」合図が、…
記事一覧/開発ツール
⬡ 開発ツール/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通の日次レポートに統合する実装手順をまとめました。

Rork585Cloudflare Workers25App Store Connect API5RevenueCat30AdMob73個人開発218メトリクスアーキテクチャ22

✦ プレミアム記事

朝、コーヒーを淹れる前に App Store Connect を開き、続けて RevenueCat、AdMob、Firebase Console、Crashlytics と 6 つのタブを巡る。これを 6 つのアプリ分繰り返していました。タブの数だけで 30 を超え、必要な数値をスプレッドシートに転記し終わるころには 30 分から 40 分が消えています。Crashlytics のグラフが目に飛び込んできて気持ちが沈む朝もあれば、RevenueCat の MRR が伸びていて少し肩の力が抜ける朝もあります。

2014 年から個人で iOS / Android アプリを作り続けてきました。累計ダウンロードは 5,000 万を超え、その多くは壁紙・癒し・引き寄せ系の画像中心のアプリです。Rork 経由で React Native 系に乗り換えた最近のラインナップでも、運用しているアプリは常に 5〜7 本。AdMob の月収はそのポートフォリオで 100 万円超を維持していますが、これは「毎朝指標を見て、その日のチューニングを決める」という地味な反復で支えられています。指標を見るだけで 30 分以上かかる状態は、その地味な反復のいちばん細い首根っこを締めていました。

私自身の運用で実際に使っている「App Store Connect API・RevenueCat REST・AdMob Reporting API を Cloudflare Workers の Cron Triggers で 1 本化し、毎朝 JST 8:00 に Slack へ 1 通の日次レポートを届ける」アーキテクチャを、コードと判断軸を含めて共有します。指標確認の時間は 5 分以下まで縮みました。Workers の月額コストは $0〜$5 のレンジに収まっており、個人開発者の運用負荷としては許容範囲です。

集約対象とデータ取得方式の整理

最初に、何をどこから取るのかを表で整理します。各 API は認証方式・レート制限・データの新鮮度がバラバラなので、ここを揃えないと後で泥沼になります。

ソース取得項目認証データ新鮮度レート制限
App Store Connect APIアプリ別 DL 数・売上・課金件数JWT (ES256)T-1 日200 req/min
RevenueCat REST v1サブスク MRR・継続率・解約数Bearer Tokenリアルタイム1200 req/min
AdMob Reporting APIアプリ別 eCPM・インプレッション・収益OAuth 2.0T-1 日750 req/min
Firebase Crashlytics (BigQuery export)クラッシュ率・影響ユーザー数Service AccountT-1 日(要 export 設定)BigQuery 制限

App Store Connect API と AdMob Reporting API は「前日分の確定値」が翌日の昼ごろに揃います。朝 8:00 に走らせる場合、取得するのは 前々日分 が安全です。RevenueCat は当日分も取れますが、解約は反映に最大 2 時間かかるので、私は安定運用のため前日 23:59 JST スナップショットを基準にしています。

アーキテクチャの全体像

Cloudflare Workers を中心に置いた、シンプルな構成にしています。月額ゼロで運用するために、外部 DB は使わず Workers KV と D1 の Free 枠で完結させました。

┌────────────────────────────────────────────┐
│  Cloudflare Workers (Cron: 0 23 * * *)     │
│  ┌────────────────────────────────────┐    │
│  │  1. fetch App Store Connect API    │    │
│  │  2. fetch RevenueCat REST           │    │
│  │  3. fetch AdMob Reporting API       │    │
│  │  4. fetch Crashlytics (BigQuery)    │    │
│  │  5. normalize + diff vs prev day    │    │
│  │  6. detect anomalies (±20% / +0.5pt)│    │
│  │  7. post to Slack (Block Kit)       │    │
│  └────────────────────────────────────┘    │
│              ↓                ↓             │
│        Workers KV         D1 (履歴)         │
│   (last snapshot)    (30日分のメトリクス)   │
└────────────────────────────────────────────┘

KV は「前日比の差分計算」に使うスナップショット保管庫として、D1 は週次・月次の振り返り用にメトリクスの履歴を 30 日分だけ保持しています。30 日を超える分析は GA4 BigQuery に丸投げする方針で、Workers 側で長期保持はしません。個人開発者がここを背負うとデータの保全責任が重くなりすぎます。

✦

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

この記事の続きを読む

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

この記事で得られること
✦App Store Connect API JWT・RevenueCat REST・AdMob Reporting API を Cloudflare Workers Cron で日次集約する完全なコード例と、JWT 署名・トークン保管・レート制限回避の判断軸
✦6 アプリ同時運用で毎朝 30〜40 分かかっていた指標確認を 5 分以下に縮めた実測値と、Workers + KV + D1 を月額 $0〜$5 のレンジに収める構成
✦Slack Block Kit で構造化したレポートに、前日比 ±20% やクラッシュ率 +0.5pt の閾値で自動アラートを分岐させる異常値検出ロジック
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

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

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

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

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

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

関連記事

⬡ 開発ツール2026-09-19
Rork が書き換えた箇所だけを読む — 再エクスポートのたびに回している差分確認の手順
再エクスポートしたコードを前回との差分として読むための手順です。追跡ファイルを一度消してから重ねる、雑音を外して数える、合流の前に一度止める——この3つで上書き事故を止めています。
⬡ 開発ツール2026-09-03
リンクを押してもアプリが開かないとき、疑うのは assetlinks.json の置き場所より先に署名鍵です
Android App Links が検証されずブラウザに吸われる原因の多くは指紋の食い違いです。keytool の実出力と、手元で照合できる小さな検査スクリプトの実行結果を添えて整理しました。
⬡ 開発ツール2026-08-14
ライセンス表示に載せる依存は、lockfile の dev/prod では決まりません
AI ビルダーが書き出したプロジェクトの依存を実際に分類し、ライセンス表示に載せる範囲をどう決めたかの記録です。copyleft の検出結果と配布物の境界の食い違いを、本番プロジェクトの実データで確かめました。