TsgcWSAPIServer_WebPushイベント › OnWebPushSubscription

OnWebPushSubscription イベント

ブラウザがPushManager.subscribe()を呼び出した後にSubscriptionエンドポイントにPOSTしたときに発生します。サーバー側で永続化するために、endpoint、p256dhキー、auth secretを受け取ります。

構文

property OnWebPushSubscription: TsgcWSWebPushSubscription;
// TsgcWSWebPushSubscription = procedure(Sender: TObject; aSubscription: TsgcHTTP_API_WebPush_PushSubscription; var ResponseCode: Integer) of object

デフォルト値

解説

コンポーネントはすでに内部の Subscriptions リストに新しいサブスクリプションを保存しており、BroadcastNotification でアクセス可能になっています。このイベントを使用して、受信したサブスクリプションを独自のデータベースに保持したり、サーバー側の検証(認証、レート制限、重複検出)を適用したりします。ResponseCode をブラウザーに返す HTTP ステータスに設定します。成功時は 200/201 を返し、拒否するには 4xx を返します(例: ユーザーが承認されていない場合は 401)。

使用例

procedure TForm1.sgcWSAPIServer_WebPush1WebPushSubscription(Sender: TObject;
  aSubscription: TsgcHTTP_API_WebPush_PushSubscription; var ResponseCode: Integer);
begin
  SaveSubscriptionToDB(aSubscription.Endpoint,
                       aSubscription.PublicKey,
                       aSubscription.AuthSecret);
  ResponseCode := 201;
end;

イベントに戻る