En-têtes Toast

Vous pouvez regrouper visuellement un ensemble de notifications associées dans le Centre de notifications à l’aide d’un en-tête toast sur vos notifications.

Important

Nécessite Desktop Creators Update et la bibliothèque 1.4.0 des notifications : vous devez exécuter desktop build 15063 ou version ultérieure pour afficher les en-têtes toast. Vous devez utiliser la version 1.4.0 ou ultérieure de la bibliothèque NuGet notifications du Kit de ressources communautaires UWP pour construire l’en-tête dans le contenu de votre toast. Les en-têtes sont uniquement pris en charge sur desktop.

Comme indiqué ci-dessous, cette conversation de groupe est unifiée sous un seul en-tête, « Camping !! ». Chaque message individuel de la conversation est une notification toast distincte partageant le même en-tête toast.

Toasts avec en-tête

Vous pouvez également choisir de regrouper visuellement vos notifications par catégorie, comme les rappels de version d’évaluation, le suivi des packages, etc.

Ajouter un en-tête à un toast

Voici comment ajouter un en-tête à une notification toast.

Remarque

Les en-têtes sont uniquement pris en charge sur desktop. Les appareils qui ne prennent pas en charge les en-têtes ignorent simplement l’en-tête.

new ToastContentBuilder()
    .AddHeader("6289", "Camping!!", "action=openConversation&id=6289")
    .AddText("Anyone have a sleeping bag I can borrow?");

En résumé...

  1. Ajouter l’en-tête à votre ToastContent
  2. Affecter les propriétés Id, Titre et Arguments obligatoires
  3. Envoyer votre notification (en savoir plus)
  4. Sur une autre notification, utilisez le même ID d’en-tête pour les unifier sous l’en-tête. L’ID est la seule propriété utilisée pour déterminer si les notifications doivent être regroupées, ce qui signifie que le titre et les arguments peuvent être différents. Le titre et les arguments de la notification la plus récente au sein d’un groupe sont utilisés. Si cette notification est supprimée, le titre et les arguments revient à la notification la plus récente.

Gérer l’activation à partir d’un en-tête

Les en-têtes sont cliquables par les utilisateurs, afin que l’utilisateur puisse cliquer sur l’en-tête pour en savoir plus à partir de votre application.

Par conséquent, les applications peuvent fournir des arguments sur l’en-tête, comme les arguments de lancement sur le toast lui-même.

L’activation est gérée de la même façon que l’activation toast normale, ce qui signifie que vous pouvez récupérer ces arguments dans la méthode App.xaml.cs OnActivated comme vous le faites lorsque l’utilisateur clique sur le corps de votre toast ou sur un bouton sur votre toast.

protected override void OnActivated(IActivatedEventArgs e)
{
    // Handle toast activation
    if (e is ToastNotificationActivatedEventArgs)
    {
        // Arguments specified from the header
        string arguments = (e as ToastNotificationActivatedEventArgs).Argument;
    }
}

Informations supplémentaires

L’en-tête sépare visuellement et regroupe les notifications. Elle ne modifie aucune autre logistique concernant le nombre maximal de notifications qu’une application peut avoir (20) et le comportement de premier entré en premier sorti de la liste des notifications.

L’ordre des notifications dans les en-têtes est le suivant... Pour une application donnée, la notification la plus récente de l’application (et l’ensemble du groupe d’en-têtes si une partie d’un en-tête) apparaît en premier.

L’ID peut être n’importe quelle chaîne que vous choisissez. Il n’existe aucune restriction de longueur ou de caractère sur l’une des propriétés de ToastHeader. La seule contrainte est que votre contenu toast XML entier ne peut pas être supérieur à 5 Ko.

La création d’en-têtes ne modifie pas le nombre de notifications affichées dans le Centre de notifications avant que le bouton « Voir plus » s’affiche (ce nombre est 3 par défaut et peut être configuré par l’utilisateur pour chaque application dans paramètres système pour les notifications).

Cliquer sur l’en-tête, tout comme cliquer sur le titre de l’application, ne efface aucune notification appartenant à cet en-tête (votre application doit utiliser les API toast pour effacer les notifications pertinentes).