TsgcWSAPIServer_WebPush › Événements › OnWebPushSubscription
Se déclenche lorsqu'un navigateur envoie un POST au point de terminaison d'abonnement après l'appel de PushManager.subscribe() ; recevez le point de terminaison, la clé p256dh et le secret d'authentification à persister côté serveur.
property OnWebPushSubscription: TsgcWSWebPushSubscription;
// TsgcWSWebPushSubscription = procedure(Sender: TObject; aSubscription: TsgcHTTP_API_WebPush_PushSubscription; var ResponseCode: Integer) of object
—
Le composant stocke déjà le nouvel abonnement dans la liste interne Subscriptions afin qu'il soit accessible par BroadcastNotification. Utilisez l'événement pour persister l'abonnement entrant dans votre propre base de données et/ou appliquer une validation côté serveur (authentification, limitation de débit, détection des doublons). Définissez ResponseCode sur le statut HTTP retourné au navigateur — retournez 200/201 en cas de succès ou un 4xx pour rejeter (par exemple 401 si l'utilisateur n'est pas autorisé).
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;