WebPush Server
Wysyłaj powiadomienia WebPush z serwera Delphi. Wbudowane podpisywanie VAPID, szyfrowanie ładunku AES128GCM i punkty końcowe zarządzania subskrypcjami wymagane przez specyfikację.
Wysyłaj powiadomienia WebPush z serwera Delphi. Wbudowane podpisywanie VAPID, szyfrowanie ładunku AES128GCM i punkty końcowe zarządzania subskrypcjami wymagane przez specyfikację.
Komponent relying-party WebPush — rejestruj subskrypcje, szyfruj ładunki (RFC 8291), podpisuj żądania za pomocą VAPID (RFC 8292), wysyłaj POST do punktu końcowego push użytkownika.
TsgcWSAPIServer_WebPush
Windows, macOS, Linux, iOS, Android
Enterprise
Skonfiguruj parę kluczy VAPID, podłącz wbudowany TsgcWebPush_Client (lub użyj go bezpośrednio), a następnie wywołaj SendNotification z punktem końcowym subskrypcji i ładunkiem.
uses
sgcWebSocket, sgcWebSocket_Server_APIs;
var
Server: TsgcWebSocketHTTPServer;
WebPush: TsgcWSAPIServer_WebPush;
begin
Server := TsgcWebSocketHTTPServer.Create(nil);
Server.Port := 8443;
Server.SSL := True;
WebPush := TsgcWSAPIServer_WebPush.Create(nil);
WebPush.Server := Server;
WebPush.VAPID.Subject := 'mailto:admin@example.com';
WebPush.VAPID.PrivateKey.LoadFromFile('vapid-priv.pem');
WebPush.VAPID.PublicKey.LoadFromFile ('vapid-pub.pem');
Server.Active := True;
// later, when you have a subscription record
WebPush.SendNotification(
'https://fcm.googleapis.com/wp/...', // endpoint
'p256dh-public-key', // from PushSubscription.getKey(p256dh)
'auth-secret', // from PushSubscription.getKey(auth)
'{"title":"Hello","body":"Notification body"}');
end;
Kompletny przekaźnik WebPush — zarządza subskrypcjami i wysyła powiadomienia podpisane VAPID i szyfrowane AES128GCM.
Hostuje kontrakt POST /webpush/subscribe + DELETE /webpush/unsubscribe na wbudowanym serwerze HTTP, dzięki czemu klienty przeglądarki mogą rejestrować u ciebie swoje PushSubscription.
Zgodnie z RFC 8292 komponent podpisuje każdy push tokenem JWT ES256 i dołącza klucz publiczny VAPID w nagłówku Crypto-Key. Kontakt podmiotu (mailto:) jest konfigurowalny.
Implementuje szyfrowanie wiadomości RFC 8291: wyprowadza wspólny sekret przez ECDH z p256dh użytkownika, oblicza klucze wyprowadzone przez HKDF, szyfruje za pomocą AES128GCM.
Dopełnia ładunki do zalecanego maksimum, tak aby długość wiadomości nie mogła być wywnioskowana z szyfrogramu — zgodnie z oczekiwaniami przeglądarek dla usług push.
TsgcWebPush_Client to komponent towarzyszący, który tylko wysyła powiadomienia bez hostowania subskrypcji — przydatny, gdy subskrypcje są zarządzane w osobnym serwisie.
Standardowe nagłówki TTL, Urgency i Topic są dostępne jako parametry metody, pozwalając powiedzieć usłudze push, jak długo przechowywać niedostarczone powiadomienia.
Wiarygodne źródła protokołu, który implementuje ten komponent.
Przejdź bezpośrednio do dokumentacji komponentu, pobierz gotowy do uruchomienia projekt demonstracyjny i pobierz wersję próbną.
| Pomoc online — WebPush Pełna dokumentacja właściwości, metod i zdarzeń tego komponentu. | Otwórz | |
| Projekt demonstracyjny — Demos\20.HTTP_Protocol\11.WebPush_Notifications Gotowy do uruchomienia projekt przykładowy. Dostarczany w pakiecie sgcWebSockets — pobierz wersję próbną poniżej. | Otwórz | |
| Dokument techniczny (PDF) Funkcje, szybki start, przykłady kodu dla Delphi i C++ Builder oraz odniesienia do źródeł — tylko ten komponent. | Otwórz | |
| Podręcznik użytkownika (PDF) Kompleksowy podręcznik obejmujący każdy komponent biblioteki. | Otwórz |