Firebase Cloud Messaging (FCM)

Envie notificações push Firebase Cloud Messaging V1 a partir do Delphi. Assinatura de JWT com service-account, troca de token OAuth 2.0 e construção tipada de mensagens FCM em um único componente.

TsgcHTTPGoogleCloud_FCM_Client

Cliente FCM HTTP V1 — carrega seu JSON de service-account do Google, assina um JWT RS256, troca por um access token OAuth e faz POST da mensagem FCM para fcm.googleapis.com/v1/projects/<id>/messages:send.

Classe do componente

TsgcHTTPGoogleCloud_FCM_Client

Plataformas

Windows, macOS, Linux, iOS, Android

Edição

Standard / Professional / Enterprise

Carregue a service account e envie push

Carregue seu JSON de service-account do Firebase, defina o project id e chame SendMessage com o payload 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");

O que está incluído

Utiliza o endpoint FCM HTTP v1 — o endpoint legado fcm.googleapis.com/fcm/send foi descontinuado pelo Google.

Autenticação com service-account

Carrega o JSON padrão de service-account do Firebase, assina um JWT RS256 com a chave privada contida e o troca em oauth2.googleapis.com/token por um access token.

Envio para token / topic / condition

As sobrecargas de SendMessage aceitam um registration token, um nome de topic (/topics/news) ou uma expressão condition de topic. SendBroadcast direciona para um topic para fan-out.

Payloads notification + data

Tanto o objeto notification (title/body/image) quanto o dicionário livre data são expostos, incluindo substituições específicas por plataforma (Android android, iOS apns, Web webpush).

Cache de token

Os access tokens são armazenados em cache e atualizados somente quando expiram, para que remetentes de alto volume não sobrecarreguem o endpoint OAuth.

Transporte HTTP

Usa o cliente HTTP padrão do projeto — combine com proxies, configurações TLS e limitadores de taxa como qualquer outra requisição HTTP.

Erros tipados

OnSendError reporta erros HTTP e específicos do FCM (token não registrado, argumento inválido, quota excedida) para que você possa remover tokens inválidos ou recuar.

Especificações & referências

Fontes oficiais da API implementada por este componente.

Documentação & Demos

Acesse a referência do componente, obtenha o projeto de demo pronto para executar e baixe o trial.

Ajuda Online — FCM Client Referência completa de propriedades, métodos e eventos deste componente.
Projeto de Demo — Demos\20.HTTP_Protocol\03.Google Projeto de exemplo pronto para executar. Incluído no pacote sgcWebSockets — baixe o trial abaixo.
Documento Técnico (PDF) Recursos, quick start, exemplos de código para Delphi & C++ Builder e referências primárias — somente este componente.
Manual do Usuário (PDF) Manual abrangente cobrindo todos os componentes da biblioteca.

Pronto para Enviar Pushes FCM a partir do Delphi?

Baixe o trial gratuito e integre o Firebase Cloud Messaging nas suas aplicações Delphi.