Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Firebase
Code

Firebase para Android: Notificações e Convites de Apps

by
Difficulty:IntermediateLength:MediumLanguages:

Portuguese (Português) translation by Erick Patrick (you can also view the original English article)

Ao construir um app, prover uma excelente experiência é muito importante, envolver-se com usuários novos e existentes é ainda mais importante para o sucesso a longo prazo do app. Nesse tutorial, aprenderemos como usar o Firebase para habilitar Google Cloud Messaging e enviar notificações para apps, assim como permitir usuários compartilharem o app com seus contatos que usem Android ou iOS.

Esse tutorial assume que já possuimos um projeto para Firebase preparado e temos acesso ao Console do Firebase. Para aprender como começar com Firebase para Android, veja esse nosso outro tutorial:

Notificações do Firebase

Notificações é uma formas fácil de permitir que usuários saibam de novos eventos ou recursos no app, fazendo-os abri-lo novamente. Usando Firebase, podemos enviar notificações para todos os usuários ou conjuntos de usuários, permitindo-nos customizar o que eles recebem, aumentando o interesse.

Notificações Enquanto o App Estiver em Plano de Fundo

Mostrar notificações quando o app está em plano de fundo é muito fácil, já que é feito, automaticamente pela biblioteca de Mensagens do Firebase. Na aplicação, precisaremos incluir a biblioteca com a seguinte linha no nodo dependencies do arquivo build.gradle, e instalar o app em um aparelho.

Depois, preciaremos ir ao console do Firebase e selecionar a seção Notifications na navegação esquerda do painel.

Navigating to Notifications in Firebase

Ao chegar na seção correta, veremos uma tela pedindo para enviarmos nossa primeira mensagem.

Prompt before sending your first Firebase notification

Após clicar o botão azul, seremos levados a um formulário que permitirá adicionar conteúdo a mensagens e selecionar quais grupos devem receber a mensagem. Usando esse formulário, podemos especificar condições que aparelhos ou usuários devem possuir—como localização geográfica ou qualquer outro dado—para receber a notificação.

Backgrounded app notification

Depois de enviarmos a mensagem, a notificação deve aparecer nos aparelhos do usuário.

Notificações em Primeiro Plano

Algo a notar é que as notificações não aparecerão para um usuário se ele já estiver no app. Para receber notificações nessa situação, precisamos implementar um Service que estende FirebaseMessagingService.

Também devemos incluir esse Service no arquivo AndroidManifest.xml.

Com o framework ajustado, usemos onMessageReceived na classe FirebaseMessagingService. O propósito principal desse método é receber os dados enviados no objeto RemoteMessage e criar uma Notification baseada no que foi recebido.

Há muita informação que pode ser passada com RemoteMessage. Contudo, a maioria das opções estão disponíeis apenas se usarmos a API backend do Firebase, ao invés do console. Do console do Firebase, podemos configurar um título, corpo de mensagem e pares chave/valor customizados.

Registrar todos os dados disponíveis no RemoteMessage pode ser feito assim:

Que, por sua vez, produzirá os seguintes registros.

Quando soubermos a informação disponível e como lidar com ela, podemos criar e mostrar uma notificação para os usuários.

E é isso! Devemos ser capazes de configurar um app em Android para enviar e receber notificações do console do Firebase.

Notification for foregrounded apps

Convites de App

Obter novos usuários para nosso app pode ser bem difícil, mas o boca-a-boca é a melhor maneira disso. Usando Firebase, podemos adicionar o widget de Convites de App, que permite usuários compartilhar o app por e-mail ou SMS, com outro usuário do iOS ou Android.

Abrindo Janela de Convite

Antes de usar esse recurso, precisamos importar o pacote em nosso projeto, adicionando a linha abaixo no nodo dependencies do arquivo build.gradle.

Após sincronizar o projeto, seremos capazes de criar um novo Intent usando a classe AppInviteInvitation.IntentBuilder, que abrirá uma janela permitindo usuários selecionar os contatos que mandará o convite do aplicativo. Esse construitor provê várias opções para customização da tela de convite do app:

  • setMessage: configura a mensagem que o usuário vê pode enviar para os contatos via SMS ou email. Não pode ser mais que 100 caracteres.
  • setCustomImage: com esse método, podemos prover uma URI de uma imagem customizada que aparecerá na tela de convite e no email convite.
  • setCallToActionText: Esse método configura o texto do botão de instalação nos emails. Apenas 32 caracteres.
  • setDeepLink: permite provê metadados para o convite, que podem ser recebidos na instalação para realizar ações específica para o usuário recém convidado.
  • setEmailHtmlContent: permite-nos sobrescrever setMessage, setCustomImage e setCallToAction para criar um e-mail HTML customizado para enviar para novos usuários em potencial.
  • setEmailSubject: Obrigatório se setEmailHtmlContent for usado. Como o nome implica, será o assundo do email customizado.
  • setOtherPlatformsTargetApplication: Uma das opções mais interessantes, esse método permite-nos associar um ID de cliente de App do Firebase para uma versão iOS do app, permitindo usuários iOS instalarem a versão apropriada se compartilhada por um usuário Android.

Após criar o Intent, podemos iniciá-lo com startActivityForResult para ser notificado quando usuário tiver terminado de convidar outras pessoas.

Contact picker for app invites

Recebendo Convites

Agora que podemos convidar outros usuários para nosso app, foquemos nas opções de elo profundo. Ao criarmos nosso Intent, podemos adicionar uma URI para um elo profundo. Quando um usuário recebe um convite no Android, podemos usar o Google Play Services e a API AppInvite para interceptar essa URI e realizar uma ação customizada, como apresentar uma tela de bem vindo, para o novo usuário.

Percebamos que há um boolean chamado autodeeplink. Com ele configurado como true, o sistema Android lidará, automaticamente, com o recebimento da URI usando filtros no arquivo AndroidManifest.xml. Se configurado para false, podemos usar a API AppInvite para extrair informação do convite e realizar a ação customizada.

Conclusão

Nesse tutorial, aprendemos como implementar notificações do Firebase em apps Android e como permitir usuários compartilharem apps com seus contatos. Entender o que está disponível no Firebase e como implementar os recursos gerais, ajudará bastante na construção rápidas de app que as pessoas curtirão usar.

Para aprender mais sobre desenvolvimento com Firebase ou Android em geral, veja alguns dos outros cursos e tutoriais disponíveis na Envatos Tuts+.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.