TsgcWSAPIServer_WebPushメソッド › BroadcastNotification

BroadcastNotification メソッド

内部のSubscriptionsリストに現在保持されているすべてのサブスクリプションに同じ通知を送信します。

オーバーロード

オーバーロード 1

構文

procedure BroadcastNotification(const aMessage : TsgcWebPushMessage);

パラメータ

名前タイプ説明
aMessageconst TsgcWebPushMessageAsJSON を介して一度シリアライズされ、各サブスクリプションで再利用される構造化通知 (Title/Body/Icon/Url)。

解説

ロック下でスレッドセーフな Subscriptions リストを反復処理し、各エントリに対して SendNotification を呼び出します。送信に失敗した場合、OnWebPushSendNotificationException が発火し、RemoveTrue(デフォルト)を返した場合、サブスクリプションはリストから自動的に削除されます。プッシュサービスからの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"}');

メソッドに戻る