Pular para o conteúdo principal

Notificações push

6 min de leituraAtualizado em 27 out. 2026

Quando o atendente, a IA ou o sistema responde e o cliente está fora do chat, a Atalia avisa o aparelho. O toque na notificação abre o chat direto na conversa.

Notificação no Android com o ícone de balão, o título Ana e o texto Seu pedido saiu para entrega.
No Android: o título é quem respondeu, o texto é a mensagem.
React Native e Expo

Ligue no painel como explicado aqui. A preparação do projeto (bibliotecas, app.json, permissão e código) está em React Native e Expo.

Quem faz o quê​

A Atalia decide quando notificar e monta a notificação. A entrega vai por um de dois caminhos, que você escolhe no painel.

EtapaA AtaliaO seu app
Decidir se avisaSó com o cliente fora do chat. Junta uma sequência de mensagens numa notificação só. Nunca manda a mesma mensagem duas vezes.
Montar a notificaçãoTítulo (nome do atendente ou do atendimento), texto, número no ícone e os dados para abrir a conversa.
EntregarPelo Firebase do seu app (esta página), ou avisando o seu backend por webhook.Passa o token do aparelho ao SDK.
Abrir a conversa no toqueRepassa a notificação ao SDK.

Quando a Atalia avisa​

  • Só com o cliente fora do chat. Com o chat aberto na tela, a mensagem já aparece nele.
  • Uma notificação por rajada. A Atalia espera alguns segundos (5 por padrão) antes de avisar. A IA costuma mandar várias mensagens seguidas, e elas viram uma notificação só, com o total de novas.
  • Uma notificação por conversa. A nova substitui a anterior da mesma conversa na bandeja.
  • Quem gera notificação você escolhe no painel: atendente, agente de IA, bot de fluxo e mensagens do sistema (essas desligadas por padrão).
  • Texto na tela bloqueada: a mensagem, ou só "Você tem uma nova mensagem", para atendimento com dados sensíveis.

1. Ligar no painel​

No painel da Atalia, abra o canal de webchat em Editar canal, aba Instalação, seção App mobile e notificações push:

  1. Ligue Avisar por notificação quando chegar mensagem.
  2. Ligue Enviar pelo Firebase do seu app e envie a conta de serviço do Firebase (no Firebase: Configurações do projeto › Contas de serviço › Gerar nova chave privada). A Atalia confere a conta com o Google antes de gravar.
  3. Escolha quem gera notificação, o texto na tela bloqueada e quanto tempo esperar antes de avisar, e clique em Salvar, no topo da página.

Só administradores alteram essa seção. Ela aparece em todo canal de webchat.

2. Preparar o Firebase​

Adicione o Firebase Cloud Messaging ao app, como em qualquer push do Firebase (o google-services.json e a dependência firebase-messaging).

3. Repassar o token e as notificações ao SDK​

MeuMessagingService.kt
class MeuMessagingService : FirebaseMessagingService() {
override fun onNewToken(token: String) {
Atalia.setPushToken(token)
}

// Com o app aberto, o Firebase não mostra nada sozinho: quem mostra é o SDK.
override fun onMessageReceived(message: RemoteMessage) {
val notification = message.notification
if (Atalia.handleNotification(this, message.data, notification?.title, notification?.body)) return
// ...as notificações do seu app
}
}

Ao abrir o app, envie também o token atual:

Kotlin
FirebaseMessaging.getInstance().token.addOnSuccessListener { Atalia.setPushToken(it) }

Com o app em segundo plano, quem mostra a notificação é o Android, e o toque abre a activity de entrada do app. Passe o intent ao SDK, que abre o chat na conversa:

MainActivity.kt
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Atalia.handleNotificationTap(this, intent)
}

override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)
Atalia.handleNotificationTap(this, intent)
}
  • Android 13 ou mais novo: declare POST_NOTIFICATIONS no manifest e peça a permissão ao usuário. Sem ela, nenhuma notificação aparece.
  • Ícone: AtaliaOptions(notificationIcon = R.drawable.ic_notificacao) vale para o app aberto. Com o app em segundo plano, o ícone vem do com.google.firebase.messaging.default_notification_icon do manifest, como em qualquer push do Firebase.
  • O SDK cria o canal de notificação "Mensagens do atendimento" (atalia_chat).

O SDK reconhece as notificações da Atalia pela chave atalia nos dados. As do seu app passam direto: handleNotification e handleNotificationTap devolvem false, e presentationOptions(for:) devolve nil, para você tratar como sempre.

Login, logout e desligar​

O SDK registra o aparelho na Atalia e o acompanha sozinho:

  • No identify, o aparelho passa a receber as notificações do usuário identificado, em qualquer aparelho em que ele estiver logado.
  • No logout, o aparelho volta como visitante anônimo: quem usar o app depois não recebe as mensagens do usuário anterior.
  • Para tirar o aparelho (o usuário desligou as notificações do atendimento no seu app), chame Atalia.clearPushToken().

Número no ícone e notificações lidas​

O número no ícone do app vem da Atalia: são as não lidas do cliente. Quando ele lê tudo, as notificações da Atalia saem da bandeja (Android) e da Central de Notificações (iOS). As do seu app ficam.

No Android, a bolinha do ícone vem das notificações na bandeja: saindo as notificações, sai a bolinha.

Testar​

No painel, a lista Aparelhos com o app mostra os aparelhos registrados, com o botão Enviar teste em cada um. A notificação de teste abre o chat sem conversa. Em Últimas notificações, o painel mostra o que a Atalia decidiu e entregou nos últimos dias, com o motivo quando não avisou (por exemplo, o cliente estava no chat).

Para o caminho completo, deixe o app em segundo plano e responda pela caixa de entrada da Atalia: a notificação chega depois da espera configurada.