Freigeben über


Benachrichtigungsüberschriften der App

Sie können eine Reihe verwandter Benachrichtigungen im Benachrichtigungscenter visuell gruppieren, indem Sie Ihren Benachrichtigungen eine Kopfzeile hinzufügen.

In dem unten gezeigten Beispiel wird diese Gruppenunterhaltung unter einer einzigen Kopfzeile: "Camping!!" zusammengefasst. Jede einzelne Nachricht in der Unterhaltung ist eine separate App-Benachrichtigung, die denselben Header teilt.

Benachrichtigungen mit Kopfzeile

Sie können Ihre Benachrichtigungen auch visuell nach Kategorie gruppieren, z. B. Flight-Erinnerungen, Paketverfolgung und vieles mehr.

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

Hinzufügen einer Kopfzeile zu einer Benachrichtigung

Hinweis

AppNotificationBuilder enthält SetHeader derzeit keine Methode. Verwenden Sie daher die XML-Nutzlast direkt mit dem AppNotification-Konstruktor .

using Microsoft.Windows.AppNotifications;

string xml = @"
<toast>
    <header id='6289' title='Camping!!' arguments='action=openConversation&amp;id=6289'/>
    <visual>
        <binding template='ToastGeneric'>
            <text>Anyone have a sleeping bag I can borrow?</text>
        </binding>
    </visual>
</toast>";

var notification = new AppNotification(xml);
AppNotificationManager.Default.Show(notification);

Wenn Sie mehrere Benachrichtigungen unter demselben Header gruppieren möchten, verwenden Sie für jede Benachrichtigung dieselbe Header-ID . Die ID ist die einzige Eigenschaft, die zum Bestimmen der Gruppierung verwendet wird . Der Titel und die Argumente können sich zwischen Benachrichtigungen unterscheiden. Die Werte aus der letzten Benachrichtigung in der Gruppe werden angezeigt. Wenn diese Benachrichtigung entfernt wird, fallen die Werte auf die nächste letzte Benachrichtigung zurück.

Behandeln der Aktivierung aus einem Header

Kopfzeilen können geklickt werden. Die Arguments-Eigenschaft in der Kopfzeile gibt an, welcher Kontext an Ihre App übergeben werden soll, wenn der Benutzer auf die Kopfzeile klickt, ähnlich wie startargumente in der Benachrichtigung selbst.

Die Aktivierung aus einem Header wird über das NotificationInvoked-Ereignis behandelt, das mit jeder anderen Benachrichtigungsaktivierung übereinstimmt. Weitere Informationen zum Einrichten der Aktivierung finden Sie in der Schnellstartanleitung zu App-Benachrichtigungen.

AppNotificationManager.Default.NotificationInvoked += (sender, args) =>
{
    // For the header defined above, args.Argument contains:
    // "action=openConversation&id=6289"
    string arguments = args.Argument;
};

Zusätzliche Details

  • Kopfzeilen trennen und gruppieren Benachrichtigungen visuell, ändern jedoch nicht die maximale Anzahl von Benachrichtigungen, die eine App haben kann (20), noch das First-in-First-Out-Prinzip der Benachrichtigungsliste.
  • Die ID kann eine beliebige Zeichenfolge sein. Es gibt keine Längen- oder Zeichenbeschränkungen für die Kopfzeileneigenschaften. Die einzige Einschränkung besteht darin, dass der gesamte XML-Benachrichtigungsinhalt 5 KB nicht überschreiten kann.
  • Durch das Erstellen von Kopfzeilen wird die Anzahl der im Infocenter angezeigten Benachrichtigungen nicht geändert, bevor die Schaltfläche "Mehr anzeigen" angezeigt wird (standardmäßig 3, vom Benutzer in den Systembenachrichtigungseinstellungen konfigurierbar).
  • Wenn Sie auf eine Kopfzeile klicken, werden die Benachrichtigungen, die zu dieser Kopfzeile gehören, nicht gelöscht. Ihre App sollte die Benachrichtigungs-APIs verwenden, um die relevanten Benachrichtigungen zu löschen.

Siehe auch