TsgcWSAPIServer_WebPushMethoden › SendNotification

SendNotification Methode

Versleutelt en POSTt een Web Push-melding naar één abonnements-eindpunt met behulp van de geconfigureerde VAPID-referenties.

Overloads

Overload 1

Syntaxis

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

Parameters

NaamTypeBeschrijving
aSubscriptionconst TsgcHTTP_API_WebPush_PushSubscriptionDoelabonnement met het push-service-eindpunt plus de p256dh PublicKey en AuthSecret van de browser die worden gebruikt om de payload te versleutelen.
aMessageconst TsgcWebPushMessageGestructureerd bericht met Title, Body, Icon en Url; geserialiseerd naar JSON via AsJSON vóór versleuteling.

Opmerkingen

Aanbevolen overload wanneer u wilt dat de bibliotheek een goed opgemaakte meldingspayload bouwt voor de serviceworker van de browser. De AsJSON-representatie van het bericht wordt versleuteld met aes128gcm met behulp van de sleutels van het abonnement en via POST gestuurd naar de pushservice conform RFC 8030.

Voorbeeld

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;

Overload 2

Syntaxis

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

Parameters

NaamTypeBeschrijving
aSubscriptionconst TsgcHTTP_API_WebPush_PushSubscriptionDoelabonnement waarvan Endpoint, PublicKey (p256dh) en AuthSecret de versleutelde POST aandrijven.
aMessageconst stringOnbewerkte payload die na versleuteling ongewijzigd wordt verzonden; doorgaans een JSON-tekenreeks die uw servicemedewerker weet te verwerken.

Opmerkingen

Gebruik deze overload wanneer u al een vooraf gebouwde JSON- of plaintext-payload hebt (bijvoorbeeld geproduceerd door TsgcJSON of geladen vanuit opslag). Push-services accepteren normaal gesproken maximaal ~4 KB versleutelde inhoud; het overschrijden hiervan activeert een 413-antwoord dat opnieuw wordt gegenereerd via OnWebPushSendNotificationException.

Voorbeeld

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

Terug naar methoden