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-26上級

App Store Connect・RevenueCat・AdMob の朝の指標を Cloudflare Workers で1本化する — 6アプリ運用の日次集約アーキテクチャ

Rork で複数アプリを運用する個人開発者向けに、App Store Connect API・RevenueCat REST・AdMob Reporting API を Cloudflare Workers Cron で集約し、毎朝1通の日次レポートに統合する実装手順をまとめました。

Rork515Cloudflare Workers24App Store Connect API4RevenueCat28AdMob70個人開発187メトリクス2アーキテクチャ18

プレミアム記事

朝、コーヒーを淹れる前に 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-05-27
Rork 6 アプリで「Crashlytics に映らない失敗」を観測可能にした — 無音劣化の早期検知設計ノート
壁紙アプリ 6 本を並行運用するなかで気づいた、Crashlytics に出ない静かな失敗を 3 週間で観測可能にした設計を共有します。AdMob・課金・遷移の3層を Beacon と State Machine で拾います。
開発ツール2026-05-24
AI 機能のコスト上限を実行時に強制する設計 — Rork アプリの予算ガード・アーキテクチャ
AI 機能のコストが想定外に跳ねる事故を、最適化ではなく実行時の強制で防ぐ設計を、廣川政樹がアーティスト兼個人開発者の運用視点から、Cloudflare Durable Objects と React Native のコードレベルで解説します。
開発ツール2026-05-21
個人開発で『本番障害の自動応答』を仕組み化する ― Crashlytics・Sentry・Slack 通知・段階的ロールバックの設計
個人開発で 12 年・累計 5,000 万 DL を運用してきた中で組み上げた、本番障害の自動応答アーキテクチャをまとめます。Crashlytics と Sentry の二段重ね、Slack 通知の階層化、Remote Config による段階的ロールバックの実装例を共有します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →