컬렉션을 사용하여 알림 센터에서 앱의 알림을 구성합니다. 컬렉션을 사용하면 사용자가 정보를 더 쉽게 찾고 개발자가 알림을 더 잘 관리할 수 있습니다.
예를 들어 메시징 앱은 채팅 그룹별로 알림을 구분할 수 있습니다. 각 그룹 제목("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();
참고하십시오
Windows developer