앱 알림 컬렉션

컬렉션을 사용하여 알림 센터에서 앱의 알림을 구성합니다. 컬렉션을 사용하면 사용자가 정보를 더 쉽게 찾고 개발자가 알림을 더 잘 관리할 수 있습니다.

예를 들어 메시징 앱은 채팅 그룹별로 알림을 구분할 수 있습니다. 각 그룹 제목("Comp Sci 160A Project Chat", "Direct Messages", "Lacrosse Team Chat")은 별도의 컬렉션입니다. 알림은 모두 동일한 앱에서 온 경우에도 별도의 앱에서 온 것처럼 그룹화됩니다. 알림을 구성하는 보다 미묘한 방법은 앱 알림 헤더를 참조하세요.

두 개의 서로 다른 알림 그룹이 있는 컬렉션 예제

메모

이 문서의 코드 예제에서는 Microsoft.Windows.AppNotifications 네임스페이스를 사용하여 알림 콘텐츠를 빌드하고 컬렉션 관리를 위한 Windows.UI.Notifications 네임스페이스를 작성합니다. 이러한 두 네임스페이스는 동일한 앱에서 함께 사용할 수 있습니다.

앱 알림에 대한 자세한 내용은 앱 알림 개요를 참조하세요.

컬렉션 만들기

컬렉션을 만들 때 알림 센터에 컬렉션 제목의 일부로 표시되는 표시 이름과 아이콘을 제공합니다. 컬렉션에는 사용자가 컬렉션 제목을 클릭할 때 앱이 올바른 위치로 이동할 수 있도록 시작 인수도 필요합니다. SaveToastCollectionAsync를 호출하여 컬렉션을 만듭니다.

using Windows.UI.Notifications;

var collection = new ToastCollection(
    "MyToastCollection",
    "Work Email",
    "NavigateToWorkEmailInbox",
    new Uri("ms-appx:///Assets/workEmail.png"));

await ToastNotificationManager.GetDefault()
    .GetToastCollectionManager()
    .SaveToastCollectionAsync(collection);

컬렉션에 알림 보내기

AppNotificationBuilder를 사용하여 알림 콘텐츠를 생성한 다음 GetToastNotifierForToastCollectionIdAsync를 호출하여 컬렉션으로 범위가 지정된 알림자를 가져옵니다.

using Microsoft.Windows.AppNotifications.Builder;
using Windows.UI.Notifications;
using Windows.Data.Xml.Dom;

// Build notification content with Windows App SDK
var payload = new AppNotificationBuilder()
    .AddText("Adam sent a message to the group")
    .BuildNotification()
    .Payload;

// Deliver to a collection using the WinRT API
var doc = new XmlDocument();
doc.LoadXml(payload);
var toast = new ToastNotification(doc);

var notifier = await ToastNotificationManager.GetDefault()
    .GetToastNotifierForToastCollectionIdAsync("MyToastCollection");
notifier.Show(toast);

모든 컬렉션 나열

FindAllToastCollectionsAsync를 호출하여 앱에 대해 만든 모든 컬렉션을 검색합니다.

var collectionManager = ToastNotificationManager.GetDefault().GetToastCollectionManager();
var collections = await collectionManager.FindAllToastCollectionsAsync();

컬렉션 업데이트

동일한 ID로 새 ToastCollection 인스턴스를 만들고 SaveToastCollectionAsync를 호출하여 컬렉션을 업데이트합니다.

var collectionManager = ToastNotificationManager.GetDefault().GetToastCollectionManager();

var updatedCollection = new ToastCollection(
    "MyToastCollection",
    "Updated Display Name",
    "UpdatedLaunchArgs",
    new Uri("ms-appx:///Assets/updatedPicture.png"));

await collectionManager.SaveToastCollectionAsync(updatedCollection);

컬렉션 제거

컬렉션 ID를 사용하여 RemoveToastCollectionAsync 를 호출하여 컬렉션을 제거합니다. 컬렉션의 모든 알림도 알림 센터에서 제거됩니다.

var collectionManager = ToastNotificationManager.GetDefault().GetToastCollectionManager();
await collectionManager.RemoveToastCollectionAsync("MyToastCollection");

컬렉션 내 알림 제거

태그그룹 속성을 사용하여 Remove를 호출하여 컬렉션 내에서 개별 알림을 식별하고 제거하거나 Clear를 사용하여 모든 알림을 한 번에 지웁니다.

var collectionHistory = await ToastNotificationManager.GetDefault()
    .GetHistoryForToastCollectionAsync("MyToastCollection");

// Remove a specific notification
collectionHistory.Remove(tag, group);

// Or clear all notifications in the collection
collectionHistory.Clear();

참고하십시오