TsgcWSAPIServer_WebPush方法 › BroadcastNotification

BroadcastNotification 方法

向内部 Subscriptions 列表中当前持有的每个订阅发送相同的通知。

重载

重载 1

语法

procedure BroadcastNotification(const aMessage : TsgcWebPushMessage);

参数

名称类型描述
aMessageconst TsgcWebPushMessage结构化通知(Title/Body/Icon/Url),通过 AsJSON 序列化一次,并为每个订阅复用。

备注

在锁保护下遍历线程安全的 Subscriptions 列表,并为每个条目调用 SendNotification。若发送失败,则触发 OnWebPushSendNotificationException;当 Remove 返回 True(默认值)时,该订阅将自动从列表中移除,非常适合清理推送服务返回的 404/410 响应。

示例

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;

重载 2

语法

procedure BroadcastNotification(const aMessage: string);

参数

名称类型描述
aMessageconst string原始载荷(通常为 JSON),在按订阅加密后原封不动地投递给每个订阅者。

备注

当广播负载已序列化时使用的便捷重载。您可以通过 Subscriptions.AddSubscription/Subscriptions.RemoveSubscription 手动添加或删除订阅(如果您自行管理持久化)。

示例

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

返回方法