TsgcWSAPIServer_WebPush › Eventos › OnWebPushSubscription
Dispara quando um navegador faz POST ao endpoint de Subscription depois de chamar PushManager.subscribe(); recebe o endpoint, a chave p256dh e o auth secret para persistir no lado do servidor.
property OnWebPushSubscription: TsgcWSWebPushSubscription;
// TsgcWSWebPushSubscription = procedure(Sender: TObject; aSubscription: TsgcHTTP_API_WebPush_PushSubscription; var ResponseCode: Integer) of object
—
O componente já armazena a nova assinatura na lista interna Subscriptions para que ela se torne acessível por BroadcastNotification. Use o evento para persistir a assinatura recebida no seu próprio banco de dados e/ou aplicar validação no lado do servidor (autenticação, limitação de taxa, detecção de duplicatas). Defina ResponseCode com o status HTTP retornado ao navegador, retorne 200/201 em caso de sucesso ou um 4xx para rejeitar (por exemplo, 401 se o usuário não estiver autorizado).
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;