中心となる概念
PushGo は、スクリプト、サービス、またはデバイスからチャネルに登録されているクライアントへの同期パスとして理解できます。テキストをシステム通知に変えるだけではありません。また、Eventのライフサイクルとエンティティの状態も保存されるため、履歴、フィルタリング、自動化が構造化されたままになります。
1 人のメンタルモデル
Section titled “1 人のメンタルモデル”Sender -> Gateway -> Channel -> Subscribed devices | +-> Message / Event / Thing- 送信者: スクリプト、サーバー、Home Assistant、CI/CD パイプライン、または AI アシスタント。
- Gateway: リクエストを検証し、状態を保存し、配信パスを選択し、データをディスパッチします。
- Channel: 1 つ以上のデバイスがサブスクライブしている通信スペース。リクエストにはチャンネル ID とパスワードが必要です。
- クライアント: Apple クライアントは APNs を通じて受信します。 Android クライアントは、FCM とプライベート トランスポートを使用できます。
- データモデル: PushGo は、1 回限りのアラート、ライフサイクル プロセス、および永続的な状態を異なるオブジェクトに分離します。
Channel: 許可とサブスクリプションの境界
Section titled “Channel: 許可とサブスクリプションの境界”チャネルは PushGo の基本境界です。複数のデバイスが 1 つのチャネルにサブスクライブでき、資格情報を知っていれば複数の送信者がそのチャネルに書き込むことができます。
| コンセプト | 目的 |
|---|---|
channel_id | リクエストの送信先を識別します。 |
| チャネルへの書き込みを許可します。 | |
| 購読済みのデバイス | チャネルで受け入れられたコンテンツを受信します。 |
チャネルのパスワードはゲートウェイ管理者のパスワードではありません。パブリック ゲートウェイとプライベート ゲートウェイはどちらもチャネル レベルの認証を使用します。プライベート ゲートウェイには、ゲートウェイ レベルの Bearer トークンが必要な場合もあります。
Gateway: 受領、状態、および配送
Section titled “Gateway: 受領、状態、および配送”Gateway はリクエストを受信すると、次の処理を行います。
- リクエスト、チャネル資格情報、およびオプションのゲートウェイ Bearer トークンを検証します。
- Message、Event、または Thing 状態を作成または更新します。
- APNs、FCM、または Android プライベート トランスポートを介して、サブスクライブしたデバイスにディスパッチします。
HTTP 応答は、Gateway が要求を受け入れたかどうかを意味します。実際のシステム通知配信は非同期であるため、accepted はリクエストがディスパッチ パスに入ったことを意味し、すべてのデバイスがすでにそれを表示していることを意味します。
3 つのデータモデル
Section titled “3 つのデータモデル”PushGo の核となるアイデアは「多数の通知フィールド」ではありません。異なるビジネスオブジェクトに対して異なるモデルを使用しています。
| モデル | を表します例 | メイン API | |
|---|---|---|---|
| Message | 1 回限りのアラート | ディスク警告、バックアップ完了、価格下落 | |
| Event | 更新と終了を伴うプロセス | 展開、インシデント処理、ドアの開閉 | /event/create、/event/update、/event/close |
| Thing | 永続的なエンティティの状態 | NAS、センサー、ルーム、ネットワークサービス | /thing/create、/thing/update、/thing/archive、/thing/delete |
最初に 1 つの質問をしてください。何かについて通知していますか、プロセスを追跡していますか、またはオブジェクトの現在の状態を同期していますか?
PushGo は、すべてのプラットフォームに同じバックグラウンド接続を強制するわけではありません。
| プラットフォーム | プライマリパス | メモ |
|---|---|---|
| Apple プラットフォーム | APNs | iOS、macOS、watchOS 向けのシステム管理配信。 |
| アンドロイド | FCM + 専用トランスポート | ウェイクアップ用のFCM。プライベートトランスポートを使用して低遅延同期を実現します。 |
| セルフホスト型 Gateway | 展開に依存 | Android プライベート トランスポートの WSS、QUIC、および Raw TCP を有効にできます。 |
クライアント機能については、アプリとプラットフォームのサポート を参照してください。
セキュリティ層
Section titled “セキュリティ層”| レイヤー | 解決するもの |
|---|---|
| Channel パスワード | チャネルへの不正な書き込みを防止します。 |
| Gateway Bearer トークン | プライベート Gateway インスタンスを呼び出すことができる人を制限します。 |
| HTTPS / TLS | 転送中の認証情報とリクエストを保護します。 |
| E2EE | E2EE Gateway は暗号文のみを中継しながら、クライアントは機密ビジネス フィールドをローカルで復号化できます。 |
| MCP OAuth | AI アシスタントが Channel パスワードを直接保持せず、認可された Channel スコープ内で動作できるようにします。 |
最初のテスト通知のみを送信したい場合は、まず Channel と Message を理解してください。長期間有効な状態または独自の Gateway が必要な場合は、データモデル、認証、およびセルフホスティングのガイドをお読みください。