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 de notifications 1.4.0 : vous devez exécuter desktop build 15063 ou version ultérieure pour voir les en-têtes toast. Vous devez utiliser la version 1.4.0 ou ultérieure de la bibliothèque NuGet des notifications du kit de ressources de la communauté 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 en-tête unique, « 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 d’évaluation, le suivi des packages, etc.

Ajouter un en-tête à un toast

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

Notes

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, Title et Arguments requises
  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 reviennent à la notification la plus récente suivante.

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 sur 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 de toast normale, ce qui signifie que vous pouvez récupérer ces arguments dans la méthode OnActivated de App.xaml.cs comme vous le faites lorsque l’utilisateur clique sur le corps de votre toast ou 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. Cela ne change aucune autre logistique concernant le nombre maximal de notifications qu’une application peut avoir (20) et le comportement de premier entré et 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) s’affiche en premier.

L’ID peut être n’importe quelle chaîne de votre choix. Il n’existe aucune restriction de longueur ou de caractères sur l’une des propriétés dans ToastHeader. La seule contrainte est que l’intégralité de votre contenu toast XML ne peut pas dépasser 5 Ko.

La création d’en-têtes ne modifie pas le nombre de notifications affichées dans le Centre de notifications avant l’affichage du bouton « Voir plus » (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, n’efface pas les notifications appartenant à cet en-tête (votre application doit utiliser les API toast pour effacer les notifications appropriées).