Notification Action em aplicativos móveis: o que é, variedades e configuração

Autor: IT Sectr Publicado: 2026-03-21 Tempo de leitura: 8 min

Notification Action — botões interativos e campos de entrada que aparecem diretamente em uma notificação push e permitem que o usuário execute uma ação sem abrir o aplicativo. É um elemento-chave da experiência do usuário, encurtando o caminho até a tela de destino. De acordo com Android Developers, 2025, o Notification Action aumenta o engajamento do usuário em até 40% ao reduzir o atrito na interação.

Principais pontos

  • Notification Action — elemento interativo em notificações push para execução rápida de tarefas.
  • No Android, as ações são implementadas via PendingIntent e NotificationCompat.Action.Builder.
  • No iOS, as ações são configuradas via UNNotificationAction e UNNotificationCategory.
  • Botões, entrada de texto, marcação como concluído e ações adiadas são suportados.
  • Cada ação deve ser tratada no callback do aplicativo ao ser tocada.

O que é Notification Action

Notification Action é um elemento interativo de interface adicionado a uma notificação push para executar uma ação específica. O usuário pode responder a uma mensagem, confirmar uma tarefa ou abrir uma tela específica sem entrar no aplicativo. As ações aparecem como botões abaixo do texto da notificação ou em uma visualização expandida ao deslizar.

Por que as ações em notificações são necessárias

O principal objetivo do Notification Action é reduzir o número de etapas para o usuário atingir seu objetivo. Em vez de abrir o aplicativo e navegar até a tela desejada, o usuário pressiona um único botão. Pesquisas mostram que aplicativos com notificações interativas demonstram 25–40% mais engajamento em comparação com notificações simples.

Representação visual em diferentes plataformas

No Android, as Notification Actions são exibidas como botões de ícone na visualização compacta e botões de texto no modo expansível. No iOS, as ações aparecem ao pressionar longamente a notificação ou deslizar para a esquerda. Cada plataforma tem suas próprias recomendações quanto ao número de ações — o Android recomenda no máximo 3, o iOS no máximo 4.

PlataformaMáx. açõesMétodo de exibiçãoTipos de ações
Android3Ícones + TextoBotões, Entrada de texto
iOS4Pressão longa / DeslizarBotões, Entrada de texto

Notification Action no Android

No Android, as Notification Actions são criadas através do NotificationCompat.Builder usando o método addAction(). Cada ação contém um ícone, texto e PendingIntent que é acionado ao tocar. A partir do Android 7.0 (API 24), a entrada direta de texto via RemoteInput é suportada.

Criando uma ação básica

Para criar um botão em uma notificação, é necessário definir um PendingIntent que será lançado ao tocar. O PendingIntent pode abrir uma Activity, iniciar um Service ou BroadcastReceiver. O ícone da ação deve ser monocromático e estar em conformidade com o Material Design.

kotlin
val acceptIntent = Intent(context, AcceptActionReceiver::class.java)
acceptIntent.putExtra("notification_id", notificationId)

val acceptPendingIntent = PendingIntent.getBroadcast(
    context, requestCode,
    acceptIntent, PendingIntent.FLAG_UPDATE_CURRENT
)

val notification = NotificationCompat.Builder(context, CHANNEL_ID)
    .setSmallIcon(R.drawable.ic_notification)
    .setContentTitle("Solicitação de confirmação")
    .setContentText("Confirme a conclusão da tarefa")
    .addAction(R.drawable.ic_accept, "Confirmar", acceptPendingIntent)
    .build()

Ação com entrada de texto (RemoteInput)

Para cenários que exigem entrada de texto (por exemplo, responder a uma mensagem), o Android fornece RemoteInput. O usuário digita o texto diretamente na notificação e o aplicativo o recebe sem abrir uma Activity. O RemoteInput é suportado no Android 7.0+ e requer tratamento explícito em um BroadcastReceiver ou Service.

kotlin
val remoteInput = RemoteInput.Builder("reply_input")
    .setLabel("Insira a resposta")
    .build()

val replyAction = NotificationCompat.Action.Builder(
    R.drawable.ic_reply, "Responder", replyPendingIntent
)
    .addRemoteInput(remoteInput)
    .build()

val notification = NotificationCompat.Builder(context, CHANNEL_ID)
    .addAction(replyAction)
    .build()

Tratamento de ações no Android

Quando uma ação é tocada, o sistema lança o PendingIntent especificado. Para recuperar o texto inserido via RemoteInput, chame RemoteInput.getResultsFromIntent(intent). Recomenda-se tratar as ações em IntentService ou WorkManager para não bloquear a thread da UI.

Notification Action no iOS

No iOS, as Notification Actions são implementadas através do framework UserNotifications. O desenvolvedor cria categorias de ações (UNNotificationCategory) e as registra na inicialização do aplicativo. Cada ação é definida por um objeto UNNotificationAction com um identificador único.

Configuração de categorias e ações no iOS

Para adicionar ações a notificações push no iOS, é necessário criar uma categoria que agrupe as ações relacionadas. A categoria é especificada no payload da notificação através do campo category. Ao receber uma notificação, o sistema exibe as ações disponíveis da categoria especificada.

swift
import UserNotifications

class NotificationSetup {

    func registerNotificationCategories() {
        let approveAction = UNNotificationAction(
            identifier: "APPROVE_ACTION",
            title: "Aprovar",
            options: [.foreground]
        )

        let declineAction = UNNotificationAction(
            identifier: "DECLINE_ACTION",
            title: "Recusar",
            options: [.destructive]
        )

        let category = UNNotificationCategory(
            identifier: "REQUEST_CATEGORY",
            actions: [approveAction, declineAction],
            intentIdentifiers: [],
            options: []
        )

        UNUserNotificationCenter.current()
            .setNotificationCategories([category])
    }
}

Tratamento de ações no iOS

Quando o usuário toca em uma ação, o sistema chama o método userNotificationCenter:didReceiveNotificationResponse no delegate do UNUserNotificationCenter. O response.actionIdentifier contém o identificador da ação executada. Para entrada de texto, é usado o UNTextInputNotificationAction, que fornece o texto inserido pelo usuário.

swift
extension AppDelegate: UNUserNotificationCenterDelegate {

    func userNotificationCenter(
        center: UNUserNotificationCenter,
        didReceive response: UNNotificationResponse,
        withCompletionHandler completionHandler: @escaping () -> Void
    ) {
        switch response.actionIdentifier {
        case "APPROVE_ACTION":
            Log.d("Action: approved")
        case "DECLINE_ACTION":
            Log.d("Action: declined")
        case UNNotificationDefaultActionIdentifier:
            Log.d("Action: opened app")
        default:
            break
        }
        completionHandler()
    }
}

Tipos e cenários de Notification Action

Notification Action é classificado por tipo de interação e cenário de uso. A escolha correta do tipo de ação afeta diretamente a experiência do usuário e a conversão para a ação alvo.

Botões com abertura do aplicativo

O tipo mais comum — um botão que abre o aplicativo em uma tela específica. No Android, usa-se PendingIntent.getActivity(), no iOS — a opção .foreground do UNNotificationAction. Usado para ações que exigem uma interface completa, como visualizar detalhes do pedido.

Ações em segundo plano

Ações executadas sem abrir o aplicativo. No Android, usa-se PendingIntent.getBroadcast() ou PendingIntent.getService(). No iOS — a opção .authenticationRequired ou sem .foreground. Exemplos: marcar tarefa como concluída, curtir uma postagem, adicionar aos favoritos.

Entrada de texto

Permite que o usuário insira texto diretamente na notificação. No Android, implementado via RemoteInput, no iOS — via UNTextInputNotificationAction. Usado para responder mensagens, comentários, inserir códigos de confirmação de uso único.

Ações destrutivas

Ações que alteram dados de forma irreversível — exclusão, rejeição, bloqueio. No Android, são destacadas visualmente (cor vermelha em alguns sistemas), no iOS exigem a opção .destructive. Recomenda-se solicitar confirmação para ações destrutivas, por exemplo através de um diálogo adicional ou um segundo toque.

Ações de entrada com inserção de texto

Uma classe separada de ações — inserção de texto diretamente da notificação. No Android, isso é implementado via RemoteInput em combinação com PendingIntent. No iOS, é usado UNTextInputNotificationAction, que herda de UNNotificationAction. Tais ações são usadas para respostas rápidas em mensageiros, inserção de códigos promocionais, preenchimento de formulários de feedback ou avaliação de qualidade de serviço. O texto inserido é passado para o aplicativo junto com o identificador da ação. Para o tratamento correto da entrada de texto em ambas as plataformas, é necessário implementar a análise dos dados inseridos e validação antes de executar a ação alvo.

Tratamento de toques e registro

O tratamento correto de Notification Action é crítico para análises e experiência do usuário. Cada toque deve ser registrado e a ação deve ser executada de forma confiável mesmo se o aplicativo estiver fechado.

Análise e rastreamento

Rastreie cada toque em Notification Action através do seu sistema de análise. Firebase Analytics, Mixpanel ou Yandex.Metrica permitem registrar o identificador da ação, hora do toque e contexto da notificação. Esses dados ajudam a otimizar sua estratégia de notificações e aumentar o engajamento. Testes A/B com diferentes conjuntos de ações ajudam a identificar os cenários de interação mais eficazes com o usuário.

Tratamento confiável quando o aplicativo está fechado

Se o aplicativo estiver fechado, o sistema ainda entrega o Intent ou UNNotificationResponse ao tocar em uma ação. No Android, use um BroadcastReceiver para tratamento garantido. No iOS, o sistema inicia o aplicativo em segundo plano e passa a resposta ao delegate. Para ações críticas (confirmação de pagamento, autorização), adicione um mecanismo de nova tentativa e notifique o usuário sobre a conclusão bem-sucedida.

Personalização visual de botões no Android

A partir do Android 7.0, o desenvolvedor pode influenciar a aparência do Notification Action através de ícones e cores. Os ícones devem ser monocromáticos (canal alfa), tamanho 24x24 dp. No iOS, a personalização de botões é limitada — usam-se cores e fontes do sistema. Material Design recomenda agrupar ações por prioridade: a ação mais importante primeiro, as destrutivas por último.

Perguntas frequentes

Quantas ações podem ser adicionadas a uma única notificação?

O Android recomenda no máximo 3 ações, o iOS — até 4. Exceder o limite faz com que algumas ações não sejam exibidas ou fiquem ocultas em um submenu.

Como adicionar um ícone para Notification Action no Android?

O ícone é passado em NotificationCompat.Action.Builder como um recurso drawable. O ícone deve ser monocromático (canal alfa), tamanho 24x24 dp e estar em conformidade com as diretrizes do Material Design.

As Notification Actions funcionam na tela bloqueada?

Sim, se a notificação for exibida na tela bloqueada e o sinalizador visibility estiver definido como VISIBILITY_PUBLIC. No iOS, a opção .authenticationRequired é necessária para ações que exigem autorização.

Como lidar com um toque em uma ação se o aplicativo foi removido da memória?

No Android, o sistema recria o processo e entrega o Intent. No iOS, o sistema inicia o aplicativo em segundo plano. A entrega garantida pode ser alcançada usando BroadcastReceiver no Android e UNNotificationServiceExtension no iOS.

Como a experiência do usuário das ações difere entre Android e iOS?

No Android, as ações são visíveis diretamente abaixo da notificação como ícones. No iOS, as ações estão ocultas atrás de uma pressão longa ou deslize. O design de UX das notificações deve considerar essas diferenças de plataforma.

Resumo

  • Notification Action — botões e campos de entrada em notificações push para interação rápida.
  • No Android, as ações são criadas via NotificationCompat.Action com PendingIntent.
  • No iOS, as ações são definidas via UNNotificationAction com registro de categoria.
  • A entrada de texto é implementada via RemoteInput (Android) ou UNTextInputNotificationAction (iOS).
  • Número máximo de ações — 3 para Android, 4 para iOS.
  • Cada ação deve ser registrada em um sistema de análise para otimização de notificações.
  • Para tratamento confiável, use BroadcastReceiver no Android e AppDelegate no iOS.

Vamos desenvolver um aplicativo móvel chave na mão

A IT Sectr cria aplicativos para iOS e Android para startups e empresas desde 2017. Nós vamos aconselhá-lo e propor a melhor solução.

Discutir o projeto

Leia também