TsgcWSAPIServer_WebPush › Eventos › OnWebPushSubscription
Se activa cuando un navegador realiza un POST al endpoint de suscripción después de llamar a PushManager.subscribe(); recibe el endpoint, la clave p256dh y el secreto de autenticación para persistir en el servidor.
property OnWebPushSubscription: TsgcWSWebPushSubscription;
// TsgcWSWebPushSubscription = procedure(Sender: TObject; aSubscription: TsgcHTTP_API_WebPush_PushSubscription; var ResponseCode: Integer) of object
—
El componente ya almacena la nueva suscripción en la lista interna Subscriptions, de modo que BroadcastNotification pueda alcanzarla. Use el evento para persistir la suscripción entrante en su propia base de datos y/o aplicar validación en el lado del servidor (autenticación, limitación de velocidad, detección de duplicados). Establezca ResponseCode con el estado HTTP devuelto al navegador — devuelva 200/201 en caso de éxito o un 4xx para rechazar (por ejemplo, 401 si el usuario no está 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;