Partager via


Toast avec activation de mise à jour en attente

Vous pouvez utiliser PendingUpdate pour créer des interactions en plusieurs étapes dans vos notifications de type 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.

Notification de mise à jour en attente

Important

Nécessite desktop Fall Creators Update et la version 2.0.0 de la bibliothèque notifications: vous devez exécuter la build desktop 16299 ou 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 du Kit de ressources communautaires UWP pour affecter PendingUpdate sur vos boutons. PendingUpdate est uniquement pris en charge sur Desktop et sera ignoré sur d’autres appareils.

Prerequisites

Cet article suppose une connaissance pratique de...

Overview

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

  1. Sur les boutons d'activation arrière-plan de votre fenêtre toast, spécifiez un AfterActivationBehavior de PendingUpdate

  2. Attribuez une balise (et éventuellement 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 est conservé à l’écran dans un état de mise à jour en attente

  4. Dans votre tâche en arrière-plan, envoyez une nouvelle notification toast avec votre nouveau contenu, en utilisant le même tag et le groupe .

Assign PendingUpdate

Sur vos boutons d’activation en arrière-plan, définissez "AfterActivationBehavior" sur "PendingUpdate". Notez que cela fonctionne uniquement pour les boutons qui ont un ActivationType en arrière-plan de .

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 pouvoir remplacer ultérieurement la notification, nous devons lui attribuer la balise (et éventuellement le groupe ).

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

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

Remplacez le toast par le 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 le nouveau contenu. Vous remplacez le toast en envoyant simplement un nouveau toast avec le même balise et groupe.

Nous vous recommandons vivement de définir l’audio en mode 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);