Notificações

<img <="" alt="" picture="" src="/static/images/design/ui/mobile/notifications-hero.png" />

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ê controla outros aspectos. Siga estas etapas ao implementar as notificações:

  1. Entender a anatomia de uma notificação
  2. Escolha o tipo de notificação para seu caso de uso.
  3. Defina a categoria que se alinha 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 das notificações, considere a importância das elas 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 maneira sucinta.
    • O texto do conteúdo deve dar uma prévia da notificação.
    • Conteúdo da imagem, se aplicável ao conteúdo do app.
    • Keyart de mídia e metadados 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 prioritário.
  • Caso seu app envie várias notificações ao mesmo tempo, agrupe as notificações.
  • Confira o Kit de IU do Android no Figma para ver modelos de notificação.

Anatomia de uma notificação

As notificações foram criadas 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 fechada

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 em monocromático na barra de status. Se o app envia uma grande variedade de notificações, considere substituir o ícone por um símbolo para distinguir os diferentes tipos de notificação. Consulte Aplicar a cor do ícone para mais detalhes.

2 Texto do cabeçalho:um breve título da notificação ou origem, 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á em um estado recolhido ou aberto.

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

6 Ícone grande (opcional): uma imagem pode ser adicionada para reforçar a notificação de 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 determina a cor do ícone usando a cor da notificação definida no app. Se o app não definir a cor, ele vai 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 só vai aplicar essa cor se a notificação for para uma notificação de serviço em primeiro plano. No entanto, esse requisito não existe para as notificações MediaStyle e DecoratedMediaCustomViewStyle que têm 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 da 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 (API de nível 23) 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 dos seguintes tipos de ações:

  • Respostas sugeridas
  • Ações destacadas (botões em forma de pílula)
  • Ações de texto padrão
Incluir ações de texto que dupliquem 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 pela 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 breve anotação.

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

Para apps de mensagens, recomendamos manter a notificação presente depois que 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 depois de 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 o seu app.

Confira o kit de IU do Android no Figma para ver os 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 ícone de opção grande.

Modelo de visão geral

O modelo de visão geral foi criado para notificações que contêm uma imagem. Quando fechada, a notificação mostra uma miniatura de ícone grande 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 projetado 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á sendo reproduzida no momento em um app.

  • Quando fechada, 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 exibe 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 as cores da imagem automaticamente.
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 tem isenção, ou seja, o usuário precisa consentir com o recebimento de notificações do seu app.

Há uma exceção: no Android 13 (nível 33 da API) e versões mais recentes, sessões de mídia e apps que gerenciam chamadas telefônicas estão isentos de pedir o consentimento do usuário. Apps pré-existentes também poderão ser qualificados se o usuário já tiver ativado as notificações. 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.

Pedir que o usuário ative as notificações sem isenção

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 provavelmente as consideram mais úteis e menos invasivas.

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

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 elas.
  • Forneça uma interface contextual, relacionando a notificação aos recursos ou ao que ela afeta. Essa interface pode assumir qualquer formato 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ções se o usuário tiver dispensado a interface.

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

Notificações obrigatórias

Os serviços em primeiro plano realizam operações perceptíveis pelo usuário, mas não interagem 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 usam 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, você precisa oferecer uma ação para que o usuário interrompa o serviço.

O exemplo a seguir 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 monitorando 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 para nenhum dos seguintes casos de uso:

  • Para promoção cruzada ou publicidade de outro produto, o que é 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 nenhum valor direto (por exemplo, "Não vejo você há algum tempo!")
  • Para solicitações para avaliar seu app
  • Para operações que não exigem envolvimento do usuário, como sincronização de informações
  • Para anunciar os estados de erro de que o app pode se recuperar sem interação do usuário
  • Para mensagens de datas comemorativas ou aniversários
Envie saudações de fim de ano ou de aniversário na forma de notificações.
Interromper o usuário no meio de uma tarefa com o único propósito de perguntar se você está fazendo um bom trabalho.

Comportamento

Esteja ciente dos comportamentos de notificação abaixo e de como lidar com eles em determinados contextos.

Recebimento de notificações

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 realizar uma destas ações:

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

Como sempre, o usuário pode escolher alterar os comportamentos de notificação definidos.

Figura 15:chegada de notificações

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

2 Notificação aparecendo 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 no Android geralmente mostra notificações em ordem cronológica inversa, com ajustes influenciados pelas seguintes condições:

  • A prioridade ou importância declarada de notificações do app
  • Se a notificação alertou o usuário recentemente com um som ou uma vibração
  • As pessoas anexadas à notificação e se são contatos marcados com estrela
  • Se a notificação representa uma atividade importante em andamento, como uma chamada telefônica ou música tocando.
  • Alterações na aparência de algumas notificações pelo SO Android na parte superior e inferior da lista, adicionando ênfase ou desenfatização, 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-chegado aparece na parte de cima da gaveta de notificações, com uma notificação de prioridade mais baixa sobre uma foto sendo adicionada na parte de baixo.

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

Nas 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 dos 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 em apps na tela de início que oferecem suporte a eles, e você não precisa fazer nada. Os selos também podem ser desativados e limitados.

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

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

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

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

    Quando o usuário toca em uma notificação, seu app precisa mostrar uma IU diretamente relacionada a essa notificação e permitir que o usuário realize uma ação imediata. Por exemplo, se a notificação informar que é a vez deles em um jogo com duas pessoas, tocar na notificação vai levar os jogadores diretamente para o jogo.

  • Veja uma visualização expandida da notificação: um indicador de expansão é exibido no cabeçalho. O usuário pode tocar no indicador ou deslizar para baixo no corpo da notificação para ampliá-la.

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

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

  • Suspender 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 poderá pulsar por um minuto.

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

    • Tocar em uma notificação individual e mantê-la pressionada
    • 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

No caso de 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 filhas.
  • Um usuário pode expandir uma notificação filha para revelar todo o conteúdo dela.

O Android apresenta notificações filhas 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 do filho não vai incluir um ícone.

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

Figura 19:visualizações agrupadas e recolhidas de notificações.

Configurações

Canais

A partir do Android 8.0 (nível 26 da API), todas as notificações precisam ser atribuídas a um canal. É possível definir o comportamento visual e auditivo de cada canal 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 intrusivos ou visíveis.

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

A importância precisa ser escolhida considerando o tempo e a atenção do usuário. Quando uma notificação sem importância está disfarçada de urgente, ela pode gerar 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, sem interromper o que o usuário está fazendo Alertas de trânsito, lembretes de tarefas
LOW Sem som Canais de notificação que não atendem aos requisitos de 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 esperar ou não são especificamente relevantes para o usuário Locais de interesse por perto, clima, conteúdo promocional

Categorias predefinidas

Se você 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 queira 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, elas poderão ocultar qualquer conteúdo marcado como sensível pelo app. 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 pública, particular ou secreta.

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

No exemplo a seguir, as notificações da tela de bloqueio dos apps Gmail e Fotos mostram todo o conteúdo depois que o usuário optou 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 confidencial de notificações oculto na tela de bloqueio

Estilo

Texto claro e conciso

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

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

  • precisa ter no máximo 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 por 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 em relação à área do cabeçalho e usa caracteres disponíveis.
Mostre 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 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 o branding.
Use o ícone grande para reforçar o conteúdo da notificação de maneira significativa, como exibir a foto de uma pessoa anexada a uma notificação de mensagem.

Atualizações de versões do Android

A IU do sistema de notificações do Android e as APIs relacionadas a notificações evoluem continuamente. Para conferir uma lista dessas mudanças, confira a compatibilidade de 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 os detalhes expansíveis e os botões de ação. Para mais detalhes, consulte a página de design de notificações no Wear.