TsgcWSAPIServer_WebPush › Métodos › BroadcastNotification
Envia a mesma notificação a cada subscription atualmente mantida na lista interna Subscriptions.
procedure BroadcastNotification(const aMessage : TsgcWebPushMessage);
| Name | Type | Descrição |
|---|---|---|
aMessage | const TsgcWebPushMessage | Notificação estruturada (Title/Body/Icon/Url) serializada uma vez via AsJSON e reutilizada para cada assinatura. |
Itera pela lista thread-safe Subscriptions sob um lock e chama SendNotification para cada entrada. Se um envio falhar, OnWebPushSendNotificationException dispara e, quando Remove retorna True (o padrão), a assinatura é automaticamente descartada da lista — ideal para limpar respostas 404/410 do serviço de push.
var
oMessage: TsgcWebPushMessage;
begin
oMessage := TsgcWebPushMessage.Create;
try
oMessage.Title := 'eSeGeCe Notification';
oMessage.Body := 'New version released!!!';
oMessage.Icon := 'https://www.esegece.com/images/esegece_logo_small.png';
oMessage.Url := 'https://www.esegece.com';
sgcWSAPIServer_WebPush1.BroadcastNotification(oMessage);
finally
oMessage.Free;
end;
end;
procedure BroadcastNotification(const aMessage: string);
| Name | Type | Descrição |
|---|---|---|
aMessage | const string | Payload bruto (geralmente JSON) entregue na íntegra a cada assinante após a criptografia por inscrição. |
Sobrecarga prática quando a carga útil de broadcast já está serializada. Você pode adicionar ou remover assinaturas manualmente por meio de Subscriptions.AddSubscription/Subscriptions.RemoveSubscription se você mesmo gerenciar a persistência.
sgcWSAPIServer_WebPush1.BroadcastNotification(
'{"title":"Heads up","body":"Server restarting in 5 min"}');