Firebase Cloud Messaging (FCM)

Envoie des notifications push Firebase Cloud Messaging V1 depuis Delphi. Signature JWT par service-account, échange de tokens OAuth 2.0 et construction de messages FCM typés dans un seul composant.

TsgcHTTPGoogleCloud_FCM_Client

Client FCM HTTP V1 — charge ton JSON de compte de service Google, signe un JWT RS256, l'échange contre un token d'accès OAuth, puis envoie le message FCM en POST à fcm.googleapis.com/v1/projects/<id>/messages:send.

Classe du composant

TsgcHTTPGoogleCloud_FCM_Client

Plateformes

Windows, macOS, Linux, iOS, Android

Édition

Standard / Professional / Enterprise

Charge le service account, envoie le push

Charge ton JSON de compte de service Firebase, définis le project id, puis appelle SendMessage avec la charge utile FCM (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");

Ce qu’il y a à l’intérieur

Cible l'endpoint FCM HTTP v1 — l'ancien endpoint fcm.googleapis.com/fcm/send a été déprécié par Google.

Authentification par compte de service

Charge le JSON standard de compte de service Firebase, signe un JWT RS256 avec la clé privée qu'il contient, puis l'échange à oauth2.googleapis.com/token contre un token d'accès.

Envoi vers token / topic / condition

Les surcharges de SendMessage acceptent un token d'enregistrement, un nom de topic (/topics/news) ou une expression de condition de topic. SendBroadcast cible un topic pour la diffusion.

Charges utiles notification + data

L'objet notification (title/body/image) et le dictionnaire libre data sont tous deux exposés, y compris les surcharges spécifiques à chaque plateforme (Android android, iOS apns, Web webpush).

Mise en cache des tokens

Les tokens d'accès sont mis en cache et rafraîchis uniquement à leur expiration, afin que les émetteurs à fort volume ne saturent pas l'endpoint OAuth.

Transport HTTP

Utilise le client HTTP standard du projet — associe-le à des proxys, des paramètres TLS et des limiteurs de débit comme pour n'importe quelle autre requête HTTP.

Erreurs typées

OnSendError signale les erreurs HTTP et propres à FCM (token non enregistré, argument invalide, quota dépassé) afin que tu puisses purger les tokens morts ou faire du backoff.

Spécifications et références

Sources de référence pour l'API implémentée par ce composant.

Documentation et démos

Lien direct vers la référence du composant, récupère le projet de démo prêt à exécuter et télécharge l’essai.

Aide en ligne — FCM Client Référence complète des propriétés, méthodes et événements de ce composant.
Projet de démo — Demos\20.HTTP_Protocol\03.Google Projet d’exemple prêt à exécuter. Livré dans le paquet sgcWebSockets — télécharge l’essai ci-dessous.
Document technique (PDF) Features, quick start, code samples for Delphi & C++ Builder and primary-source references — this component only.
Manuel utilisateur (PDF) Manuel exhaustif couvrant chaque composant de la bibliothèque.

Prêt à envoyer des push FCM depuis Delphi ?

Télécharge l'essai gratuit et intègre Firebase Cloud Messaging à tes applications Delphi.