TsgcWSAPIServer_WebPushMétodos › SendNotification

SendNotification Method

Criptografa e faz POST de uma notificação Web Push para um único endpoint de assinatura utilizando as credenciais VAPID configuradas.

Overloads

Overload 1

Sintaxe

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

Parâmetros

NameTypeDescrição
aSubscriptionconst TsgcHTTP_API_WebPush_PushSubscriptionSubscrição de destino contendo o Endpoint do serviço de push mais a PublicKey p256dh do navegador e o AuthSecret usado para criptografar o payload.
aMessageconst TsgcWebPushMessageMensagem estruturada com Title, Body, Icon e Url; serializada em JSON via AsJSON antes da criptografia.

Observações

Sobrecarga preferida quando você deseja que a biblioteca construa um payload de notificação bem formado para o service worker do navegador. A representação AsJSON da mensagem é criptografada com aes128gcm utilizando as chaves da assinatura e enviada via POST ao serviço de push seguindo a RFC 8030.

Exemplo

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

Sintaxe

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

Parâmetros

NameTypeDescrição
aSubscriptionconst TsgcHTTP_API_WebPush_PushSubscriptionAssinatura de destino cujos Endpoint, PublicKey (p256dh) e AuthSecret direcionam o POST criptografado.
aMessageconst stringPayload bruto enviado como está após a criptografia; normalmente uma string JSON que o seu service worker sabe como analisar.

Observações

Utilize esta sobrecarga quando você já dispuser de um payload JSON ou de texto puro pré-construído (por exemplo, produzido pelo TsgcJSON ou carregado do armazenamento). Os serviços de push normalmente aceitam até ~4 KB de conteúdo criptografado; exceder isso aciona uma resposta 413 que é relançada via OnWebPushSendNotificationException.

Exemplo

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

Voltar para Métodos