Notificações Push
Definição
Notificações Push são mensagens enviadas por um servidor a um aplicativo, mesmo quando ele não está aberto no dispositivo. Elas aparecem como alertas, banners ou mensagens no sistema, permitindo uma comunicação em tempo real com o usuário.
Esse mecanismo é utilizado para enviar informações importantes, como lembretes, promoções, interações sociais ou atualizações — mantendo o usuário engajado com o app mesmo fora do contexto de uso ativo.
No Android, as notificações push geralmente são gerenciadas via Firebase Cloud Messaging (FCM). No iOS, utiliza-se o Apple Push Notification Service (APNS).
Objetivos das Notificações Push
- Reengajar o usuário com conteúdo relevante e oportuno.
- Transmitir informações importantes em tempo real, mesmo com o app em segundo plano.
- Melhorar a retenção e a recorrência de uso do app.
- Evitar o uso de polling contínuo (verificações frequentes no servidor em busca de atualizações), reduzindo o consumo de bateria e rede.
Exemplo prático (Java — Android com FCM)
A classe abaixo implementa um serviço que escuta e processa mensagens recebidas por push:
import com.google.firebase.messaging.FirebaseMessagingService;
import com.google.firebase.messaging.RemoteMessage;
import android.util.Log;
public class MyFirebaseService extends FirebaseMessagingService {
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
if (remoteMessage.getNotification() != null) {
String titulo = remoteMessage.getNotification().getTitle();
String corpo = remoteMessage.getNotification().getBody();
Log.d("Push", "Notificação recebida: " + titulo + " - " + corpo);
// Aqui você pode exibir uma notificação ou processar os dados
}
}
}
Para que o Android reconheça esse serviço, é necessário registrá-lo no arquivo AndroidManifest.xml
:
<service
android:name=".MyFirebaseService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
Esse registro informa ao sistema que a classe MyFirebaseService
está apta a receber mensagens do Firebase Cloud Messaging (FCM).
Tipos de notificação
- Notificações de exibição automática (notification): contêm título e corpo. São exibidas automaticamente pelo sistema, mesmo quando o app está em segundo plano.
- Notificações baseadas em dados (data): são entregues silenciosamente ao app, que pode decidir como processá-las e quando exibi-las.
- Notificações interativas: podem incluir botões, imagens ou ações customizadas, como abrir uma tela específica no app.
Boas práticas
- Envie notificações relevantes e oportunas, evitando conteúdo genérico ou excessivo.
- Utilize canais de notificação para agrupar e categorizar mensagens.
- Respeite os horários e preferências do usuário, evitando envio em horários sensíveis.
- Permita que o usuário configure quais tipos de notificações deseja receber.
- Acompanhe métricas de engajamento, como taxa de abertura e rejeição.
O ciclo da notificação push
[Servidor envia notificação]
--> Serviço de nuvem (FCM ou APNS) processa a mensagem
--> Dispositivo recebe a notificação
--> App exibe ou trata o conteúdo, conforme necessário