TsgcWSAPIServer_WebPush › Yöntemler › SendNotification
Yapılandırılmış VAPID kimlik bilgilerini kullanarak tek bir abonelik uç noktasına bir Web Push bildirimini şifreler ve POST eder.
procedure SendNotification(const aSubscription : TsgcHTTP_API_WebPush_PushSubscription; const aMessage: TsgcWebPushMessage);
| Name | Type | Açıklama |
|---|---|---|
aSubscription | const TsgcHTTP_API_WebPush_PushSubscription | Push hizmeti Endpoint'i artı yükü şifrelemek için kullanılan tarayıcının p256dh PublicKey ve AuthSecret'ini taşıyan hedef abonelik. |
aMessage | const TsgcWebPushMessage | Title, Body, Icon ve Url içeren yapılandırılmış mesaj; şifrelemeden önce AsJSON aracılığıyla JSON'a serileştirilir. |
Kütüphanenin tarayıcının service worker'ı için iyi biçimlendirilmiş bir bildirim yükü oluşturmasını istediğinizde tercih edilen aşırı yükleme. Mesajın AsJSON gösterimi, aboneliğin anahtarlarıyla aes128gcm kullanılarak şifrelenir ve RFC 8030 izlenerek push hizmetine POST edilir.
var
oMessage: TsgcWebPushMessage;
begin
oMessage := TsgcWebPushMessage.Create;
try
oMessage.Title := 'eSeGeCe Notification';
oMessage.Body := 'Subscription Successfully Registered!!!';
oMessage.Icon := 'https://www.esegece.com/images/esegece_logo_small.png';
oMessage.Url := 'https://www.esegece.com';
sgcWSAPIServer_WebPush1.SendNotification(aSubscription, oMessage);
finally
oMessage.Free;
end;
end;
procedure SendNotification(const aSubscription : TsgcHTTP_API_WebPush_PushSubscription; const aMessage: string);
| Name | Type | Açıklama |
|---|---|---|
aSubscription | const TsgcHTTP_API_WebPush_PushSubscription | Endpoint'i, PublicKey'i (p256dh) ve AuthSecret'ı şifrelenmiş POST'u yönlendiren hedef abonelik. |
aMessage | const string | Şifrelemeden sonra olduğu gibi gönderilen ham yük; genellikle service worker'ınızın nasıl ayrıştıracağını bildiği bir JSON dizesi. |
Zaten önceden oluşturulmuş bir JSON veya düz metin yükünüz olduğunda (örneğin TsgcJSON tarafından üretilen veya depolamadan yüklenen) bu overload'ı kullanın. Push hizmetleri normalde ~4 KB'ye kadar şifrelenmiş içerik kabul eder; bunu aşmak, OnWebPushSendNotificationException aracılığıyla yeniden fırlatılan bir 413 yanıtını tetikler.
sgcWSAPIServer_WebPush1.SendNotification(aSubscription,
'{"title":"Hello","body":"Raw JSON payload","data":{"url":"https://www.esegece.com"}}');