RevenueBell — App Store収益通知のリアルタイム配信ツール

Tool

概要

RevenueBell は、Apple の App Store Server Notifications V2 を受け取り、収益に関するイベントをリアルタイムでスマホに通知するための軽量な Cloudflare Worker スクリプトです。通知の送信先として Bark を利用し、アプリ内で発生した購入、サブスクリプション開始や更新といった収益イベントを即座にデバイスへ転送します。Cloudflare Workers 上で動作するためサーバー維持が不要で、低コストかつ低遅延に通知を届けられる点が特徴です。導入には Cloudflare アカウントと Bark のキーが必要で、短時間でセットアップ可能です。

GitHub

リポジトリの統計情報

  • スター数: 11
  • フォーク数: 0
  • ウォッチャー数: 11
  • コミット数: 2
  • ファイル数: 4
  • メインの言語: JavaScript

主な特徴

  • Cloudflare Workers 上で動作する軽量な webhook 受信スクリプト
  • Apple App Store Server Notifications V2 に対応(通知の受信を想定)
  • Bark を利用した即時プッシュ配信でスマホへ通知を転送
  • 設定・導入が簡単でサーバーレスにより運用負荷が低い

技術的なポイント

RevenueBell のコアは Cloudflare Worker として実行されるシンプルな JavaScript スクリプト(wpush.js)で、Apple から届く POST リクエストを受け取って解析し、Bark の HTTP API に対して通知リクエストを発行します。Cloudflare Workers を採用することで、常時稼働のサーバーを用意する必要がなく、イベント発生から通知送信までの遅延を最小化できます。App Store Server Notifications V2 は signedPayload(JWT)を含むケースが多く、実運用では Apple の公開鍵で JWT の署名検証を行うことが推奨されます(このリポジトリは軽量化を優先しているため、必要に応じて検証ロジックを組み込む拡張が現実的です)。

Bark への送信はシンプルな HTTP リクエストで完了するため、通知フォーマットのカスタマイズや複数送信先(Slack、Telegram、メールなど)への拡張も容易です。Cloudflare の環境変数(Secrets)に Bark のキーや認証トークンを格納すれば、キーをソースに埋め込まず安全に運用できます。また、Worker 上でのエラーハンドリングやリトライ制御、ログ出力(Cloudflare Logs もしくは外部のロギングサービス)は信頼性向上に有効です。スケーラビリティ面では、Cloudflare のエッジ実行特性により高トラフィックにも耐えられますが、通知コンテンツの保存や集計が必要な場合は外部ストレージやデータベースとの連携が必要になります。

セキュリティ面では、受信エンドポイントを限定する(IP 制限、Shared Secret、ヘッダ検証など)こと、Apple 側での通知設定や Cloudflare のルールで不要なリクエストをブロックすることを推奨します。最後に、軽量なリポジトリ構成はカスタマイズしやすく、将来的に署名検証、長期保存、ダッシュボード連携などの機能を追加してプロダクション向けに進化させる余地があります。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .DS_Store: file
  • README.md: file
  • screenshots: dir
  • wpush.js: file

まとめ

サーバーレスで手軽に収益通知を受け取りたい開発者に最適なシンプル実装です。

リポジトリ情報:

  • 名前: RevenueBell
  • 説明: RevenueBell 是一个轻量级的 Cloudflare Worker 脚本,专门用于接收 Apple App Store Server Notifications V2 并实时推送收入通知到你的手机(通过 Bark)。 每当用户在你的 iOS/macOS 应用中产生订阅、续订、购买等收入事件时,RevenueBell 会立即将通知发送到你的设备,让你第一时间掌握应用收入动态。
  • スター数: 11
  • 言語: JavaScript
  • URL: https://github.com/woxiqingxian/RevenueBell
  • オーナー: woxiqingxian
  • アバター: https://avatars.githubusercontent.com/u/8405482?v=4