O FCM conta com o seguinte conjunto de componentes que criam, transportam e recebem mensagens:
Ferramentas para compor ou construir solicitações de mensagens. O compositor de notificações fornece uma opção baseada em GUI para criar solicitações de notificação. Para automação completa e suporte para todos os tipos de mensagem , você deve criar solicitações de mensagem em um ambiente de servidor confiável que suporte o Firebase Admin SDK ou os protocolos de servidor FCM. Esse ambiente pode ser Cloud Functions para Firebase, App Engine ou seu próprio servidor de aplicativos.
O back-end do FCM, que (entre outras funções) aceita solicitações de mensagens, realiza fanout de mensagens por meio de tópicos e gera metadados de mensagens, como o ID da mensagem.
Uma camada de transporte no nível da plataforma, que roteia a mensagem para o dispositivo de destino, lida com a entrega da mensagem e aplica a configuração específica da plataforma quando apropriado. Esta camada de transporte inclui:
- Camada de transporte Android (ATL) para dispositivos Android com serviços do Google Play
- Serviço Apple Push Notification (APNs) para dispositivos Apple
Protocolo push da Web para aplicativos da Web
O SDK do FCM no dispositivo do usuário, onde a notificação é exibida ou a mensagem é tratada de acordo com o estado de primeiro plano/segundo plano do aplicativo e qualquer lógica de aplicativo relevante.
Fluxo do ciclo de vida
- Cadastrar dispositivos para receber mensagens do FCM . Uma instância de um aplicativo cliente se registra para receber mensagens, obtendo um token de registro que identifica exclusivamente a instância do aplicativo.
- Enviar e receber mensagens downstream .
- Envie uma mensagem. O servidor de aplicativos envia mensagens para o aplicativo cliente:
- A mensagem é composta, no compositor de Notificações ou em um ambiente confiável, e uma solicitação de mensagem é enviada ao back-end do FCM.
- O back-end FCM recebe a solicitação de mensagem, gera um ID de mensagem e outros metadados e os envia para a camada de transporte específica da plataforma.
- Quando o dispositivo está online, a mensagem é enviada por meio da camada de transporte específica da plataforma para o dispositivo.
- No dispositivo, o aplicativo cliente recebe a mensagem ou notificação.
- Envie uma mensagem. O servidor de aplicativos envia mensagens para o aplicativo cliente: