Notificações

As notificações fornecem informações breves, oportunas e relevantes relacionadas ao seu app quando ele não está em uso.

O SO Android controla muitos aspectos das notificações, mas você tem controle sobre outros. Siga estas etapas ao implementar as notificações:

  1. Entenda a anatomia de uma notificação.
  2. Escolha o tipo de notificação para seu caso de uso.
  3. Defina a categoria mais adequada ao tipo de notificação escolhido.

Takeaways

  • Pense no propósito da notificação: por que você está alertando os usuários?
  • Determine o padrão de permissão de notificações, considere a importância das notificações para o app e onde perguntar na jornada do usuário.
  • Escolha o modelo de notificação.
  • Criar conteúdo de notificação:
    • O texto do cabeçalho deve resumir a notificação de forma sucinta.
    • O texto do conteúdo deve exibir a prévia da notificação.
    • Conteúdo da imagem, se aplicável ao conteúdo do app.
    • Keyart e metadados de mídia para modelo de mídia.
  • Deixe claro o que o usuário pode fazer com uma notificação, fornecendo ações com base no conteúdo, seja com botões de texto, digitação ou controles de mídia.
  • incluir o ícone do app e definir a cor do plano de fundo;
  • Defina canais e categorias para suas notificações. Isso permite que o sistema e o usuário personalizem quais notificações recebem e fornece comportamento de prioridade.
  • Caso seu app envie várias notificações ao mesmo tempo, agrupe as notificações.
  • Confira o Kit de interface do Android no Figma para conferir modelos de notificação.

Anatomia de uma notificação

As notificações são projetadas para facilitar a verificação e o uso dos elementos mais importantes de uma notificação. Esses elementos são:

  • Conteúdo principal: constitui o elemento mais proeminente de uma notificação. As informações secundárias, como um carimbo de data/hora, são menores e consolidadas acima do conteúdo principal.
  • Pessoas: se a notificação envolver uma pessoa, um avatar se destacará do restante do conteúdo.
  • Ações: os usuários podem expandir as notificações tocando em um ícone indicador. As ações são mostradas com rótulos de texto em uma cor e um local de plano de fundo separados.
Figura 1:notificação recolhida

Cabeçalho e conteúdo da notificação

Quando recolhida, uma notificação mostra o ícone do app, o texto do cabeçalho, o carimbo de data/hora, o indicador de expansão e o texto do conteúdo. Opcionalmente, ele também pode mostrar um ícone grande.

Figura 2. Área do cabeçalho da notificação.

1 Ícone do app:o ícone do app é uma representação bidimensional da identidade do seu app. Ele aparece monocromático na barra de status. Caso seu app envie uma grande variedade de notificações, substitua o ícone do app por um símbolo para distinguir entre os diferentes tipos de notificação. Consulte Aplicar a cor do ícone para mais detalhes.

2 Texto do cabeçalho:um breve título para a notificação ou fonte, como o nome da conta dos usuários. O conteúdo é o elemento mais proeminente de uma notificação.

3 Carimbo de data/hora:indica quando uma notificação foi enviada, como o horário de uma chamada perdida.

4 Indicador de expansão:indica se a notificação está recolhida ou aberta.

5 Texto do conteúdo: informações de suporte.

6 Ícone grande (opcional): uma imagem pode ser adicionada para reforçar a notificação de uma maneira significativa, como uma mensagem que inclua um avatar do remetente.

Aplicar a cor do ícone

No Android 12 (nível 31 da API) e versões mais recentes, o sistema deriva a cor do ícone da cor da notificação definida no app. Se o app não definir a cor, ele usará a cor do tema do sistema. Antes, a cor era cinza.

Figura 3. Cor do ícone do app com estilo resultante.

Para a maioria dos estilos, o sistema vai aplicar essa cor apenas se a notificação for para uma notificação de serviço em primeiro plano. No entanto, não há esse requisito para notificações MediaStyle e DecoratedMediaCustomViewStyle com uma sessão de mídia anexada.

O snippet a seguir mostra como aplicar a cor do ícone.

val notification = Notification.Builder()
    .setColor(Color.GREEN)
    .setColorized(true)
    .setSmallIcon(R.drawable.app_icon)
    .setStyle(Notification.DecoratedCustomViewStyle())
    .build()

Ações da notificação

Figura 4. Área de ação de notificação.

1 Ações do botão de texto

2 Botões de ação preenchidos

3 respostas sugeridas

4 Campo de texto da resposta

No Android 7.0 (nível 24 da API) e versões mais recentes, o sistema mostra ações sem ícones para acomodar mais texto. Para acomodar dispositivos Android Wear e dispositivos com o Android 6.0 (nível 23 da API) e versões anteriores, seu app ainda precisa fornecer um ícone.

Visualizações expandidas

Você pode usar uma visualização expandida para mostrar mais informações ao usuário sem sair da notificação.

Quando expandida, uma notificação pode fornecer até três de qualquer um dos seguintes tipos de ações:

  • Respostas sugeridas
  • Ações em destaque (botões em forma de pílula)
  • Ações de texto padrão
Incluir ações de texto que duplicam o comportamento de tocar no corpo da notificação.
Dê ao usuário a chance de interagir com a notificação. O app Relógio do Google mostra um timer em execução, mas permite que o usuário pause ou adicione um minuto diretamente a partir da notificação.

Ativar digitação em notificações

Você permite que o usuário digite diretamente em uma notificação incluindo uma ação de resposta. Esse recurso foi criado para digitar uma pequena quantidade de texto, como responder a uma mensagem ou escrever uma anotação breve.

Para digitação em formato mais longo, leve os usuários até seu app para oferecer mais espaço para visualizar e editar texto.

Para apps de mensagens, recomendamos manter a notificação presente após o usuário enviar a resposta e aguardar até que a conversa seja pausada antes de dispensá-la automaticamente.

Figura 5:um usuário respondendo diretamente no Android Mensagens sem sair da notificação após tocar em "Responder".

Escolha o tipo de notificação de acordo com seu caso de uso

O Google usa os seguintes modelos de notificação nos apps Android. Esses modelos podem ser personalizados até certo ponto para seu app.

Confira o kit de IU do Android no Figma para ver modelos de notificação.

Modelo padrão

O modelo padrão é adequado para a maioria das notificações, permitindo texto sucinto, um ícone grande (quando aplicável) e ações.

Figura 6:modelo de notificação padrão.

Modelo de texto grande

O modelo de texto grande é ideal para exibir blocos de texto mais longo. Ele permite que o usuário visualize mais texto depois de expandir a notificação.

Figura 7:modelo de texto grande com a opção ícone grande.

Modelo de visão geral

O modelo de visão geral é projetado para notificações que contêm uma imagem. Quando recolhida, a notificação mostra uma grande miniatura de ícone da imagem. Quando expandida, a notificação mostra uma visualização muito maior.

Figura 8:modelo geral.

Modelo de progresso

O modelo de progresso foi criado para atividades iniciadas pelo usuário que levam tempo para serem concluídas. Quando aberta, uma notificação que usa esse modelo mostra uma barra de progresso e também inclui uma ação "cancelar" que permite ao usuário encerrar essa atividade. Atividades não canceláveis não garantem notificações.

Figura 9:modelo de progresso.

Modelo de mídia

O modelo de mídia foi projetado para permitir que o usuário controle a mídia que está em reprodução em um app.

  • Quando recolhida, a notificação pode exibir até três ações. O ícone grande pode mostrar uma imagem relacionada, como a capa de um álbum.
  • Quando expandida, a notificação mostra até cinco ações com uma imagem maior ou seis ações sem imagem. O plano de fundo e outros elementos da notificação herdam automaticamente as cores da imagem.
Figura 10:modelo de mídia.

Modelo de mensagens

O modelo MessagingStyle foi projetado para comunicação em tempo real. Quando expandida, uma notificação que usa esse modelo permite que o usuário responda às mensagens de dentro da notificação.

Figura 11:modelo de mensagens.

Modelo de chamada

Use o modelo CallStyle para gerar notificações em formato grande que incluem um anexo de imagem grande e indicam uma chamada recebida ou realizada.

Figura 12:modelo de chamada.

Permissões de notificação

As notificações são relevantes e oportunas, mas a maioria delas é não isenta, ou seja, o usuário precisa consentir em receber notificações do seu app.

Há uma exceção a isso: no Android 13 (nível 33 da API) e versões mais recentes, as sessões de mídia e os apps que gerenciam chamadas telefônicas estão isentos de pedir o consentimento do usuário. Apps pré-existentes também poderão estar qualificados se o usuário já tiver as notificações ativadas. Veja mais detalhes em Isenções.

É altamente recomendável que seu app ofereça opções de notificação nas configurações para permitir que os usuários atualizem as preferências de notificação.

Solicitar que o usuário ative as notificações não isentas

Para notificações não isentas, solicite que o usuário indique se quer ativar o recebimento de notificações. Os usuários que optam explicitamente por receber notificações têm chances de considerá-las mais úteis e menos invasivas.

Figura 13:solicitação do consentimento de um usuário para uma notificação de isenção fiscal

Aguarde para mostrar a solicitação da caixa de diálogo de notificação:

  • Descreva os benefícios que as notificações fornecem e o resultado de não conceder permissões para notificações.
  • Fornece uma interface contextual, relacionando a notificação aos recursos ou ao que ela afeta. Essa interface pode assumir qualquer forma para se integrar melhor ao app, como um cartão em uma taxa, página inferior ou tela de integração. Qualquer um deles precisa ser dispensado.
  • Não mostrar a caixa de diálogo de permissão de notificação se o usuário tiver dispensado a interface.

No Android 13 e versões mais recentes, os usuários podem receber novas solicitações de permissão de notificações.

Notificações obrigatórias

Os serviços em primeiro plano executam operações perceptíveis pelo usuário, mas sem interagir diretamente com o app. Esses serviços mostram uma notificação na barra de status para informar aos usuários que o app está realizando uma tarefa em primeiro plano e consumindo recursos do sistema.

Figura 14:exemplo de notificação de serviço em primeiro plano do app fitness.

Como esses processos consomem bateria e, possivelmente, dados, seu app precisa informar os usuários com uma notificação não dispensável. O usuário não pode dispensar a notificação. Portanto, é necessário fornecer uma ação para que o usuário interrompa o serviço.

O exemplo abaixo mostra uma notificação de um app fitness. O usuário iniciou uma sessão de treino ativa, que instancia um serviço em primeiro plano que monitora a sessão de treino. O app mostra a notificação para indicar que está monitorando caminhada, com uma opção de ver o treino.

Quando não usar uma notificação

Não use notificações nos seguintes casos de uso:

  • Para promoção cruzada ou publicidade de outro produto (isso é estritamente proibido pela Play Store)
  • Se o usuário nunca abriu o app
  • Como o principal método de comunicação com os usuários
  • Incentivar o usuário a retornar a um app, mas não fornecer valor direto (por exemplo, "Não vejo você há algum tempo!")
  • Para solicitações de avaliação do app
  • Para operações que não exigem envolvimento do usuário, como sincronização de informações
  • Para anunciar os estados de erro, o app pode se recuperar sem interação do usuário
  • Para mensagens de feriados ou aniversários
Envie saudações de Natal ou aniversário em forma de notificações.
Interromper o usuário no meio de uma tarefa com a única finalidade de perguntar se você está fazendo um bom trabalho.

Comportamento

Esteja ciente dos comportamentos de notificação abaixo e como processá-los em determinados contextos.

Notificação de chegada

Quando uma notificação chega, o Android a adiciona à gaveta de notificações. Dependendo dos parâmetros definidos e do estado atual do dispositivo, a notificação pode executar uma das seguintes ações:

  • Emita um som ou vibre o smartphone.
  • Mostre na barra de status com um ícone. Normalmente, é o ícone do seu app, mas se você tiver vários tipos de notificação, use um símbolo que capture a finalidade da notificação.
  • exibe como uma notificação de alerta, mostrando a tela atual para chamar a atenção do usuário.

Como sempre, o usuário pode optar por alterar os comportamentos de notificação que você definir.

Figura 15:chegada das notificações

1 Indicador de notificação na barra de status, indicando que há uma notificação na gaveta.

2 Notificação que aparece na tela atual para chamar a atenção do usuário no meio de uma tarefa.

Gaveta de notificações

A gaveta de notificações do Android normalmente mostra notificações em ordem cronológica inversa, com ajustes influenciados pelas seguintes condições:

  • A prioridade ou importância declarada da notificação do app
  • Se a notificação alertou o usuário recentemente com um som ou uma vibração
  • Qualquer pessoa anexada à notificação e se ela é um contato marcado com estrela
  • Se a notificação representa uma atividade importante em andamento, como uma chamada telefônica em andamento ou uma música tocando
  • Alterações na aparência de algumas notificações pelo SO Android na parte de cima e de baixo da lista com a adição de ênfase ou redução de ênfase, o que ajuda o usuário a verificar o conteúdo.

Gerenciar notificações desatualizadas

A gaveta de notificações foi projetada para mostrar aos usuários informações relevantes para o momento atual. Se uma notificação anterior estiver desatualizada (ou seja, não é mais relevante), dispense-a para que ela não apareça para o usuário.

Figura 16:o texto recém-recebido aparece na parte de cima da gaveta de notificações, com uma notificação de prioridade mais baixa sobre uma foto que está sendo adicionada na parte de baixo.

Novas notificações indicadas pelo selo do ícone do app

Em telas de início compatíveis em dispositivos com o Android 8.0 (nível 26 da API) e versões mais recentes, os ícones de apps mostram um ponto de notificação para indicar que o app tem uma nova notificação associada a ele. Esses pontos aparecem por padrão nos apps da tela de início com suporte a eles, e não há nada que o app precise fazer. Os selos também podem ser desativados e limitados.

Figura 17. Ponto de notificação no ícone de um app, indicando que há uma nova notificação associada a ele.

Ações que os usuários podem realizar com notificações

As notificações podem permitir que os usuários realizem qualquer uma das seguintes ações:

  • Navegar até um destino: para navegar, o usuário pode tocar em uma notificação. Se a notificação aparecer em uma tela bloqueada, o usuário vai precisar tocar duas vezes nela e inserir o PIN, o padrão ou a senha.

    Quando o usuário toca em uma notificação, seu app precisa mostrar uma interface relacionada diretamente a ela e permitir que o usuário realize uma ação imediata. Por exemplo, se a notificação informar que é a vez da pessoa em um jogo com duas pessoas, o toque nela levará o usuário diretamente para o jogo.

  • Tenha uma visualização expandida da notificação: um indicador de expansão aparecerá no cabeçalho. O usuário pode tocar no indicador ou deslizar o corpo da notificação para baixo para expandi-lo.

    Figura 18:notificação expandida.
  • Dispensar a notificação (se permitido): um usuário pode dispensá-la deslizando-a para a esquerda ou para a direita.

Notificações em andamento que indicam um processo contínuo em segundo plano, como música tocando, podem não ser dispensadas ao deslizar.

  • Adiar uma notificação de alerta: um usuário pode deslizar para cima em uma notificação de alerta, e nenhuma outra notificação desse evento será pulsada por um minuto.

  • Controlar notificações semelhantes no futuro: os usuários podem acessar os controles de notificação:

    • Tocar e segurar uma notificação individual
    • Deslizar a notificação para a esquerda ou direita e tocar no ícone de configurações

Os controles exibidos variam de acordo com a versão do Android e se o app tem canais para as notificações (a partir do Android 8.0).

Agrupar várias notificações

Para apps que geram várias notificações do mesmo tipo, o Android oferece agrupamento de notificações para evitar sobrecarregar os usuários.

Seu app pode apresentar várias notificações de acordo com a hierarquia a seguir.

  • Uma notificação mãe exibe um resumo das notificações filhas.
  • Se o usuário expandir a notificação mãe, o Android revelará todas as notificações da filha.
  • Um usuário pode expandir uma notificação filha para revelar todo o conteúdo dela.

O Android apresenta notificações para crianças sem informações de cabeçalho duplicadas. Por exemplo, se uma notificação filha tiver o mesmo ícone de app da mãe, o cabeçalho dela não vai incluir um ícone.

As notificações para crianças precisam ser compreensíveis quando exibidas sozinhas, já que o sistema poderá mostrá-las fora do grupo quando elas chegarem.

Figura 19:visualizações agrupadas e recolhidas.

Configurações

Canais

A partir do Android 8.0 (API de nível 26), todas as notificações precisam ser atribuídas a um canal. Para cada canal, você pode definir o comportamento visual e auditivo aplicado a todas as notificações dele. Os usuários podem mudar essas configurações e decidir quais canais de notificação do app podem ser invasivos ou visíveis.

Para detalhes sobre como implementar esse comportamento, consulte Criar e gerenciar canais de notificação.

A importância precisa ser escolhida com consideração pelo tempo e atenção do usuário. Quando uma notificação não importante está disfarçada de urgente, ela pode produzir um alarme desnecessário.

Importância Comportamento Uso Exemplos
HIGH Emite um som e aparece na tela Informações urgentes que o usuário precisa saber ou agir imediatamente Mensagens de texto, alarmes, chamadas telefônicas
DEFAULT Emite um som Informações que precisam ser vistas o quanto antes para o usuário, mas sem interromper o que ele está fazendo. Alertas de trânsito, lembretes de tarefas
LOW Sem som Canais de notificação que não atendem aos requisitos dos outros níveis de importância Novo conteúdo em que o usuário se inscreveu, convites para redes sociais
MIN Sem som ou interrupção visual Informações não essenciais que podem aguardar ou que não são especificamente relevantes para o usuário Locais de interesse por perto, clima, conteúdo promocional

Categorias predefinidas

Se estiver usando canais ou não, atribua cada notificação individual à categoria predefinida mais adequada. O Android pode usar essas informações para tomar decisões de classificação e filtragem.

Categoria Descrição
CATEGORY_CALL Ligação recebida (voz ou vídeo) ou solicitação semelhante de comunicação síncrona
CATEGORY_MESSAGE Mensagem direta recebida (SMS, mensagem instantânea etc.)
CATEGORY_EMAIL Mensagens em lote assíncronas (e-mail)
CATEGORY_EVENT Evento da agenda
CATEGORY_PROMO Promoção ou publicidade
CATEGORY_ALARM Alarme ou cronômetro
CATEGORY_PROGRESS Andamento de uma operação em segundo plano de execução longa
CATEGORY_SOCIAL Atualização de rede social ou compartilhamento
CATEGORY_ERROR Erro em operação de segundo plano ou status de autenticação
CATEGORY_TRANSPORT Controle de transporte de mídia para reprodução
CATEGORY_SYSTEM Atualização do sistema ou do status do dispositivo. Reservado para uso do sistema.
CATEGORY_SERVICE Indicação de serviço de segundo plano em execução
CATEGORY_RECOMMENDATION Uma recomendação específica e oportuna para uma única coisa. Por exemplo, um app de notícias pode recomendar uma matéria que o usuário possa querer ler em seguida.
CATEGORY_STATUS Informações contínuas sobre o dispositivo ou status contextual

Notificações na tela de bloqueio

Se um usuário tiver optado por mostrar notificações quando a tela estiver bloqueada, essas notificações poderão ocultar qualquer conteúdo marcado pelo app como sensível. O Android avalia o nível de visibilidade de cada notificação para determinar o que pode ser mostrado com segurança.

Definir a sensibilidade do conteúdo nas telas de bloqueio

A privacidade do usuário é extremamente importante. Portanto, esteja ciente de que há diferentes níveis de notificação que podem ser visualizados na tela de bloqueio. Para cada notificação criada, defina o nível de visibilidade como public, private ou secret.

  • As notificações públicas ficam totalmente visíveis em telas de bloqueio seguras.
  • As notificações de secret ficam ocultas.
  • As notificações particulares ficam no meio: elas mostram apenas informações básicas, incluindo o nome do app que a postou e o ícone dele. Em vez do conteúdo normal, que está oculto, você tem a opção de mostrar textos que não revelam informações pessoais, como 2 new messages.

No exemplo a seguir, as notificações da tela de bloqueio para os apps Gmail e Fotos mostram todo o conteúdo depois que o usuário opta por mostrar essas informações na tela de bloqueio.

Figura 20. Tela de bloqueio com diferentes níveis de sensibilidade.

1 Todo o conteúdo das notificações mostrado na tela de bloqueio

2 Conteúdo sensível de notificações oculto na tela de bloqueio

Estilo

Texto claro e conciso

O Android trunca os títulos de conteúdo em uma única linha (mesmo quando expandido).

Um bom título de conteúdo segue estas diretrizes:

  • Não pode ter mais de 30 caracteres
  • Contém as informações mais importantes
  • Evita variáveis (a menos que contenham um número ou uma string de texto curta ou sejam precedidas de texto)
  • Exclui o nome do app, que já aparece no cabeçalho
Mostre o nome do app no título do conteúdo, que é redundante com a área do cabeçalho e usa caracteres disponíveis.
Mostrar as informações mais importantes no título do conteúdo.

Um bom texto de conteúdo segue estas diretrizes:

  • Evita exceder o limite de 40 caracteres
  • Evita repetir o que está no título do conteúdo

O ícone grande

Use o ícone grande para casos de uso em que as imagens reforçam significativamente o conteúdo da notificação. Por exemplo:

  • Comunicações de outra pessoa, como a imagem de alguém enviando uma mensagem
  • A origem do conteúdo, se ele for diferente do app que envia a notificação, como o logotipo de um canal do YouTube em que um usuário está inscrito.
  • Símbolos significativos sobre a notificação, como uma seta para rotas de carro

Ícones grandes precisam ser circulares ao mostrar uma pessoa, mas quadrados em todos os outros casos.

Use o ícone grande para branding.
Use o ícone grande para reforçar o conteúdo da notificação de maneira significativa, como a foto de uma pessoa que está sendo exibida anexada a uma notificação de mensagem.

Atualizações de versões do Android

A interface do sistema de notificação do Android e as APIs relacionadas a notificações estão em constante evolução. Para ver uma lista dessas mudanças, confira a compatibilidade com notificações.

Considerações sobre a plataforma

Wear

Se o usuário tiver um dispositivo Wear OS pareado, todas as suas notificações vão aparecer nele automaticamente, incluindo detalhes expansíveis e botões de ação. Para mais detalhes, consulte a página de design para notificações no Wear (link em inglês).