TsgcWSAPIServer_WebPushMéthodes › SendNotification

SendNotification Méthode

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.

Surcharges

Surcharge 1

Syntaxe

procedure SendNotification(const aSubscription : TsgcHTTP_API_WebPush_PushSubscription; const aMessage: TsgcWebPushMessage);

Paramètres

NomTypeDescription
aSubscription const TsgcHTTP_API_WebPush_PushSubscriptionAbonnement 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.
aMessageconst TsgcWebPushMessage Message structuré avec Title, Body, Icon et Url ; sérialisé en JSON via AsJSON avant chiffrement.

Remarques

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.

Exemple

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;

Surcharge 2

Syntaxe

procedure SendNotification(const aSubscription : TsgcHTTP_API_WebPush_PushSubscription; const aMessage: string);

Paramètres

NomTypeDescription
aSubscription const TsgcHTTP_API_WebPush_PushSubscriptionAbonnement cible dont Endpoint, PublicKey (p256dh) et AuthSecret pilotent le POST chiffré.
aMessageconst stringCharge utile brute envoyée telle quelle après chiffrement ; généralement une chaîne JSON que votre service worker sait analyser.

Remarques

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.

Exemple

sgcWSAPIServer_WebPush1.SendNotification(aSubscription,
  '{"title":"Hello","body":"Raw JSON payload","data":{"url":"https://www.esegece.com"}}');

Retour aux méthodes