TsgcWSAPIServer_WebPushYöntemler › SendNotification

SendNotification Yöntem

Yapılandırılmış VAPID kimlik bilgilerini kullanarak tek bir abonelik uç noktasına bir Web Push bildirimini şifreler ve POST eder.

Aşırı Yüklemeler

Aşırı Yükleme 1

Sözdizimi

procedure SendNotification(const aSubscription : TsgcHTTP_API_WebPush_PushSubscription; const aMessage: TsgcWebPushMessage);

Parametreler

NameTypeAçıklama
aSubscriptionconst TsgcHTTP_API_WebPush_PushSubscriptionPush hizmeti Endpoint'i artı yükü şifrelemek için kullanılan tarayıcının p256dh PublicKey ve AuthSecret'ini taşıyan hedef abonelik.
aMessageconst TsgcWebPushMessageTitle, Body, Icon ve Url içeren yapılandırılmış mesaj; şifrelemeden önce AsJSON aracılığıyla JSON'a serileştirilir.

Remarks

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.

Örnek

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;

Overload 2

Sözdizimi

procedure SendNotification(const aSubscription : TsgcHTTP_API_WebPush_PushSubscription; const aMessage: string);

Parametreler

NameTypeAçıklama
aSubscriptionconst TsgcHTTP_API_WebPush_PushSubscriptionEndpoint'i, PublicKey'i (p256dh) ve AuthSecret'ı şifrelenmiş POST'u yönlendiren hedef abonelik.
aMessageconst 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.

Remarks

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.

Örnek

sgcWSAPIServer_WebPush1.SendNotification(aSubscription,
  '{"title":"Hello","body":"Raw JSON payload","data":{"url":"https://www.esegece.com"}}');

Yöntemlere Dön