Com o FCM, você pode enviar dois tipos de mensagens aos apps cliente:
- As mensagens de notificação, semelhantes às "mensagens de exibição", são processadas automaticamente pelo SDK do FCM.
- Mensagens de dados, que são tratadas pelo app cliente.
As mensagens de notificação contêm um conjunto predefinido de chaves visíveis pelo usuário e podem conter um payload de dados opcional. As mensagens de dados, por outro lado, contêm somente pares de chave-valor personalizados definidos pelo usuário. O payload máximo para ambos os tipos de mensagem é de 4096 bytes, exceto ao enviar mensagens do console do Firebase, que impõe um limite de 1.000 caracteres.
Cenário de uso | Como enviar | |
---|---|---|
Mensagem de notificação | O SDK do FCM exibe a mensagem para os dispositivos dos usuários finais em nome do app cliente, quando ele está em execução em segundo plano. Se o app estiver em execução em primeiro plano quando a notificação for recebida, o código do aplicativo vai determinar o comportamento. |
|
Mensagem de dados | O app cliente é responsável pelo processamento de mensagens de dados. As mensagens de dados têm apenas pares de chave-valor personalizados sem nomes de chave reservados (veja abaixo). | Em um ambiente confiável, como o
Cloud Functions
ou o servidor do app, use o
Firebase Admin SDK ou a
API HTTP v1.
Na solicitação de envio, defina a chave data .
|
Use mensagens de notificação quando quiser que o SDK do FCM faça a exibição de uma notificação automaticamente quando seu app estiver em execução em segundo plano. O FCM pode enviar uma mensagem de notificação com um payload de dados opcional. Nesses casos, o FCM mostra o payload de notificação, e o app cliente processa o payload de dados.
Use mensagens de dados quando quiser processar as mensagens com seu próprio código de app cliente.
Mensagens de notificação
É possível enviar mensagens de notificação usando o console Firebase, o Firebase Admin SDK ou a API HTTP v1 do FCM. O console do Firebase oferece testes A/B com base em análise para ajudar você a refinar e melhorar as mensagens de notificação.
Para enviar mensagens de notificação usando a API HTTP v1 Firebase Admin SDK ou FCM, defina a chave notification
com o conjunto predefinido de opções
chave-valor da mensagem de notificação. Use o exemplo a seguir para formatar uma mensagem de notificação em um app de mensagens instantâneas.
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"notification":{
"title":"Portugal vs. Denmark",
"body":"great match!"
}
}
}
As mensagens de notificação são entregues na bandeja de notificação quando o app está em segundo plano. Para apps em primeiro plano, as mensagens são processadas por uma função de retorno de chamada.
Consulte a documentação de referência do objeto de notificação da API HTTP v1 do FCM para ver a lista completa de chaves predefinidas disponíveis para criar mensagens de notificação.
Mensagens de dados
Você decide como usar a carga útil do FCM data
para implementar o esquema de criptografia de sua escolha. Não use palavras reservadas nos seus pares de chave-valor personalizados. As palavras reservadas incluem from
, message_type
ou
qualquer palavra que comece com google.
, gcm.
ou gcm.notification.
.
O exemplo a seguir mostra o uso do campo de dados de nível superior ou comum, que é interpretado por clientes em todas as plataformas que recebem a mensagem. Em cada plataforma, o app cliente recebe o payload de dados em uma função de callback.
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"data":{
"Nick" : "Mario",
"body" : "great match!",
"Room" : "PortugalVSDenmark"
}
}
}