Postado por Jen Person, Developer Advocate
Fico fascinado quando penso que o Firebase Cloud Messaging envia bilhões de mensagens por dia. Os desenvolvedores iOS, Android e web usam o FCM para enviar notificações e mensagens de dados a clientes. Recentemente, atualizamos o FCM para melhorar a segurança e adicionar novos recursos. Você pode acessar essa nova versão pelo SDK Admin do Firebase para Node.js, Python, Java e Go.

A versão mais recente do FCM, que chamamos de FCM v1, consegue enviar uma única solicitação com modificações específicas de cada plataforma. Por exemplo, você pode definir por quanto tempo uma notificação do Android ficará ativa e atribuir uma prioridade de APNs a uma notificação do iOS no mesmo corpo. Dê uma olhada na documentação ou nesta postagem do blog se quiser saber mais sobre as modificações de plataforma.

Agora, você já pode integrar aplicativos do lado do servidor com a FCM v1 API de forma bem conveniente usando os SDKs Admin do Firebase. Veja como enviar uma simples mensagem de dados no Node.js:
var registrationToken = 'YOUR_REGISTRATION_TOKEN';

var message = {
  data: {
    score: '850',
    time: '2:45'
  },
  token: registrationToken
};

admin.messaging().send(message)
  .then((response) => {
    console.log('Successfully sent message:', response);
  })
  .catch((error) => {
    console.log('Error sending message:', error);
  });

Para ver esse código em Java, Python e Go, consulte a documentação. Para ver todas as opções de payload de mensagens, leia a documentação do FCM v1. Além de enviar mensagens a dispositivos e tópicos, o SDK Admin para FCM também permite gerenciar assinaturas de tópico no servidor.

Aqui está um exemplo de assinatura de um tópico no Node.js:
var registrationTokens = [
  'YOUR_REGISTRATION_TOKEN_1',
  // ...
  'YOUR_REGISTRATION_TOKEN_n'
];
admin.messaging().subscribeToTopic(registrationTokens, topic)
  .then(function(response) {
    console.log('Successfully subscribed to topic:', response);
  })
  .catch(function(error) {
    console.log('Error subscribing to topic:', error);
  });

Para ver esse código em Java, Python e Go, consulte a documentação. Graças ao SDK Admin, nunca foi tão fácil enviar mensagens. Leia a documentação completa aqui. E se você criar algo incrível no FCM, conte para a gente. Tuite @Firebase e @ThatJenPerson e diga o que você está fazendo!