Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Une fois que vous avez envoyé une notification d’application, vous devrez peut-être la supprimer du Centre de notification lorsqu’elle n’est plus pertinente ou contrôler la durée pendant laquelle elle persiste. La classe AppNotificationManager fournit des méthodes pour supprimer des notifications, et la classe AppNotification fournit des propriétés pour contrôler le moment où les notifications expirent automatiquement.
Pour plus d’informations sur les notifications d’application, consultez vue d’ensemble des notifications d’application.
Supprimer les notifications du Centre de notification
Pour supprimer des notifications spécifiques, attribuez d’abord des valeurs Tag et Group lorsque vous les affichez. Une Tag identifie une notification spécifique et un Group identifie un ensemble de notifications associées. Par exemple, une application de messagerie peut utiliser l'identifiant de fil de discussion comme groupe et le nom du contact comme étiquette.
AppNotificationManager fournit plusieurs méthodes pour supprimer les notifications du Centre de notification :
| Méthode | Description |
|---|---|
| RemoveByTagAsync | Supprime toutes les notifications avec la balise spécifiée. |
| RemoveByGroupAsync | Supprime toutes les notifications dans le groupe spécifié. |
| RemoveByTagAndGroupAsync | Supprime toutes les notifications avec la balise et le groupe spécifiés. |
| RemoveByIdAsync | Supprime la notification avec l’ID spécifié. |
| RemoveAllAsync | Supprime toutes les notifications pour l’application. |
L’exemple suivant montre comment baliser les notifications lors de leur envoi, puis les supprimer ultérieurement. Dans ce scénario, une application de messagerie supprime toutes les notifications d’une conversation de groupe une fois que l’utilisateur a lu la conversation, puis supprime toutes les notifications d’un contact spécifique après que l’utilisateur l’a mis en sourdine.
using Microsoft.Windows.AppNotifications;
using Microsoft.Windows.AppNotifications.Builder;
void SendNotification(string message, string contactTag, string chatGroup)
{
var notification = new AppNotificationBuilder()
.AddText(message)
.BuildNotification();
// Tag and group the notification so it can be removed later
notification.Tag = contactTag;
notification.Group = chatGroup;
AppNotificationManager.Default.Show(notification);
}
// Remove all notifications from a specific group chat
async Task RemoveGroupChatNotifications(string chatGroup)
{
await AppNotificationManager.Default.RemoveByGroupAsync(chatGroup);
}
// Remove all notifications from a specific contact across all groups
async Task RemoveContactNotifications(string contactTag)
{
await AppNotificationManager.Default.RemoveByTagAsync(contactTag);
}
// Remove all notifications for the app
async Task RemoveAllNotifications()
{
await AppNotificationManager.Default.RemoveAllAsync();
}
Définir une heure d’expiration
Définissez une heure d’expiration sur votre notification à l’aide de la propriété Expiration si le contenu n’est pertinent que pendant une certaine période. Par exemple, une application de calendrier qui envoie un rappel d’événement doit définir l’expiration à la fin de l’événement.
Note
La durée d’expiration par défaut et maximale d’une notification est de 3 jours.
using Microsoft.Windows.AppNotifications;
using Microsoft.Windows.AppNotifications.Builder;
var notification = new AppNotificationBuilder()
.AddText("Team standup in 15 minutes")
.AddText("Conference Room B")
.BuildNotification();
// Remove the notification from Notification Center after one hour
notification.Expiration = DateTimeOffset.Now.AddHours(1);
AppNotificationManager.Default.Show(notification);
Expirer les notifications lors du redémarrage
Définissez la propriété ExpiresOnReboot sur la valeur true si vous souhaitez qu’une notification soit supprimée du Centre de notification lorsque l’ordinateur redémarre. Cela est utile pour les notifications sensibles au temps qui ne sont plus significatives après un redémarrage, comme un appel en cours ou un rappel temporaire.
using Microsoft.Windows.AppNotifications;
using Microsoft.Windows.AppNotifications.Builder;
var notification = new AppNotificationBuilder()
.AddText("You're sharing your screen")
.BuildNotification();
notification.ExpiresOnReboot = true;
AppNotificationManager.Default.Show(notification);
Voir également
Windows developer