TsgcWSAPIServer_WebPush › Méthodes › SendNotification
Chiffre et envoie par POST une notification Web Push à un seul point de terminaison d'abonnement en utilisant les informations d'identification VAPID configurées.
procedure SendNotification(const aSubscription : TsgcHTTP_API_WebPush_PushSubscription; const aMessage: TsgcWebPushMessage);
| Nom | Type | Description |
|---|---|---|
aSubscription
| const TsgcHTTP_API_WebPush_PushSubscription | Abonnement cible contenant le point de terminaison du service push ainsi que la PublicKey p256dh et le AuthSecret du navigateur utilisés pour chiffrer la charge utile. |
aMessage | const TsgcWebPushMessage
| Message structuré avec Title, Body, Icon et Url ; sérialisé en JSON via AsJSON avant chiffrement. |
Surcharge préférable lorsque vous souhaitez que la bibliothèque construise une charge utile de notification bien formée pour le service worker du navigateur. La représentation AsJSON du message est chiffrée avec aes128gcm en utilisant les clés de l'abonnement et envoyée en POST au service push conformément à la RFC 8030.
var
oMessage: TsgcWebPushMessage;
begin
oMessage := TsgcWebPushMessage.Create;
try
oMessage.Title := 'eSeGeCe Notification';
oMessage.Body := 'Subscription Successfully Registered!!!';
oMessage.Icon := 'https://www.esegece.com/images/esegece_logo_small.png';
oMessage.Url := 'https://www.esegece.com';
sgcWSAPIServer_WebPush1.SendNotification(aSubscription, oMessage);
finally
oMessage.Free;
end;
end;
procedure SendNotification(const aSubscription : TsgcHTTP_API_WebPush_PushSubscription; const aMessage: string);
| Nom | Type | Description |
|---|---|---|
aSubscription
| const TsgcHTTP_API_WebPush_PushSubscription | Abonnement cible dont Endpoint, PublicKey (p256dh) et AuthSecret pilotent le POST chiffré. |
aMessage | const string | Charge utile brute envoyée telle quelle après chiffrement ; généralement une chaîne JSON que votre service worker sait analyser. |
Utilisez cette surcharge lorsque vous disposez déjà d'une charge utile JSON ou en texte brut prédéfinie (par exemple produite par TsgcJSON ou chargée depuis le stockage). Les services push acceptent normalement jusqu'à environ 4 Ko de contenu chiffré ; dépasser cette limite déclenche une réponse 413 qui est relancée via OnWebPushSendNotificationException.
sgcWSAPIServer_WebPush1.SendNotification(aSubscription,
'{"title":"Hello","body":"Raw JSON payload","data":{"url":"https://www.esegece.com"}}');