TsgcWSAPIServer_WebPush › Eventos › OnWebPushUnsubscription
Disparado quando um navegador faz POST para o endpoint de Cancelamento de Assinatura (PushManager.unsubscribe() ou alteração de service-worker); use-o para remover a assinatura do seu armazenamento persistente.
property OnWebPushUnsubscription: TsgcWSWebPushUnsubscription;
// TsgcWSWebPushUnsubscription = procedure(Sender: TObject; aSubscription: TsgcHTTP_API_WebPush_PushSubscription; var ResponseCode: Integer) of object
—
A lista interna Subscriptions é atualizada automaticamente via Subscriptions.RemoveSubscription, de modo que BroadcastNotification não tem mais como alvo o endpoint cuja assinatura foi cancelada. Reflita a exclusão no seu próprio armazenamento para que registros obsoletos não sejam retidos. Defina ResponseCode com o status HTTP enviado de volta ao navegador — normalmente 200 em caso de sucesso.
procedure TForm1.sgcWSAPIServer_WebPush1WebPushUnsubscription(Sender: TObject;
aSubscription: TsgcHTTP_API_WebPush_PushSubscription; var ResponseCode: Integer);
begin
DeleteSubscriptionFromDB(aSubscription.Endpoint);
ResponseCode := 200;
end;