Toast avec activation de mise à jour en attente

Vous pouvez utiliser PendingUpdate pour créer des interactions en plusieurs étapes dans vos notifications toast. Par exemple, comme indiqué ci-dessous, vous pouvez créer une série de toasts où les toasts suivants dépendent des réponses des toasts précédents.

Toast avec mise à jour en attente

Important

Nécessite Desktop Fall Creators Update et 2.0.0 de la bibliothèque de notifications : vous devez exécuter desktop build 16299 ou version ultérieure pour voir le travail de mise à jour en attente. Vous devez utiliser la version 2.0.0 ou ultérieure de la bibliothèque NuGet des notifications de la communauté UWP pour affecter PendingUpdate sur vos boutons. PendingUpdate est uniquement pris en charge sur le bureau et sera ignoré sur d’autres appareils.

Prérequis

Cet article suppose une connaissance pratique de...

Vue d’ensemble

Pour implémenter un toast qui utilise la mise à jour en attente comme comportement après activation...

  1. Sur vos boutons d’activation en arrière-plan toast, spécifiez un AfterActivationBehaviord’PendingUpdate

  2. Affecter une balise (et éventuellement un groupe) lors de l’envoi de votre toast

  3. Lorsque l’utilisateur clique sur votre bouton, votre tâche en arrière-plan est activée et le toast reste à l’écran dans un état de mise à jour en attente

  4. Dans votre tâche en arrière-plan, envoyez un nouveau toast avec votre nouveau contenu, à l’aide des mêmes étiquette et groupe

Affecter PendingUpdate

Sur vos boutons d’activation en arrière-plan, définissez AfterActivationBehaviorsur PendingUpdate. Notez que cela fonctionne uniquement pour les boutons qui ont un type d’activationd’arrière-plan.

new ToastContentBuilder()

    .AddText("Would you like to order lunch today?")

    .AddButton(new ToastButton("Yes", "action=orderLunch")
    {
        ActivationType = ToastActivationType.Background,

        ActivationOptions = new ToastActivationOptions()
        {
            AfterActivationBehavior = ToastAfterActivationBehavior.PendingUpdate
        }
    });

Utiliser une balise sur la notification

Pour remplacer ultérieurement la notification, nous devons affecter la balise (et éventuellement le groupe) sur la notification.

// Create the notification
var notif = new ToastNotification(content.GetXml())
{
    Tag = "lunch"
};

// And show it
ToastNotificationManager.CreateToastNotifier().Show(notif);

Remplacer le toast par un nouveau contenu

En réponse à l’utilisateur qui clique sur votre bouton, votre tâche en arrière-plan est déclenchée et vous devez remplacer le toast par un nouveau contenu. Vous remplacez le toast en envoyant simplement un nouveau toast avec les mêmes étiquette et groupe.

Nous vous recommandons vivement de définir l’audio sur silencieux sur les remplacements en réponse à un clic sur un bouton, car l’utilisateur interagit déjà avec votre toast.

// Generate new content
ToastContent content = new ToastContent()
{
    ...

    // We disable audio on all subsequent toasts since they appear right after the user
    // clicked something, so the user's attention is already captured
    Audio = new ToastAudio() { Silent = true }
};

// Create the new notification
var notif = new ToastNotification(content.GetXml())
{
    Tag = "lunch"
};

// And replace the old one with this one
ToastNotificationManager.CreateToastNotifier().Show(notif);