TsgcWSAPIServer_WebPush › Metody › SendNotification
Szyfruje i wysyła metodą POST powiadomienie Web Push do pojedynczego punktu końcowego subskrypcji przy użyciu skonfigurowanych danych uwierzytelniających VAPID.
procedure SendNotification(const aSubscription : TsgcHTTP_API_WebPush_PushSubscription; const aMessage: TsgcWebPushMessage);
| Nazwa | Typ | Opis |
|---|---|---|
aSubscription | const TsgcHTTP_API_WebPush_PushSubscription | Docelowa subskrypcja zawierająca punkt końcowy usługi push oraz klucz publiczny p256dh przeglądarki i AuthSecret używane do szyfrowania ładunku. |
aMessage | const TsgcWebPushMessage | Ustrukturyzowana wiadomość zawierająca pola Title, Body, Icon i Url; serializowana do formatu JSON za pomocą właściwości AsJSON przed szyfrowaniem. |
Preferowane przeciążenie, gdy biblioteka ma zbudować poprawnie sformułowany ładunek powiadomienia dla service workera przeglądarki. Reprezentacja JSON wiadomości (AsJSON) jest szyfrowana metodą aes128gcm przy użyciu kluczy subskrypcji i przesyłana metodą POST do usługi push zgodnie z 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);
| Nazwa | Typ | Opis |
|---|---|---|
aSubscription | const TsgcHTTP_API_WebPush_PushSubscription | Docelowa subskrypcja, której Endpoint, PublicKey (p256dh) i AuthSecret sterują zaszyfrowanym żądaniem POST. |
aMessage | const string | Surowy ładunek wysyłany bez zmian po szyfrowaniu. Zazwyczaj jest to ciąg JSON, który service worker potrafi przetworzyć. |
Użyj tego przeciążenia, gdy dysponujesz gotowym ładunkiem JSON lub zwykłego tekstu (np. wygenerowanym przez TsgcJSON lub wczytanym z pamięci). Usługi push zazwyczaj akceptują do ok. 4 KB zaszyfrowanej zawartości; przekroczenie tego limitu powoduje odpowiedź 413, która jest ponownie zgłaszana przez OnWebPushSendNotificationException.
sgcWSAPIServer_WebPush1.SendNotification(aSubscription,
'{"title":"Hello","body":"Raw JSON payload","data":{"url":"https://www.esegece.com"}}');