Artigos de Tecnologia e Negócios > Mobile

O que é Push Notification?

Alex Felipe
Alex Felipe

Temos uma App Android que permitirá que os usuários consigam realizar compras via celular. A primeira tela para essa App é justamente exibir todos os livros disponíveis na Casa do Código:

projeto-cdc-tela-principal

Atualmente, para que o cliente consiga verificar se tem algum livro novo disponível para compra, ele precisa ir no menu e escolher a opção "novidades".

projeto-cdc-menu

Podemos ver claramente o fluxo dessa funcionalidade a partir do diagrama abaixo:

diagrama_de_cliente_servidor

A princípio, não há problema, certo? Entretanto, para o usuário, faz sentido ele ter que ficar verificando todas as vezes se existe um novo livro? E se não tiver um livro novo? Vai ficar perdendo tempo... Além de ser cansativo, temos 2 pontos mais graves nessa funcionalidade:

Considerando apenas esses 2 problemas, qual solução você daria?

Que tal criar um sistema de notificação? Aparentemente, é uma ótima solução, porém, como faríamos isso? Adicionaríamos uma task em background para ficar rodando em intervalos e ficar consultando o servidor?

É uma possível "solução", porém, ainda não resolve totalmente o nosso problema, pois ainda estaremos consumindo os dados e a bateria do usuário de acordo com o intervalo que configurarmos para realizar as requisições. Podemos até mesmo pensar que, "aumentar o intervalo da task pode diminuir esse problema".

Pode até diminuir os problemas citados acima, entretanto, se, por exemplo, a casa do código lançar um novo livro com algum tipo de promoção imperdível e temporária, e então, devido ao longo intervalo para realizar as verificações, o nosso sistema de notificação não faz a requisição ao servidor e, durante esse tempo, a promoção se esgota... Será que o nosso usuário ficará contente? Provavelmente não...

Além disso, imagine se existir milhares de usuários com a App instalada, e, por alguma coincidência, o sistema de notificação de cada celular fizer a verificação ao mesmo tempo. Com certeza correremos um grande risco do nosso sistema receber diversas requisições e entrar num estado de pico ou até mesmo cair.

Em outras palavras, com essa "solução", sem querer, podemos realizar algo bem similar a um DDoS no nosso sistema, ou seja, derrubar o nosso servidor devido a uma quantidade de carga maior do que ele suporta.

Então como poderíamos resolver esse problema? Que tal, ao invés da própria App requisitar o servidor, fazer com que ela seja o receptor, e então, o servidor mandar as requisições para a App? Por exemplo:

diagrama_server_cliente

Observe que no diagrama acima, o servidor que está enviando uma mensagem para o cliente, ou seja, ele que está mandando requisições para o cliente. Será que isso é possível? Sim, é possível! :D

Essa abordagem de fazer com que a App seja receptora, isto é, fique esperando requisições, chamamos de Push Notification. Atualmente, existem algumas plataformas que nos oferecem esses serviços mensageiros como o GCM (Google Cloud Messaging), porém, esse mesmo serviço está sofrendo sofreu um upgrade para o Firebase.

E aí, o que achou do push notification? Está ansioso para implementá-lo na sua App? Então dê uma olhada no post tutorial onde mostro, passo-a-passo, como podemos configurar o Firebase e integrar um Push Notification em uma App Android.

Que tal aprender a desenvolver uma App Android desde o zero hoje mesmo? Na Alura, temos uma formação Android, onde você será capaz de construir suas próprias Apps do começo ao fim!

Leia também:

Artigos de Tecnologia e Negócios > Mobile

Cursos profissionais de Mobile é na Alura, comece agora!

  • 971 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

Premium

  • 971 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$75
à vista R$900
Matricule-se

Premium Plus

  • 971 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$100
à vista R$1.200
Matricule-se

Max

  • 971 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$120
à vista R$1.440
Matricule-se
Procurando planos para empresas?
Acesso por 1 ano
Estude 24h/dia onde e quando quiser
Novos cursos toda semana