Push Notification — Parte III: Implementando no Xamarin.Android

Nada melhor do que colocar em prática novos conhecimentos, então vamos iniciar a terceira parte do nosso tutorial. Se você caiu neste link direto e não está acompanhando a série já realizamos duas partes: a primeira criamos um conta no Firebase e a segunda fizemos a implementação de push notification em um iOS.

Então vamos a terceira parte da nossa série, iremos implementar um aplicativo Android que esteja preparado para receber notificações do Firebase. Para criar este app vamos manter utilizando o Xamarin mas como já dito em postagens anteriores o processo é muito semelhante usando outras tecnologias, então vamos lá!

Passo 1:

O primeiro passo é criar o projeto, iremos nomeá-lo de HelloFirebaseAndroid, como demostrado na Figura1.

Figura 1: Criando projeto Android

Em seguida definiremos a versão mínima de Android que nosso aplicativo irá rodar. Neste projeto a versão mínima será 5.0.

Figura 2: Versão mínima do aplicativo

Após criado o projeto, será apresentada uma estrutura semelhante a imagem abaixo:

Figura 3: Estrutura do projeto

Passo 2:

Com o projeto criado agora iremos baixar as bibliotecas necessárias em nosso projeto. Utilizando o Manage Nuget instale o pacote Xamarin.Firebase.Messaging, após instalação as bibliotecas estarão disponíveis na aba References, Figura 5.

Figura 4: Xamarin.Firebase.Messaging
Figura 5: Aba Reference

Passo 3:

Agora iremos inserir o arquivo disponibilizado pelo Firebase, o arquivo gerado no projeto Android, este processo você pode relembrar na parte I desta série. Na raiz do projeto adicione o arquivo google-services.json. Como no exemplo abaixo.

Figura 6: Adicionando o arquivo google-services.json

Passo 4:

Abra seu arquivo Android.Manifest e adicione o trecho abaixo entre <application> </application>, com isto seu aplicativo receberá as notificações do Firebase.

Passo 5:

Agora crie uma classe com nome de MyFireMessagingService.cs, o método OnTokenRefresh será executado sempre que um novo token for gerado. No método SendRegistrationToServer pode ser implementado de acordo com a necessidade da sua aplicação, por exemplo: armazenar o token gerado pelo Firebase em sua base de dados.

Em seguida crie outra classe denominada MyFirebaseIIDService.cs, como demonstrado abaixo. O método OnMessageReceived é executado sempre que uma notificação é enviada para o aplicativo. O objeto message contém o conteúdo da notificação, você pode tratá-lo e utilizar na lógica de sua aplicação. É possível personalizar o design da sua notificação ou até mesmo tornar sua notificação silenciosa. Se deseja ter uma notificação do tipo silenciosa basta apenas não utilizar o método SendNotificatios.

Passo 6: Criado as classes você deve registrar seu aplicativo junto ao Firebase. No MainActivity.cs dentro do método OnCreate insira o código abaixo. Caso você queira registrar seu aplicativo em um tópico utilize FirebaseMessaging.Instance.SubscribeToTopic(“nomeTopico”), se sua aplicação existir tópicos basta excluir esta linha.

Passo 7:

Agora basta compilar sua aplicação. Na parte V da nossa série será demostrado como enviar as notificações para seu aplicativo. Espero que tenham gostado. Até a próxima!