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:
- Entenda a anatomia de uma notificação.
- Escolha o tipo de notificação para seu caso de uso.
- 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.
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.
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.
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
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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
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.
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).