Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Windows fornece várias APIs de notificação em diferentes gerações do SDK. Se você estiver pesquisando online como enviar uma notificação e encontrar exemplos conflitantes, esta página ajudará você a escolher a API certa para seu aplicativo.
Qual API devo usar?
A resposta depende de qual SDK o seu aplicativo visa.
| Tipo de aplicativo | API recomendada | Namespace |
|---|---|---|
| WinUI 3/SDK do Aplicativo Windows (novos aplicativos) | AppNotificationManager |
Microsoft.Windows.AppNotifications |
| WPF, WinForms ou Win32 não empacotado |
AppNotificationManager através do NuGet |
Microsoft.Windows.AppNotifications |
| UWP (aplicativos existentes, nenhuma migração planejada) | ToastNotificationManager |
Windows.UI.Notifications |
Importante
A maioria das respostas do Stack Overflow e tutoriais mais antigos usam ToastNotificationManager do namespace Windows.UI.Notifications. Esta é a API do WinRT UWP. Ele funciona em aplicativos UWP e pode funcionar em alguns cenários de área de trabalho, mas não é o caminho recomendado para novos aplicativos SDK do Aplicativo Windows. Use AppNotificationManager para o novo desenvolvimento.
Comparação da API de notificações
| Característica |
AppNotificationManager (SDK do Aplicativo Windows) |
ToastNotificationManager (WinRT) |
|---|---|---|
| Recomendado para | WinUI 3, WPF, WinForms, Win32 não empacotado | UWP |
| Pacote NuGet | Microsoft.WindowsAppSDK |
Nenhum (caixa de entrada) |
| Identidade do pacote necessária | Não (funciona empacotado e desempacotado) | Necessário para algumas funcionalidades |
| Integração por push |
PushNotificationManager (SDK do Aplicativo Windows) |
APIs de canal WNS (Windows.Networking.PushNotifications) |
| Desenvolvimento ativo | Sim | Somente manutenção |
Tipos de notificações
Depois de escolher a API certa, decida como sua notificação será entregue:
| Tipo | Descrição | Usar quando |
|---|---|---|
| Notificação do aplicativo local | Acionado diretamente pelo código do aplicativo enquanto está sendo executado. | Você deseja alertar o usuário sobre um evento no aplicativo |
| Scheduled | Definir uma hora futura para a notificação ser exibida | Lembretes de calendário, alarmes |
| Push (WNS) | Enviado do serviço de nuvem por meio dos Serviços de Notificação por Push Windows | Mensagens de chat, últimas notícias, atualizações em tempo real |
| Distintivo | Pequena sobreposição no ícone da barra de tarefas do aplicativo | Contagem não lida, indicador de status |
Para obter um detalhamento completo dos métodos de entrega, consulte Escolher um método de entrega de notificação.
Próximas Etapas
Construindo um aplicativo WinUI 3 ou SDK do Aplicativo Windows?
-
Visão geral das notificações do aplicativo – notificações locais e por push do aplicativo usando
AppNotificationManager - Início rápido de notificações do aplicativo
-
Visão geral das notificações por push – envio por push do WNS
PushNotificationManager
Está criando um aplicativo WPF ou WinForms?
- Início rápido de notificações do aplicativo — as notificações do sistema local funcionam empacotadas ou desempacotadas
- Guia Rápido de Notificações por Push — o push do WNS oferece suporte limitado a um caminho verdadeiramente descompactado, mas o empacotamento (MSIX ou empacotado com local externo) é necessário para entrega em segundo plano e ativação COM.
Importante
SDK do Aplicativo Windows notificações por push exigem uma conta Azure e um registro de aplicativo Azure AD. Se o aplicativo estiver empacotado, você também precisará enviar uma solicitação de mapeamento do Nome da Família de Pacotes (PFN) por email — aguarde até uma semana de tempo de processamento antes do lançamento. Consulte o início rápido das notificações por push para obter os pré-requisitos completos.
Criando ou mantendo um aplicativo UWP?
- Enviar uma notificação local de um aplicativo UWP desenvolvido em C++
- Visão geral do WNS (Serviços de Notificação por Push) Windows
Migrando um aplicativo UWP para SDK do Aplicativo Windows?
Windows developer