TsgcWSAPIServer_WebPush › Métodos › SendNotification
Encripta y envía mediante POST una notificación Web Push a un único endpoint de suscripción usando las credenciales VAPID configuradas.
procedure SendNotification(const aSubscription : TsgcHTTP_API_WebPush_PushSubscription; const aMessage: TsgcWebPushMessage);
| Nombre | Tipo | Descripción |
|---|---|---|
aSubscription | const TsgcHTTP_API_WebPush_PushSubscription | Suscripción de destino que contiene el Endpoint del servicio de notificaciones push junto con la PublicKey p256dh del navegador y el AuthSecret utilizados para cifrar la carga útil. |
aMessage | const TsgcWebPushMessage | Mensaje estructurado con Title, Body, Icon y Url; serializado a JSON mediante AsJSON antes del cifrado. |
Sobrecarga preferida cuando desea que la biblioteca construya un payload de notificación bien formado para el service worker del navegador. La representación AsJSON del mensaje se cifra con aes128gcm usando las claves de la suscripción y se envía mediante POST al servicio push siguiendo el 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);
| Nombre | Tipo | Descripción |
|---|---|---|
aSubscription | const TsgcHTTP_API_WebPush_PushSubscription | Suscripción de destino cuyos Endpoint, PublicKey (p256dh) y AuthSecret gestionan el POST cifrado. |
aMessage | const string | Carga útil sin procesar enviada tal cual tras el cifrado; generalmente una cadena JSON que el service worker sabe cómo analizar. |
Utilice esta sobrecarga cuando ya disponga de una carga útil JSON o de texto sin formato prefabricada (por ejemplo, producida por TsgcJSON o cargada desde almacenamiento). Los servicios push normalmente aceptan hasta ~4 KB de contenido cifrado; superarlo desencadena una respuesta 413 que se vuelve a lanzar a través de OnWebPushSendNotificationException.
sgcWSAPIServer_WebPush1.SendNotification(aSubscription,
'{"title":"Hello","body":"Raw JSON payload","data":{"url":"https://www.esegece.com"}}');