Freigeben über


App-Benachrichtigungssammlungen

Verwenden Sie Sammlungen, um die Benachrichtigungen Ihrer App im Benachrichtigungscenter zu organisieren. Sammlungen helfen Benutzern, Informationen einfacher zu finden und Entwicklern die bessere Verwaltung ihrer Benachrichtigungen zu ermöglichen.

Eine Messaging-App kann beispielsweise Benachrichtigungen nach Chatgruppe trennen. Jeder Gruppentitel ("Comp Sci 160A Project Chat", "Direct Messages", "Lacrosse Team Chat") ist eine separate Sammlung. Benachrichtigungen werden gruppiert, als wären sie aus einer separaten App, auch wenn sie alle aus derselben App stammen. Eine dezentere Möglichkeit zum Organisieren von Benachrichtigungen finden Sie unter App-Benachrichtigungsheader.

-Auflistungsbeispiel mit zwei verschiedenen Gruppen von Benachrichtigungen

Hinweis

In den Codebeispielen in diesem Artikel wird der Namespace Microsoft.Windows.AppNotifications zum Erstellen von Benachrichtigungsinhalten und dem namespace Windows.UI.Notifications für die Sammlungsverwaltung verwendet. Diese beiden Namespaces können in derselben App zusammen verwendet werden.

Weitere Informationen zu App-Benachrichtigungen finden Sie in der Übersicht über App-Benachrichtigungen.

Erstellen einer Sammlung

Geben Sie beim Erstellen einer Sammlung einen Anzeigenamen und ein Symbol an, die im Info-Center als Teil des Titels der Sammlung angezeigt werden. Sammlungen erfordern auch ein Startargument, damit Ihre App zur richtigen Stelle navigieren kann, wenn der Benutzer auf den Sammlungstitel klickt. Erstellen Sie die Sammlung durch Aufrufen von 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);

Senden einer Benachrichtigung an eine Sammlung

Verwenden Sie AppNotificationBuilder , um den Benachrichtigungsinhalt zu erstellen, und rufen Sie dann GetToastNotifierForToastCollectionIdAsync auf, um einen Notifier abzurufen, der auf die Auflistung festgelegt ist.

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

Alle Sammlungen auflisten

Rufen Sie alle Sammlungen ab, die für Ihre App erstellt wurden, indem Sie FindAllToastCollectionsAsync aufrufen.

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

Aktualisieren einer Sammlung

Aktualisieren Sie eine Auflistung, indem Sie eine neue ToastCollection-Instanz mit derselben ID erstellen und SaveToastCollectionAsync aufrufen.

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

Entfernen einer Sammlung

Entfernen Sie eine Auflistung, indem Sie RemoveToastCollectionAsync mit der Sammlungs-ID aufrufen. Alle Benachrichtigungen in der Sammlung werden auch aus dem Benachrichtigungscenter entfernt.

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

Entfernen von Benachrichtigungen in einer Sammlung

Verwenden Sie die Eigenschaften "Tag " und "Gruppe ", um einzelne Benachrichtigungen innerhalb einer Sammlung zu identifizieren und zu entfernen, indem Sie "Remove" aufrufen oder alle Benachrichtigungen gleichzeitig mit " Löschen" löschen" löschen.

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

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

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

Siehe auch