Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Les notifications planifiées app vous permettent de prévoir l'apparition d'une notification ultérieurement, même si votre app n'est pas en cours d'exécution à ce moment-là. Cela est utile pour les scénarios tels que l’affichage de rappels ou d’autres tâches de suivi pour l’utilisateur, où l’heure et le contenu de la notification sont connus à l’avance.
Notez que les notifications planifiées app ont une fenêtre de remise de 5 minutes. Si l’ordinateur est désactivé pendant le délai de livraison planifié et reste désactivé pendant plus de 5 minutes, la notification est « supprimée » comme n’est plus pertinente pour l’utilisateur. Si vous avez besoin d’une remise garantie des notifications, quelle que soit la durée pendant laquelle l’ordinateur était désactivé, nous vous recommandons d’utiliser une tâche en arrière-plan avec un déclencheur de temps, comme illustré dans cet exemple de code.
Note
Le terme «toast notification » est remplacé par «app notification ». Ces termes font tous deux référence à la même fonctionnalité de Windows, mais au fil du temps, nous allons cesser progressivement d'utiliser le terme «toast notification » dans la documentation.
Important
Les applications de bureau (empaquetées et non empaquetées) ont des étapes légèrement différentes pour envoyer des notifications et gérer l’activation. Suivez les instructions ci-dessous, mais remplacez ToastNotificationManager par la classe DesktopNotificationManagerCompat à partir de la documentation applications de bureau.
APIs importantes: Classe ScheduledToastNotification
Prerequisites
Pour bien comprendre cette rubrique, les éléments suivants seront utiles...
- Connaissance pratique des termes et concepts de app notification. Pour plus d’informations, consultez Toast et vue d’ensemble du centre de notifications.
- Connaissance du contenu des notifications Windows 10 app . Pour plus d’informations, consultez App la documentation sur le contenu des notifications .
- Un projet Windows 10 UWP app
Étape 1 : Installer le package NuGet
Installez le package NuGet Microsoft.Toolkit.Uwp.Notifications. Notre exemple de code utilisera ce package. À la fin de l’article, nous allons fournir les extraits de code « bruts » qui n’utilisent aucun package NuGet. Ce package vous permet de créer app des notifications sans utiliser XML.
Étape 2 : Ajouter des déclarations d’espace de noms
using Microsoft.Toolkit.Uwp.Notifications; // Notifications library
Étape 3 : Planifier la notification
Nous allons utiliser une simple notification textuelle rappelant à un étudiant les devoirs qu’il a dûs aujourd’hui. Construisez la notification et planifiez-la !
// Construct the content and schedule the toast!
new ToastContentBuilder()
.AddArgument("action", "viewItemsDueToday")
.AddText("ASTR 170B1")
.AddText("You have 3 items due today!");
.Schedule(DateTime.Now.AddSeconds(5));
Fournir une clé primaire pour votre notification
Si vous souhaitez annuler, supprimer ou remplacer par programmation la notification planifiée, vous devez utiliser la propriété Tag (et éventuellement la propriété Group) pour fournir une clé primaire pour votre notification. Ensuite, vous pouvez utiliser cette clé primaire à l’avenir pour annuler, supprimer ou remplacer la notification.
Pour plus d’informations sur le remplacement/la suppression des notifications déjà remisesapp, consultez démarrage rapide : Gestion des toast notifications dans le centre de notifications (XAML)
L’étiquette et le groupe combinés agissent comme une clé primaire composite. Le groupe est l’identificateur plus générique, où vous pouvez affecter des groupes tels que « wallPosts », « messages », « friendRequests », etc. Ensuite, l’étiquette doit identifier de manière unique la notification elle-même à partir du groupe. En utilisant un groupe générique, vous pouvez ensuite supprimer toutes les notifications de ce groupe à l’aide de l’API RemoveGroup .
// Construct the content and schedule the toast!
new ToastContentBuilder()
.AddArgument("action", "viewItemsDueToday")
.AddText("ASTR 170B1")
.AddText("You have 3 items due today!");
.Schedule(DateTime.Now.AddSeconds(5), toast =>
{
toast.Tag = "18365";
toast.Group = "ASTR 170B1";
});
Annuler les notifications planifiées
Pour annuler une notification planifiée, vous devez d’abord récupérer la liste de toutes les notifications planifiées.
Ensuite, recherchez votre notification planifiée app correspondant à la balise (et éventuellement le groupe) que vous avez spécifiée précédemment, puis appelez RemoveFromSchedule().
// Create the toast notifier
ToastNotifierCompat notifier = ToastNotificationManagerCompat.CreateToastNotifier();
// Get the list of scheduled toasts that haven't appeared yet
IReadOnlyList<ScheduledToastNotification> scheduledToasts = notifier.GetScheduledToastNotifications();
// Find our scheduled toast we want to cancel
var toRemove = scheduledToasts.FirstOrDefault(i => i.Tag == "18365" && i.Group == "ASTR 170B1");
if (toRemove != null)
{
// And remove it from the schedule
notifier.RemoveFromSchedule(toRemove);
}
Important
Une application Win32 non packagé (sans identité de package lors de l’exécution) app doit utiliser la classe ToastNotificationManagerCompat comme illustré ci-dessus. Si vous utilisez ToastNotificationManager, vous recevrez une exception d'élément introuvable. Tous les types d’applications peuvent utiliser la classe Compat et fonctionnent correctement.
Activation handling
Consultez la documentation d’envoi d’une notification locale app pour en savoir plus sur la gestion de l’activation. L’activation d’une notification planifiée app est gérée de la même façon que l’activation d’une notification locale app .
Ajout d’actions, d’entrées, etc.
Consultez la documentation d’envoi d’une notification locale app pour en savoir plus sur les rubriques avancées telles que les actions et les entrées. Les actions et les entrées fonctionnent de la même façon dans les notifications locales app que dans les notifications planifiées app .
Resources
Windows developer