Appaviseringssamlingar

Använd samlingar för att organisera appens meddelanden i Meddelandecenter. Samlingar hjälper användarna att hitta information enklare och gör det möjligt för utvecklare att bättre hantera sina meddelanden.

En meddelandeapp kan till exempel separera meddelanden efter chattgrupp. Varje grupprubrik ("Comp Sci 160A Project Chat", "Direct Messages", "Lacrosse Team Chat") är en separat samling. Meddelanden grupperas som om de vore från en separat app, även om de alla kommer från samma app. Ett mer subtilt sätt att organisera aviseringar finns i Appmeddelandehuvuden.

samlingsexempel med två olika grupper av meddelanden

Anmärkning

Kodexemplen i den här artikeln använder namnområdet Microsoft.Windows.AppNotifications för att skapa meddelandeinnehåll och namnområdet Windows.UI.Notifications för samlingshantering. Dessa två namnområden kan användas tillsammans i samma app.

Mer information om appaviseringar finns i Översikt över appaviseringar.

Skapa en samling

När du skapar en samling anger du ett visningsnamn och en ikon som visas i Meddelandecenter som en del av samlingens rubrik. Samlingar kräver också ett startargument så att appen kan navigera till rätt plats när användaren klickar på samlingens rubrik. Skapa samlingen genom att anropa 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);

Skicka ett meddelande till en samling

Använd AppNotificationBuilder för att konstruera meddelandeinnehållet och anropa sedan GetToastNotifierForToastCollectionIdAsync för att hämta en avisering som är kopplad till samlingen.

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

Visa en lista över alla samlingar

Hämta alla samlingar som skapats för din app genom att anropa FindAllToastCollectionsAsync.

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

Uppdatera en samling

Uppdatera en samling genom att skapa en ny ToastCollection-instans med samma ID och anropa 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);

Ta bort en samling

Ta bort en samling genom att anropa RemoveToastCollectionAsync med samlings-ID:t. Meddelanden i samlingen tas också bort från Meddelandecenter.

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

Ta bort meddelanden i en samling

Använd egenskaperna Tagg och grupp för att identifiera och ta bort enskilda meddelanden i en samling genom att anropa Ta bort eller rensa alla meddelanden samtidigt med 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();

Se även