다음을 통해 공유


보류 중인 업데이트 활성화를 적용한 알림

PendingUpdate를 사용하여 알림 메시지 내에서 다단계 상호 작용을 만들 수 있습니다. 예를 들어 아래와 같이 이전 알림의 응답에 따라 후속 알림이 달라지는 일련의 알림을 만들 수 있습니다.

보류 중인 업데이트가 있는 알림

Important

Desktop Fall Creators Update 및 알림 라이브러리 2.0.0 필요: 보류 중인 업데이트 작업을 보려면 Desktop 빌드 16299 이상을 실행해야 합니다. UWP 커뮤니티 도구 키트 알림 NuGet 라이브러리 버전 2.0.0 이상을 사용하여 단추에 PendingUpdate를 할당해야 합니다. PendingUpdate는 데스크톱에서만 지원되며 다른 디바이스에서는 무시됩니다.

필수 조건

이 문서에서는 다음 실무 지식을 알고 있다고 가정합니다.

개요

보류 중인 업데이트를 활성화 후 동작으로 사용하는 알림을 구현하려면...

  1. 알림 백그라운드 활성화 단추에서 PendingUpdateAfterActivationBehavior 지정

  2. 알림을 보낼 때 Tag(그리고 선택적으로 Group) 할당

  3. 사용자가 단추를 클릭하면 백그라운드 작업이 활성화되고 알림은 보류 중인 업데이트 상태로 화면에 유지됨

  4. 백그라운드 작업에서 동일한 TagGroup을 사용하여 새 콘텐츠로 새 알림 보내기

PendingUpdate 할당

백그라운드 활성화 단추에서 AfterActivationBehaviorPendingUpdate로 설정 이것은 BackgroundActivationType이 있는 단추에서만 작동합니다.

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
        }
    });

알림에서 태그 사용

나중에 통지를 대체하기 위해 통지에 Tag(그리고 선택적으로 Group)를 지정해야 합니다.

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

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

새 콘텐츠로 알림 바꾸기

사용자가 단추를 클릭하면 백그라운드 작업이 시작되므로 알림을 새 콘텐츠로 바꿔야 합니다. 동일한 TagGroup을 사용하여 새로운 알림을 보내기만 하면 알림이 바뀝니다.

사용자가 이미 알림과 상호 작용하고 있기 때문에 단추 클릭에 대한 응답으로 변경 시 오디오를 무음으로 설정하는 것이 가장 좋습니다.

// 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);