O FCM depende do seguinte conjunto de componentes que constroem, transportam e recebem mensagens:
Ferramentas para redigir 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 obter automação e suporte completos para todos os tipos de mensagens , você deve criar solicitações de mensagens em um ambiente de servidor confiável compatível com o SDK Admin do Firebase ou o protocolo 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, trata da entrega da mensagem e aplica configurações específicas da plataforma quando apropriado. Esta camada de transporte inclui:
- Camada de transporte Android (ATL) para dispositivos Android com Google Play Services
- Serviço Apple Push Notification (APNs) para dispositivos Apple
Protocolo Web Push 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/segundo plano do aplicativo e qualquer lógica de aplicativo relevante.
Fluxo do ciclo de vida
- Registre 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.
- Envie e receba mensagens downstream .
- Envie uma mensagem. O servidor de aplicativos envia mensagens para o aplicativo cliente:
- A mensagem é composta no compositor do Notifications ou em um ambiente confiável, e uma solicitação de mensagem é enviada ao back-end do FCM.
- O backend do 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 através 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: