TsgcWSAPIServer_WebPush › Événements › OnWebPushSendNotificationException
Se déclenche lorsqu'une exception est levée lors de l'envoi d'une notification au service push (causes typiques : 400 Bad Request, 404/410 Gone pour les points de terminaison expirés, échecs TLS ou réseau).
property OnWebPushSendNotificationException: TsgcWSWebPushSendNotificationException;
// TsgcWSWebPushSendNotificationException = procedure(Sender: TObject; aSubscription: TsgcHTTP_API_WebPush_PushSubscription; E: Exception; var Remove: Boolean) of object
—
Déclenché depuis SendNotification et depuis la boucle par abonné dans BroadcastNotification. Le paramètre var Remove vaut True par défaut : le laisser tel quel supprime l'abonnement défaillant de la liste interne (comportement correct pour les échecs permanents tels que HTTP 410 Gone). Définissez-le à False pour conserver l'abonnement et réessayer plus tard, par exemple lorsque l'échec est transitoire (délai réseau, 5xx du service push). Utilisez E pour la journalisation et les diagnostics.
procedure TForm1.sgcWSAPIServer_WebPush1WebPushSendNotificationException(
Sender: TObject; aSubscription: TsgcHTTP_API_WebPush_PushSubscription;
E: Exception; var Remove: Boolean);
begin
LogError(aSubscription.Endpoint, E.Message);
// keep subscription on transient errors, remove it on permanent ones
Remove := Pos('410', E.Message) > 0;
end;