TsgcWSAPIServer_WebPush › Ereignisse › OnWebPushSubscription
Wird ausgelöst, wenn ein Browser nach dem Aufruf von PushManager.subscribe() einen POST an den Subscription-Endpunkt sendet; empfangen Sie den Endpunkt, den p256dh-Schlüssel und das auth-Secret, um sie serverseitig zu persistieren.
property OnWebPushSubscription: TsgcWSWebPushSubscription;
// TsgcWSWebPushSubscription = procedure(Sender: TObject; aSubscription: TsgcHTTP_API_WebPush_PushSubscription; var ResponseCode: Integer) of object
—
Die Komponente speichert das neue Abonnement bereits in der internen Subscriptions-Liste, sodass es für BroadcastNotification erreichbar wird. Verwenden Sie das Ereignis, um das eingehende Abonnement in Ihrer eigenen Datenbank zu persistieren und/oder serverseitige Validierung anzuwenden (Authentifizierung, Rate-Limiting, Duplikaterkennung). Setzen Sie ResponseCode auf den HTTP-Status, der an den Browser zurückgegeben wird — geben Sie 200/201 bei Erfolg oder einen 4xx zur Ablehnung zurück (zum Beispiel 401, wenn der Benutzer nicht autorisiert ist).
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;