Firebase Notificação – Mensagem vs Dados – Android Nativo

Nesse post vamos comentar de forma direta sobre algo que confunde muitos programadores no momento de entender e utilizar o Serviço de Notificações do Firebase.

Quando você quer enviar uma notificação para o seu app nativo, utilizando o serviço de Cloud Messaging do Firebase, nós podemos utilizar o envio de uma Notificação de Mensagem ou uma Notificação de Dados (DataMessaging).

Se referir as duas como sendo notificações não tem problema, mas o importante é você saber diferenciar no seu entendimento o que realmente são as duas e como um aplicativo funciona quando recebemos elas.

 

Notificação

Com o envio de uma Mensagem de Notificação, o aplicativo estando em segundo plano, ou seja, quando o aplicativo não está sendo executado, o app mostra a notificação automaticamente, basta somente fazer referencia do serviço de Notificação do Firebase no seu App.

Se o aplicativo estiver em primeiro plano, ou seja, o aplicativo está sendo utilizado pelo usuário, um método chamado onMessageReceived é ativado e nesse caso teremos que implementar um código para a notificação ser exibida.

As mensagens de notificação têm um conjunto predefinido de nome de chaves que não podem ser alterados.

Abaixo temos o corpo de uma notificação

{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "notification":{
      "title":"Portugal vs. Denmark",
      "body":"great match!"
  }
}

 

Perceba que no corpo dessa notificação temos o campo notification, e dentro desse campo temos outros campos (chave) chamados de title e body. Os nomes title e body não podem ser trocado por outros nomes, pois são predefinidos, assim como outros campos (chaves) que também estão disponíveis para você utilizar como sound e icon

No site do Firebase quando você for enviar uma notificação de mensagem, poderá encontrar os campos como abaixo.

Na imagem acima quando você preencher o campo titulo com a informação “Teste” e o campo texto notificação com “Olá” o corpo da sua notificação ficará como abaixo 

 "notification":{

   "title":"Teste",
"body":"Olá"
}

 

Caso queira aprender a implementar uma notificação no Android, acesse nossos Vídeos no Youtube, temos uma PlayList sobre notificaçãos para Android.

 

 

Dados ou DataMessaging

Com o envio de uma Notificação de Dados, para que o aplicativo possa exibir para o usuário essa notificação, precisamos implementar código, pois você pode enviar dados com os nomes das chaves personalizados e com outros campos que você pode definir.

Com Mensagem de Dados o método onMessageReceived é ativado com o aplicativo funcionando em primeiro e segundo plano, ou seja, você vai ter que implementar código para ver a notificação das duas formas. O que ocorre diferente da Notificação de Mensagem.

Na Mensagem de Dados o aplicativo é responsável pelo processamento de mensagens. As mensagens de dados têm pares de chave-valor personalizados.

{  
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "data":{
      "Nome" : "Jone",
      "Sobrenome" : "Arce Franco",
      "Modulo" : "Módulo III - Notificações"
     }
}

Veja que a diferença entre o corpo dessa mensagem e a outra que vimos anteriormente é que temos um campo chamado “data” , e sendo assim podemos inserir qualquer nome para nossos identificadores, como vimos (“Nome”, “Sobrenome”, “Modulo”)

É de muita importância para o seu aprendizado acessar o link abaixo e ler o conteúdo que o próprio Firebase Disponibiliza.

https://firebase.google.com/docs/cloud-messaging/concept-options?hl=pt-br

Caso queira se aprofundar em notificações, temos um curso para te ensinar acesse o link:  https://jafapps.com.br/cursos-android/

 

Tags: | | |

Sobre o Autor

Jone Franco
Jone Franco

Desenvolvedor Mobile Nativo Android e IOS, Fundador da JAF.Apps e Instrutor na UDEMY. "Se você quer ter SUCESSO, acredite, programar é apenas uma etapa da sua jornada."

0 Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado.