TsgcWSAPIServer_WebPush › Metody › BroadcastNotification
Wysyła tę samą powiadomienie do każdej subskrypcji znajdującej się aktualnie na wewnętrznej liście subskrypcji.
procedure BroadcastNotification(const aMessage : TsgcWebPushMessage);
| Nazwa | Typ | Opis |
|---|---|---|
aMessage | const TsgcWebPushMessage | Ustrukturyzowane powiadomienie (Title/Body/Icon/Url) serializowane raz za pomocą AsJSON i ponownie używane dla każdej subskrypcji. |
Iteruje listę Subscriptions bezpieczną wątkowo pod blokadą i wywołuje SendNotification dla każdego wpisu. Jeśli wysyłanie nie powiedzie się, wywoływane jest zdarzenie OnWebPushSendNotificationException i gdy zwrócono Remove równe True (wartość domyślna), subskrypcja jest automatycznie usuwana z listy — idealne do czyszczenia odpowiedzi 404/410 z usługi 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);
| Nazwa | Typ | Opis |
|---|---|---|
aMessage | const string | Surowy ładunek (zazwyczaj JSON) dostarczany dosłownie do każdego subskrybenta po szyfrowaniu na poziomie subskrypcji. |
Wygodne przeciążenie, gdy ładunek rozgłoszeniowy jest już zserializowany. Subskrypcje można dodawać lub usuwać ręcznie za pomocą metod Subscriptions.AddSubscription/Subscriptions.RemoveSubscription, jeśli trwałość jest zarządzana samodzielnie.
sgcWSAPIServer_WebPush1.BroadcastNotification(
'{"title":"Heads up","body":"Server restarting in 5 min"}');