TsgcWSAPIServer_WebPushMetody › BroadcastNotification

BroadcastNotification Method

Wysyła tę samą powiadomienie do każdej subskrypcji znajdującej się aktualnie na wewnętrznej liście subskrypcji.

Przeciążenia

Przeciążenie 1

Składnia

procedure BroadcastNotification(const aMessage : TsgcWebPushMessage);

Parametry

NazwaTypOpis
aMessageconst TsgcWebPushMessageUstrukturyzowane powiadomienie (Title/Body/Icon/Url) serializowane raz za pomocą AsJSON i ponownie używane dla każdej subskrypcji.

Uwagi

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.

Przykład

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;

Przeciążenie 2

Składnia

procedure BroadcastNotification(const aMessage: string);

Parametry

NazwaTypOpis
aMessageconst stringSurowy ładunek (zazwyczaj JSON) dostarczany dosłownie do każdego subskrybenta po szyfrowaniu na poziomie subskrypcji.

Uwagi

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.

Przykład

sgcWSAPIServer_WebPush1.BroadcastNotification(
  '{"title":"Heads up","body":"Server restarting in 5 min"}');

Powrót do metod