Firebase Cloud Messaging (TsgcHTTPGoogleCloud_FCM_Client) — sgcWebSockets | eSeGeCe

Firebase Cloud Messaging (FCM)

Sende Firebase-Cloud-Messaging-V1-Push-Benachrichtigungen aus Delphi. Service-Account-JWT-Signierung, OAuth-2.0-Token-Austausch und typisierte FCM-Nachrichtenerstellung in einer Komponente.

TsgcHTTPGoogleCloud_FCM_Client

FCM-HTTP-V1-Client — lädt dein Google-Service-Account-JSON, signiert ein RS256-JWT, tauscht es gegen ein OAuth-Access-Token und sendet die FCM-Nachricht per POST an fcm.googleapis.com/v1/projects/<id>/messages:send.

Komponentenklasse

TsgcHTTPGoogleCloud_FCM_Client

Plattformen

Windows, macOS, Linux, iOS, Android

Edition

Standard / Professional / Enterprise

Service-Account laden, Push senden

Lade dein Firebase-Service-Account-JSON, setze die Projekt-ID und rufe dann SendMessage mit der FCM-Payload auf (token / topic / condition).

uses
  sgcHTTP;

var
  FCM: TsgcHTTPGoogleCloud_FCM_Client;
begin
  FCM := TsgcHTTPGoogleCloud_FCM_Client.Create(nil);
  FCM.GoogleCloudOptions.ServiceAccountJSON.LoadFromFile('service-account.json');

  FCM.SendMessage(
    'fcm-device-token-here',
    'Hello from Delphi',
    'This is a test FCM push');
end;
// uses: sgcHTTP
TsgcHTTPGoogleCloud_FCM_Client *FCM = new TsgcHTTPGoogleCloud_FCM_Client(this);
FCM->GoogleCloudOptions->ServiceAccountJSON->LoadFromFile("service-account.json");

FCM->SendMessage(
  "fcm-device-token-here",
  "Hello from Delphi",
  "This is a test FCM push");

Was steckt drin

Spricht den FCM-HTTP-v1-Endpunkt an — der alte Endpunkt fcm.googleapis.com/fcm/send wurde von Google als veraltet eingestuft.

Service-Account-Authentifizierung

Lädt das standardmäßige Firebase-Service-Account-JSON, signiert ein RS256-JWT mit dem enthaltenen privaten Schlüssel und tauscht es dann unter oauth2.googleapis.com/token gegen ein Access Token ein.

Senden an token / topic / condition

Die SendMessage-Überladungen akzeptieren ein Registrierungstoken, einen Topic-Namen (/topics/news) oder einen Topic-Bedingungsausdruck. SendBroadcast adressiert ein Topic für die Verteilung.

Notification- + Data-Payloads

Sowohl das notification-Objekt (Titel/Text/Bild) als auch das freie data-Dictionary werden bereitgestellt, einschließlich plattformspezifischer Overrides (Android android, iOS apns, Web webpush).

Token-Caching

Access-Token werden zwischengespeichert und nur bei Ablauf erneuert, sodass Sender mit hohem Volumen den OAuth-Endpunkt nicht überlasten.

HTTP-Transport

Verwendet den standardmäßigen HTTP-Client des Projekts — kombiniere ihn mit Proxys, TLS-Einstellungen und Rate-Limitern wie bei jeder anderen HTTP-Anfrage.

Typisierte Fehler

OnSendError meldet HTTP- und FCM-spezifische Fehler (nicht registriertes Token, ungültiges Argument, Kontingent überschritten), sodass du tote Tokens entfernen oder zurückfahren kannst.

Spezifikationen und Referenzen

Maßgebliche Quellen für die API, die diese Komponente implementiert.

Dokumentation & Demos

Springe direkt zur Komponentenreferenz, lade das einsatzbereite Demo-Projekt herunter und teste die Testversion.

Online-Hilfe — FCM Client Vollständige Eigenschaften-, Methoden- und Ereignisreferenz für diese Komponente.
Demo-Projekt — Demos\20.HTTP_Protocol\03.Google Einsatzbereites Beispielprojekt. Im sgcWebSockets-Paket enthalten — lade unten die Testversion herunter.
Technisches Dokument (PDF) Funktionen, Schnellstart, Codebeispiele für Delphi & C++ Builder und Primärquellenreferenzen — nur für diese Komponente.
Benutzerhandbuch (PDF) Umfassendes Handbuch zu jeder Komponente der Bibliothek.

Bereit, FCM-Pushes aus Delphi zu senden?

Lade die kostenlose Testversion herunter und integriere Firebase Cloud Messaging in deine Delphi-Anwendungen.