TsgcWSAPIServer_WebPushMethoden › SendNotification

SendNotification Methode

Verschlüsselt eine Web-Push-Benachrichtigung und sendet sie per POST an einen einzelnen Subscription-Endpunkt unter Verwendung der konfigurierten VAPID-Anmeldeinformationen.

Überladungen

Overload 1

Syntax

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

Parameter

NameTypBeschreibung
aSubscriptionconst TsgcHTTP_API_WebPush_PushSubscriptionZiel-Abonnement, das den Push-Service-Endpoint sowie den p256dh-PublicKey und das AuthSecret des Browsers transportiert, die zur Verschlüsselung der Nutzlast verwendet werden.
aMessageconst TsgcWebPushMessageStrukturierte Nachricht mit Title, Body, Icon und Url; vor der Verschlüsselung über AsJSON in JSON serialisiert.

Hinweise

Bevorzugter Overload, wenn die Bibliothek eine wohlgeformte Benachrichtigungs-Payload für den Service Worker des Browsers erstellen soll. Die AsJSON-Darstellung der Nachricht wird mit aes128gcm unter Verwendung der Abonnementschlüssel verschlüsselt und gemäß RFC 8030 per POST an den Push-Dienst gesendet.

Beispiel

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;

Überladung 2

Syntax

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

Parameter

NameTypBeschreibung
aSubscriptionconst TsgcHTTP_API_WebPush_PushSubscriptionZiel-Abonnement, dessen Endpoint, PublicKey (p256dh) und AuthSecret den verschlüsselten POST steuern.
aMessageconst stringRohe Nutzlast, die nach der Verschlüsselung unverändert gesendet wird; typischerweise ein JSON-String, den Ihr Service Worker zu parsen weiß.

Hinweise

Verwenden Sie diese Überladung, wenn Sie bereits ein vorgefertigtes JSON- oder Klartext-Payload halten (zum Beispiel von TsgcJSON erzeugt oder aus dem Speicher geladen). Push-Dienste akzeptieren normalerweise bis zu ~4 KB verschlüsselten Inhalts; ein Überschreiten löst eine 413-Antwort aus, die über OnWebPushSendNotificationException erneut ausgelöst wird.

Beispiel

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

Zurück zu Methoden