Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O Windows disponibiliza várias APIs de notificações ao longo de diferentes gerações de SDK. Se está a pesquisar online sobre como enviar uma notificação e a encontrar exemplos contraditórios, esta página vai ajudá-lo a escolher a API certa para a sua aplicação.
Que API devo usar?
A resposta depende do SDK que a sua aplicação pretende:
| Tipo de aplicativo | API recomendada | Namespace |
|---|---|---|
| WinUI 3 / SDK de Aplicações Windows (novas aplicações) | AppNotificationManager |
Microsoft.Windows.AppNotifications |
| WPF, WinForms ou Win32 não embalado |
AppNotificationManager via NuGet |
Microsoft.Windows.AppNotifications |
| UWP (aplicações existentes, sem migração planeada) | ToastNotificationManager |
Windows.UI.Notifications |
Importante
A maioria das respostas do Stack Overflow e dos tutoriais antigos usam ToastNotificationManager do espaço de nomes Windows.UI.Notifications. Esta é a API UWP do WinRT. Funciona em aplicações UWP e pode funcionar em alguns cenários de ambiente de trabalho, mas não é o caminho recomendado para novas aplicações do SDK de Aplicações Windows. Use AppNotificationManager para novos desenvolvimentos.
Comparação de APIs de notificações
| Feature |
AppNotificationManager (SDK de Aplicações 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 (obras empacotadas e desempacotadas) | Necessária para algumas funcionalidades |
| Integração push |
PushNotificationManager (SDK de Aplicações Windows) |
APIs de canais WNS (Windows.Networking.PushNotifications) |
| Desenvolvimento ativo | Sim | Apenas manutenção |
Tipos de notificações
Depois de escolher a API certa, decida como a sua notificação será entregue:
| Tipo | Descrição | Utilizar quando |
|---|---|---|
| Notificação de aplicação local | Desencadeado diretamente pelo código da tua aplicação enquanto está a correr | Quer alertar o utilizador sobre um evento dentro da aplicação |
| Agendado | Defina uma hora futura para a notificação aparecer | Lembretes do calendário, alarmes |
| Empurrar (WNS) | Enviado do seu serviço cloud através dos Serviços de Notificações Push do Windows | Mensagens de chat, notícias de última hora, atualizações em tempo real |
| Distintivo | Pequena sobreposição no ícone da barra de tarefas da aplicação | Contagem não lida, indicador de estado |
Para uma análise completa dos métodos de entrega, consulte Escolher um método de entrega de notificações.
Passos seguintes
Está a desenvolver um aplicativo WinUI 3 ou SDK de Aplicações Windows?
-
Visão geral das notificações da aplicação — notificações locais e push usando
AppNotificationManager - Notificações de início rápido da aplicação
-
Visão geral das notificações push — WNS push usando
PushNotificationManager
Está a construir uma aplicação WPF ou WinForms?
- Notificações de início rápido da aplicação — notificações locais tipo toast funcionam empacotadas ou não empacotadas
- Notificações push quickstart — O WNS push suporta um caminho limitado verdadeiramente não empacotado, mas é necessário empacotamento (MSIX ou embalado com localização externa) para entrega em segundo plano e ativação COM
Importante
Notificações push do SDK de Aplicações Windows exigem uma conta Azure e um registo de aplicação Azure AD. Se a sua aplicação estiver empacotada, também precisa de submeter um pedido de mapeamento do Nome da Família do Pacote (PFN) por email — conceda até uma semana de tempo de processamento antes do lançamento. Consulte o início rápido das notificações push para os pré-requisitos completos.
Construir ou manter uma aplicação UWP?
- Envie uma notificação de aplicação local a partir de aplicações UWP em C++
- Visão geral dos Serviços de Notificação Push do Windows (WNS)
Migração de uma aplicação UWP para SDK de Aplicações Windows?
Windows developer