TsgcWSAPIServer_WebPushMétodos › SendNotification

SendNotification Método

Encripta y envía mediante POST una notificación Web Push a un único endpoint de suscripción usando las credenciales VAPID configuradas.

Sobrecargas

Sobrecarga 1

Sintaxis

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

Parámetros

NombreTipoDescripción
aSubscriptionconst TsgcHTTP_API_WebPush_PushSubscriptionSuscripció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.
aMessageconst TsgcWebPushMessageMensaje estructurado con Title, Body, Icon y Url; serializado a JSON mediante AsJSON antes del cifrado.

Observaciones

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.

Ejemplo

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;

Sobrecarga 2

Sintaxis

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

Parámetros

NombreTipoDescripción
aSubscriptionconst TsgcHTTP_API_WebPush_PushSubscriptionSuscripción de destino cuyos Endpoint, PublicKey (p256dh) y AuthSecret gestionan el POST cifrado.
aMessageconst stringCarga útil sin procesar enviada tal cual tras el cifrado; generalmente una cadena JSON que el service worker sabe cómo analizar.

Observaciones

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.

Ejemplo

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

Volver a Métodos