TsgcWSAPIServer_WebPush › Metodi › SendNotification
Cifra e invia tramite POST una notifica Web Push a un singolo endpoint di sottoscrizione utilizzando le credenziali VAPID configurate.
procedure SendNotification(const aSubscription : TsgcHTTP_API_WebPush_PushSubscription; const aMessage: TsgcWebPushMessage);
| Nome | Tipo | Descrizione |
|---|---|---|
aSubscription | const TsgcHTTP_API_WebPush_PushSubscription | Sottoscrizione di destinazione contenente l'Endpoint del servizio push insieme alla PublicKey p256dh del browser e all'AuthSecret utilizzati per cifrare il payload. |
aMessage | const TsgcWebPushMessage | Messaggio strutturato con Titolo, Corpo, Icona e Url; serializzato in JSON tramite AsJSON prima della crittografia. |
Overload preferito quando si desidera che la libreria costruisca un payload di notifica ben formato per il service worker del browser. La rappresentazione AsJSON del messaggio viene cifrata con aes128gcm utilizzando le chiavi della sottoscrizione e inviata tramite POST al servizio push seguendo 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);
| Nome | Tipo | Descrizione |
|---|---|---|
aSubscription | const TsgcHTTP_API_WebPush_PushSubscription | Sottoscrizione di destinazione i cui Endpoint, PublicKey (p256dh) e AuthSecret guidano il POST cifrato. |
aMessage | const string | Payload grezzo inviato così com'è dopo la cifratura; in genere una stringa JSON che il service worker sa come analizzare. |
Utilizzare questo overload quando si dispone già di un payload JSON o in testo normale pre-costruito (ad esempio prodotto da TsgcJSON o caricato da un archivio). I servizi push normalmente accettano fino a circa 4 KB di contenuto crittografato; il superamento di tale limite genera una risposta 413 che viene rilanciata tramite OnWebPushSendNotificationException.
sgcWSAPIServer_WebPush1.SendNotification(aSubscription,
'{"title":"Hello","body":"Raw JSON payload","data":{"url":"https://www.esegece.com"}}');