Pusher Channels API

Delphi / C++Builder から Pusher Channels に接続します。パブリックチャネル、プレゼンスチャネル、HMAC 署名付きプライベートチャネルを単一の型付きコンポーネントで扱えます。

TsgcWSAPI_Pusher

Pusher Channels WebSocket プロトコル向けの型付き Delphi / C++Builder クライアントです。パブリック、プライベート、プレゼンスチャネルにサブスクライブし、型付きハンドラー経由でイベントをルーティングします。

コンポーネントクラス

TsgcWSAPI_Pusher

プロトコル

Pusher WebSocket protocol

プラットフォーム

Windows, macOS, Linux, iOS, Android

エディション

Standard / Professional / Enterprise

コンポーネントを配置し、キーを設定し、サブスクライブする

ws.pusherapp.com を対象とした TsgcWebSocketClient とペアにし、Pusher.Key (プライベート / プレゼンスチャネルの場合は Pusher.Secret も) を設定したうえで、チャネルごとに Subscribe を呼び出します。

uses
  sgcWebSocket, sgcWebSocket_API_Pusher;

var
  WSClient: TsgcWebSocketClient;
  Pusher: TsgcWSAPI_Pusher;
begin
  WSClient := TsgcWebSocketClient.Create(nil);

  Pusher := TsgcWSAPI_Pusher.Create(nil);
  Pusher.Client := WSClient;
  Pusher.Pusher.AppKey := 'your-app-key';
  Pusher.Pusher.Secret := 'your-app-secret';

  WSClient.Active := True;

  Pusher.Subscribe('public-channel');
  Pusher.Subscribe('private-orders');
  Pusher.Subscribe('presence-chat');
end;
// uses: sgcWebSocket, sgcWebSocket_API_Pusher
TsgcWebSocketClient *WSClient = new TsgcWebSocketClient(this);
TsgcWSAPI_Pusher *Pusher = new TsgcWSAPI_Pusher(this);
Pusher->Client = WSClient;
Pusher->Pusher->AppKey = "your-app-key";
Pusher->Pusher->Secret = "your-app-secret";

WSClient->Active = true;
Pusher->Subscribe("public-channel");
Pusher->Subscribe("private-orders");

主な構成

Pusher WebSocket プロトコルを実装し、プライベートおよびプレゼンスチャネル用に HMAC 署名機能を組み込んでいます。

パブリック / プライベート / プレゼンス

チャネル名を指定して Subscribe を呼び出すと、public-*private-*presence-* の各チャネルをコンポーネントが自動的に適切な認証方式へルーティングします。

HMAC 署名

Pusher.AppKeyPusher.Secret を設定すると、プライベートおよびプレゼンスチャネル向けの pusher:subscribe リクエストが HMAC-SHA256 で署名されます。

イベントルーティング

Pusher.SubscribeOnPusherEventOnPusherSubscriptionSucceededOnPusherSubscriptionError にバインドすることで、チャネルごとの状態とペイロードを処理できます。

再接続

Pusher プロトコルは activity_timeout をネゴシエートします。コンポーネントはクライアントの ping をスケジュールし、再接続時にすべてのアクティブなチャネルへ再サブスクライブします。

クラスター選択

Pusher アプリ設定に応じて、基盤となる TsgcWebSocketClient を該当クラスターのホスト (ws-eu.pusher.comws-ap1.pusher.com など) に向けてください。

クライアントイベント

プレゼンス / プライベートチャネルでは Pusher.TriggerEvent 経由でクライアントイベントを発火できます。サーバーへのラウンドトリップなしのピアツーピアシグナリングに有用です。

仕様とリファレンス

本コンポーネントが実装する API の信頼できる一次情報源です。

ドキュメントとデモ

コンポーネントリファレンスへのディープリンク、すぐに実行可能なデモプロジェクト、体験版のダウンロードを提供します。

オンラインヘルプ — API_Pusher 本コンポーネントのプロパティ、メソッド、イベントの完全なリファレンスです。
体験版 — sgcWebSockets Delphi から Pusher Channels にサブスクライブするための体験版パッケージをダウンロードできます。
技術ドキュメント (PDF) 本コンポーネントに特化した機能解説、クイックスタート、Delphi および C++ Builder のコードサンプル、一次情報源リファレンスを収録しています。
ユーザーマニュアル (PDF) ライブラリ内のすべてのコンポーネントを網羅した総合マニュアルです。

Pusher Channels にサブスクライブする準備はできましたか?

体験版をダウンロードして、Pusher のリアルタイムイベントを Delphi アプリケーションに統合しましょう。