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 notificações:
- Entenda a anatomia de uma notificação.
- Escolha o tipo de notificação para seu caso de uso.
- Defina a categoria de notificação que se alinha ao tipo de notificação escolhido.
Aprendizados
- Considere a finalidade da notificação: por que você está alertando os usuários?
- Determine o padrão de permissão de notificação, considere a importância das notificações para seu app e onde perguntar na jornada do usuário.
- Escolha um modelo de notificação.
- Crie o conteúdo da notificação:
- O texto do cabeçalho precisa resumir a notificação de forma concisa.
- O texto do conteúdo deve mostrar uma prévia da notificação.
- Conteúdo de imagem, se aplicável ao conteúdo do app.
- Arte principal e metadados de mídia para o 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 dela usando botões de texto, digitação ou controles de mídia.
- Inclua o ícone do app e defina a cor de fundo dele.
- Defina canais e categorias para suas notificações. Isso permite que o sistema e o usuário personalizem as notificações recebidas e ofereçam comportamento prioritário.
- Se o app puder enviar várias notificações de uma só vez, agrupe-as.
- Confira o Kit de interface do Android no Figma para 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. Esses elementos são:
- Conteúdo principal: é o elemento mais proeminente de uma notificação. 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 vai 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.
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. Ele também pode mostrar um ícone grande opcionalmente.
1 Ícone do app:é uma representação bidimensional da identidade do app. Ele aparece em monocromático na barra de status. Se o app enviar uma grande variedade de notificações, considere substituir o ícone do app por um símbolo para distinguir os diferentes tipos de notificações. 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 para os usuários. O conteúdo é o elemento mais destacado 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 estado recolhido ou expandido.
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 inclui um avatar do remetente.
Aplicar a cor do ícone
A partir do Android 12 (nível 31 da API), 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.
Para a maioria dos estilos, o sistema aplica essa cor apenas se a notificação for
de um serviço em primeiro plano. No entanto, não há esse requisito para notificações de 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
1 Ações do botão de texto
2 Botões de ação preenchidos
3 Respostas sugeridas
4 Campo de texto da resposta
A partir do Android 7.0 (API de nível 24), 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, o 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 enfatizadas (botões em formato de pílula)
- Ações de texto padrão
O que não fazer
O que fazer
Ativar a digitação nas notificações
Para permitir que o usuário digite diretamente em uma notificação, inclua uma ação de resposta. Ele foi projetado para digitar uma pequena quantidade de texto, como responder a uma mensagem de texto ou anotar uma observação breve.
Para digitação mais longa, direcione os usuários ao seu 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 esperar até que a conversa seja pausada antes de dispensá-la automaticamente.
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 interface do Android no Figma para 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.
Modelo de texto grande
O modelo de texto grande é ideal para mostrar blocos de texto mais longos. Ele permite que o usuário visualize mais texto depois de expandir a notificação.
Modelo de visão geral
O modelo de imagem grande foi projetado para notificações que contêm uma imagem. Quando recolhida, a notificação mostra uma miniatura de ícone grande da imagem. Quando expandida, a notificação mostra uma prévia muito maior.
Modelo de progresso
O modelo de progresso foi criado para atividades iniciadas pelo usuário que levam tempo para serem concluídas. Quando expandida, uma notificação que usa esse modelo mostra uma barra de progresso e inclui uma ação de "cancelar" que permite ao usuário encerrar essa atividade. Atividades não canceláveis não geram notificações.
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 em um app.
- Quando recolhida, a notificação pode mostrar 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.
Modelo de mensagem
O modelo MessagingStyle foi criado para comunicação em tempo real. Quando expandida, uma notificação usando esse modelo permite que o usuário responda a mensagens na própria notificação.
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 feita.
Permissões de notificação
Por mais relevantes e oportunas que sejam, a maioria das notificações não é isenta. Ou seja, o usuário precisa consentir em receber notificações do seu app.
Há uma exceção: a partir do Android 13 (nível 33 da API), as sessões de mídia e os apps que gerenciam ligações telefônicas são isentos de pedir consentimento do usuário. Os apps já existentes também podem se qualificar se o usuário já tiver ativado as notificações. Confira mais detalhes em Exceções.
Recomendamos 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, peça ao usuário para indicar se ele quer receber notificações. Os usuários que escolhem receber notificações provavelmente as acham mais úteis e menos intrusivas.
Aguarde para mostrar a solicitação de caixa de diálogo de notificação:
- Descreva os benefícios das notificações 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 ter qualquer formato para se integrar melhor ao seu app, por exemplo, um card em uma taxa, uma caixa de diálogo na parte de baixo ou uma tela de integração. Qualquer uma delas pode ser dispensada.
- Não mostre a caixa de diálogo de permissão de notificações se o usuário tiver dispensado a interface.
No Android 13 e em versões mais recentes, os usuários podem receber uma nova solicitação de permissões de notificação.
Notificações obrigatórias
Os serviços em primeiro plano realizam operações perceptíveis pelo usuário, mas enquanto ele não está interagindo 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.
Como esses processos usam bateria e possivelmente dados, seu app precisa informar os usuários sobre eles mostrando uma notificação que não pode ser dispensada. O usuário não pode dispensar a notificação, então você precisa oferecer uma ação para que ele pare o serviço.
O exemplo a seguir mostra uma notificação de um app de fitness. O usuário iniciou uma sessão de treino ativo, que cria uma instância de um serviço em primeiro plano para monitorar a sessão. O app mostra a notificação para indicar que está rastreando a caminhada, com uma opção para 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 (isso é estritamente proibido pela Play Store)
- Se o usuário nunca abriu seu app
- Como o principal método de comunicação com os usuários
- Para incentivar o usuário a voltar a um app, mas sem oferecer valor direto (por exemplo, "Não vemos você há um tempo!")
- Para pedidos de classificação do seu app
- Para operações que não exigem envolvimento do usuário, como sincronizar informações
- Para anunciar estados de erro que o app pode recuperar sem interação do usuário.
- Para mensagens de feriados ou aniversários
O que não fazer
O que não fazer
Comportamento
Conheça os seguintes comportamentos de notificação e como lidar com eles em determinados contextos.
Chegada de notificação
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 qualquer uma das seguintes ações:
- Emitir um som ou fazer o smartphone vibrar.
- Mostrar na barra de status com um ícone. Normalmente, é o ícone do app, mas se você tiver vários tipos de notificações, use um símbolo que capture a finalidade da notificação.
- Aparece como uma notificação de alerta, espiando na tela atual para chamar a atenção do usuário.
Como sempre, o usuário pode alterar os comportamentos de notificação definidos.
1 Indicador de notificação na barra de status, mostrando que há uma notificação na gaveta.
2 Uma notificação "espiando" 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 as notificações em ordem cronológica inversa, com ajustes influenciados pelas seguintes condições:
- A prioridade ou importância de notificação declarada do app
- Se a notificação alertou o usuário recentemente com um som ou vibração
- As pessoas anexadas à notificação e se elas são contatos marcados com estrela
- Se a notificação representa uma atividade importante em andamento, como uma chamada telefônica em andamento ou música tocando
- Alterações na aparência de algumas notificações na parte de cima e de baixo da lista pelo SO Android, adicionando ênfase ou redução de ênfase, o que ajuda o usuário a verificar o conteúdo.
Processar 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 for mais relevante, dispense-a para que o usuário não a veja.
Novas notificações indicadas pelo indicador do ícone do app
Nas telas de início compatíveis em dispositivos com Android 8.0 (API de nível 26) 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 nos apps de inicialização compatíveis, e não há nada que seu app precise fazer. Os indicadores também podem ser desativados e limitados.
Ações que os usuários podem realizar com as notificações
Com as notificações, os usuários podem realizar 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 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 tome uma ação imediata. Por exemplo, se a notificação disser que é a vez deles em um jogo para dois jogadores, tocar na notificação deve levar diretamente ao jogo.
Confira uma visualização expandida da notificação: um indicador de expansão aparece no cabeçalho. Um usuário pode tocar no indicador ou deslizar para baixo no corpo da notificação para expandi-la.
Figura 18:notificação expandida Dispensar a notificação (se permitido): o usuário pode dispensar deslizando para a esquerda ou direita.
Notificações em andamento que indicam um processo contínuo em segundo plano, como música tocando, não podem ser dispensadas com um 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 poderá piscar por um minuto.
Controlar notificações semelhantes no futuro: os usuários podem acessar os controles de notificação das seguintes maneiras:
- Tocar e pressionar 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 seguinte hierarquia.
- Uma notificação principal mostra um resumo das notificações secundárias.
- Se o usuário abrir a notificação principal, o Android vai mostrar todas as notificações filhas.
- Um usuário pode expandir uma notificação secundária para revelar todo o conteúdo dela.
O Android apresenta notificações de filhos sem informações duplicadas no cabeçalho. Por exemplo, se uma notificação secundária tiver o mesmo ícone de app da principal, o cabeçalho da secundária não vai incluir um ícone.
As notificações infantis precisam ser compreensíveis se aparecerem sozinhas, já que o sistema pode mostrá-las fora do grupo quando chegarem.
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. Os usuários podem mudar essas configurações e decidir quais canais de notificação do app podem ser invasivos ou visíveis.
Para saber como implementar isso, consulte Criar e gerenciar canais de notificação.
A importância deve ser escolhida considerando o tempo e a atenção do usuário. Quando uma notificação sem importância é disfarçada como urgente, ela pode causar 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, ligações |
DEFAULT |
Emite um som | Informações que devem ser vistas assim que possível, mas 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 | Novos conteúdos a que o usuário se inscreveu, convites de 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 | Lugares de interesse por perto, clima, conteúdo promocional |
Categorias predefinidas
Use ou não canais, 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 similar 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 talvez 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 está bloqueada, elas poderão ocultar qualquer conteúdo que seu app marque 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 o nível de sensibilidade para conteúdo nas telas de bloqueio
A privacidade do usuário é muito importante. Por isso, saiba que há diferentes níveis de notificação que podem ser visíveis na tela de bloqueio. Para cada notificação criada, defina o nível de visibilidade como público, particular ou secreto.
- As notificações públicas ficam totalmente visíveis em telas de bloqueio seguras.
- As notificações secretas ficam ocultas.
- As notificações particulares ficam no meio: elas mostram apenas informações básicas, incluindo o nome do app que postou e o ícone dele. Em vez do conteúdo normal, que fica oculto, você pode 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 escolhe exibir essas informações na tela de bloqueio.
1 Todo o conteúdo da notificação mostrado na tela de bloqueio
2 Conteúdo de notificação sensível 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 expandidos.
Um bom título de conteúdo segue estas diretrizes:
- Não excede 30 caracteres
- Contém as informações mais importantes
- Evita variáveis, a menos que elas 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
O que não fazer
O que fazer
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 fonte do conteúdo, se for diferente do app que enviou a notificação, como o logotipo de um canal do YouTube em que o usuário está inscrito.
- Símbolos significativos sobre a notificação, como uma seta para rotas de carro
Ícones grandes precisam ser circulares quando mostram uma pessoa, mas quadrados em todos os outros casos.
O que não fazer
O que fazer
Atualizações de versões do Android
A UI do sistema de notificações do Android e as APIs relacionadas a notificações evoluem continuamente. Para conferir uma lista dessas mudanças, consulte 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 detalhes expansíveis e botões de ação. Para mais detalhes, consulte a página de design para notificações no Wear.