Inhalt der App-Benachrichtigung

App-Benachrichtigungen sind flexible Benachrichtigungen mit Text, Bildern und Schaltflächen/Eingaben. In diesem Artikel werden die Benutzeroberflächenelemente beschrieben, die in einer App-Benachrichtigung verwendet werden können und enthält Codebeispiele zum Generieren des XML-Formats für eine App-Benachrichtigung.

Hinweis

Der Begriff „Popupbenachrichtigung“ wird durch „App-Benachrichtigung“ ersetzt. Diese Begriffe beziehen sich beide auf das gleiche Feature von Windows, aber im Laufe der Zeit wird die Verwendung von „Popupbenachrichtigung“ in der Dokumentation auslaufen.

Erste Schritte

App-Benachrichtigungen werden mit einem XML-Payload definiert, die vom App-Benachrichtigungsschema definiert wird. Derzeit gibt es drei Möglichkeiten zum Generieren des XML-Payloads für eine App-Benachrichtigung. Die Codebeispiele in diesem Artikel veranschaulichen alle drei Methoden:

  • Microsoft.Windows.AppNotifications.Builder-APIs – Dieser Namespace wurde in Windows App SDK 1.2 eingeführt und bietet APIs, mit denen Sie den XML-Payload für eine Benachrichtigung einfach programmatisch erstellen können, ohne sich um die Besonderheiten des XML-Formats kümmern zu müssen. Codebeispiele, die diese APIs verwenden, finden Sie auf den Registerkarten mit der Bezeichnung „Windows App SDK“.
  • Die Microsoft.Toolkit.Uwp.Notifications-Generatorsyntax – Diese APIs sind Teil des UWP Community Toolkit und bieten Unterstützung für UWP-Apps. Obwohl diese APIs auch für Windows-App-SDK-Apps verwendet können und weiterhin unterstützt werden, empfehlen wir, dass neue Implementierungen die Microsoft.Windows.AppNotifications.Builder-APIs verwenden. Um Community-Toolkit-APIs zu verwenden, fügen Sie ihrem Projekt das Nuget-Paket für UWP-Community-Toolkit-Benachrichtigungen hinzu. Die in diesem Artikel bereitgestellten C#-Beispiele verwenden Version 7.0.0 des NuGet-Pakets. Codebeispiele, die diese APIs verwenden, finden Sie auf den Registerkarten mit der Bezeichnung „Windows-Community-Toolkit“.
  • Raw XML – Wenn Sie es vorziehen, können Sie ihren eigenen benutzerdefinierten Code erstellen, um XML-Zeichenketten im erforderlichen Format zu generieren. Die XML-Rohdatenbeispiele befinden sich in den Registerkarten mit der Bezeichnung „XML“.

Notifications Visualizer installieren. Mit dieser kostenlosen Windows-App können Sie interaktive App-Benachrichtigungen entwerfen, indem Sie beim Bearbeiten eine sofortige visuelle Vorschau Ihres Popups bereitstellen, ähnlich wie die XAML-Editor-/Designansicht von Visual Studio. Weitere Informationen finden Sie unter Notifications Visualizer oder Notifications Visualizer aus dem Store herunterladen.

In diesem Artikel wird nur das Erstellen des App-Benachrichtigungsinhalts behandelt. Informationen zum Senden einer Benachrichtigung nach dem Generieren des XML-Payloads finden Sie unter Senden einer lokalen App-Benachrichtigung.

App-Benachrichtigungsstruktur

Einige wichtige, allgemeine Komponenten eines XML-Payloads für App-Benachrichtigungen umfassen:

  • Popup: Das Start-Attribut dieses Elements definiert, welche Argumente an Ihre App zurückgesendet werden, wenn der Benutzer auf das Popup klickt, sodass Sie einen Deep-Link zu dem richtigen Inhalt erstellen können, den das Popup anzeigt. Weitere Informationen finden Sie unter Senden einer lokalen App-Benachrichtigung.
  • visuelles Objekt: Dieses Element stellt einen visuellen Teil des Popups dar, einschließlich der generischen Bindung, die Text und Bilder enthält.
  • Aktionen: Dieses Element stellt einen interaktiven Teil des Popups dar, einschließlich Eingaben und Aktionen.
  • Audio: Dieses Element gibt die Audiowiedergabe an, wenn dem Benutzer das Popup angezeigt wird.
var builder = new AppNotificationBuilder()
    .AddArgument("conversationId", "9813")

    .AddText("Some text")

    .AddButton(new AppNotificationButton("Archive")
        .AddArgument("action", "archive"))

    .SetAudioUri(new Uri("ms-appx:///Sound.mp3"));

Hier ist eine visuelle Darstellung des Inhalts der App-Benachrichtigung:

Ein Screenshot einer App-Benachrichtigung mit Beschriftungen für den Attributionsbereich oben, der das App-Symbol und den App-Namen zeigt. Notifications Visualizer. Der mittlere Teil des Toasts wird als visueller Bereich bezeichnet, der drei Textzeilen enthält. Der untere Teil des Toasts ist als Aktionsbereich gekennzeichnet und enthält zwei Schaltflächen mit den Bezeichnungen Annehmen und Ablehnen.

Zuordnungsbereich

Der Zuordnungsbereich befindet sich oben in der App-Benachrichtigung. Ab Windows 11 werden der Name und das Symbol Ihrer App in diesem Bereich angezeigt. Der Zuordnungsbereich enthält auch eine Schaltfläche „Schließen“, mit der der Benutzer die Benachrichtigung schnell schließen kann und ein Ellipsenmenü, mit dem der Benutzer Benachrichtigungen für Ihre App schnell deaktivieren oder zur Windows-Einstellungen-Seite für die Benachrichtigungen Ihrer App wechseln kann. Der Zuordnungsbereich wird von der Shell konfiguriert und kann nicht im Popup-XML-Payload außer Kraft gesetzt werden, obwohl Ihre App Elemente zum Menü „Globaler Kontext“ des Zuordnungsbereichs hinzufügen kann. Weitere Informationen finden Sie unter Aktionen im Kontextmenü.

Visuelles Element

Jede App-Benachrichtigung muss ein visuelles Element angeben, in dem Sie eine generische Popupbindung bereitstellen müssen und das Text und Bilder enthalten kann. Diese Elemente werden auf verschiedenen Windows-Geräten gerendert, einschließlich Desktop, Telefonen, Tablets und Xbox.

Alle Attribute, die im visuellen Abschnitt und den zugehörigen untergeordneten Elementen unterstützt werden, finden Sie unter App-Benachrichtigungsschema.

Textelemente

Jede App-Benachrichtigung muss über mindestens ein Textelement verfügen und kann zwei zusätzliche Textelemente enthalten, alle vom Typ AdaptiveText.

Ein Screenshot einer App-Benachrichtigung mit drei Textzeilen. Die oberste Zeile des Textes ist fett gedruckt.

Seit dem Windows 10 Anniversary Update können Sie steuern, wie viele Textzeilen mithilfe der HintMaxLines-Eigenschaft im Text angezeigt werden. Die Standardeinstellung (und das Maximum) sind bis zu 2 Textzeilen für den Titel und bis zu 4 Zeilen (kombiniert) für die beiden zusätzlichen Beschreibungselemente (der zweite und dritte AdaptiveText).

var builder = new AppNotificationBuilder()
    .AddArgument("conversationId", 9813)
    .AddText("Adaptive Tiles Meeting", new AppNotificationTextProperties().SetMaxLines(1))
    .AddText("Conf Room 2001 / Building 135")
    .AddText("10:00 AM - 10:30 AM");

Eingebundenes Bild

Standardmäßig werden Bilder inline angezeigt, nachdem Textelemente die volle Breite des visuellen Bereichs ausgefüllt haben.

Ein Screenshot einer App-Benachrichtigung zeigt die standardmäßige Platzierung des Bildes inline, das die gesamte Breite des Sichtbereichs ausfüllt.

var builder = new AppNotificationBuilder()
    .AddText("Featured image of the day.")
    .SetInlineImage(new Uri("ms-appx:///Images/InlineImage.png"));

AppNotificationManager.Default.Show(builder.BuildNotification());

Außerkraftsetzung des App-Logos

Wenn Sie einen Platzierungs-Wert von „appLogoOverride“ angeben, wird das Bild in einem Quadrat auf der linken Seite des visuellen Bereichs angezeigt. Der Name dieser Eigenschaft spiegelt das Verhalten in früheren Versionen von Windows wider, in denen das Bild das Standardlogo der App ersetzte. In Windows 11 wird das App-Logo im Zuordnungsbereich angezeigt, sodass es nicht durch die appLogoOverride-Bildplatzierung überschrieben wird.

Bildabmessungen sind 48 x 48 Pixel bei einer Skalierung von 100 %. Es wird in der Regel empfohlen, jede Symbolressource für jeden Skalierungsfaktor bereitzustellen: 100 %, 125 %, 150 %, 200 % und 400 %.

Ein Screenshot einer App-Benachrichtigung zeigt die Platzierung des App-Logos in einem Quadrat auf der linken Seite des visuellen Bereichs der Benachrichtigung.

var builder = new AppNotificationBuilder()
    .AddText("Featured image of the day.")
    .SetAppLogoOverride(new Uri("ms-appx:///Images/AppLogo.png"));

Hinweis-Zuschnitt

Microsoft-Stilrichtlinien empfehlen, Profilbilder mit einem kreisförmigen Bild darzustellen, um eine konsistente Darstellung von Personen in Apps und der Shell bereitzustellen. Legen Sie die HintCrop-Eigenschaft auf Circle fest, um das Bild mit einem kreisförmigen Zuschnitt zu rendern.

Ein Screenshot einer App-Benachrichtigung zeigt die Platzierung des App-Logos, das in einen Kreis auf der linken Seite des sichtbaren Bereichs des Toasts zugeschnitten ist.

var builder = new AppNotificationBuilder()
    .AddText("Matt sent you a friend request")
    .AddText("Hey, wanna dress up as wizards and ride around on hoverboards?")
    .SetAppLogoOverride(new Uri("ms-appx:///Images/Profile.png"), AppNotificationImageCrop.Circle);

Herobild

Neu im Anniversary Update: App-Benachrichtigungen können ein Herobild anzeigen, bei dem es sich um ein empfohlenes ToastGenericHeroImage handelt, das im Popupbanner und in der Mitteilungszentrale gut sichtbar angezeigt wird. Bildabmessungen sind 364 x 180 Pixel bei einer Skalierung von 100 %.

Ein Screenshot einer App-Benachrichtigung, der die Platzierung des Heldenbildes über dem Bereich für die Zuordnung zeigt.

var builder = new AppNotificationBuilder()
    .AddText("Marry Anne")
    .AddText("Check out where we camped last night!")
    .SetHeroImage(new Uri("ms-appx:///Images/HeroImage.png"));

Beschränkungen der Bildgröße

Die Bilder, die Sie in Ihrer Popupbenachrichtigung verwenden, können aus...

  • http://
  • ms-appx:///
  • ms-appdata:///

Bei HTTP- und https-Remotewebbildern gibt es Grenzwerte für die Dateigröße jedes einzelnen Bildes. Im Fall Creators Update (16299) haben wir das Limit auf 3 MB bei normalen Verbindungen und 1 MB bei getakteten Verbindungen erhöht. Davor waren Bilder immer auf 200 KB beschränkt.

Normale Verbindung Getaktete Verbindung Vor Fall Creators Update
3 MB 1 MB 200 KB

Wenn ein Bild die Dateigröße überschreitet oder das Herunterladen fehlschlägt oder eine Zeitüberschreitung auftritt, wird das Bild gelöscht und der Rest der Benachrichtigung wird angezeigt.

Zuordnungstext

Neu im Anniversary Update: Wenn Sie auf die Quelle Ihrer Inhalte verweisen müssen, können Sie Zuordnungstext verwenden. Dieser Text wird immer unter allen Textelementen angezeigt, aber oberhalb von Inline-Bildern. Der Text verwendet eine etwas kleinere Größe als Standardtextelemente, um von regulären Textelementen zu unterscheiden.

In älteren Versionen von Windows, die keinen Zuordnungstext unterstützen, wird der Text einfach als ein anderes Textelement angezeigt (vorausgesetzt, Sie haben nicht bereits die maximale Anzahl von drei Textelementen).

Ein Screenshot einer Toast-Benachrichtigung zeigt den Text „via SMS“ unter den anderen Textzeilen im Sichtbereich des Toasts.

var builder = new AppNotificationBuilder()
    .AddText("Marry Anne")
    .AddText("Check out where we camped last night!")
    .SetAttributionText("via SMS");
    .SetHeroImage(new Uri("ms-appx:///Images/HeroImage.png"));

Benutzerdefinierter Zeitstempel

Neu in Creators Update: Sie können jetzt den vom System bereitgestellten Zeitstempel mit Ihrem eigenen Zeitstempel überschreiben, der genau darstellt, wann die Nachricht/Informationen/Inhalte generiert wurden. Dieser Zeitstempel ist in der Mitteilungszentrale sichtbar.

Screenshot einer Benachrichtigung im Benachrichtigungscenter mit einem benutzerdefinierten Zeitstempel

Weitere Informationen zur Verwendung eines benutzerdefinierten Zeitstempels finden Sie unter benutzerdefinierte Zeitstempel für Popups.

var builder = new AppNotificationBuilder()
    .AddText("Matt sent you a friend request")
    .AddText("Hey, wanna dress up as wizards and ride around on hoverboards?")
    .SetTimeStamp(new DateTime(2017, 04, 15, 19, 45, 00, DateTimeKind.Utc));

Fortschrittsleiste

Neu im Creators Update: Sie können eine Statusanzeige in Ihrer App-Benachrichtigung bereitstellen, um den Benutzer über den Fortschritt von Vorgängen wie Downloads auf dem Laufenden zu halten.

Ein Screenshot einer Toast-Benachrichtigung mit einem Fortschrittsbalken.

Weitere Informationen zur Verwendung einer Statusanzeige finden Sie in der Statusanzeige für Popups.

Headers (Kopfzeilen)

Neu im Creators Update: Sie können Benachrichtigungen unter Headern in der Mitteilungszentrale gruppieren. Sie können z. B. Nachrichten aus einem Gruppen-Chat unter einem Header oder Gruppenbenachrichtigungen zu einem gemeinsamen Thema unter einem Header oder mehr gruppieren.

Ein Screenshot eines Action Centers mit mehreren Benachrichtigungen für die Anwendung Notifications Viewer, die unter einer Überschrift mit der Bezeichnung

Weitere Informationen zur Verwendung von Headern finden Sie unter Popupheader.

Adaptiver Inhalt

Neu im Anniversary Update: Zusätzlich zu den oben angegebenen Inhalten können Sie auch zusätzliche adaptive Inhalte anzeigen, die sichtbar sind, wenn das Popup erweitert wird.

Dieser zusätzliche Inhalt wird mit Hilfe von Adaptive angegeben, über das Sie in der Dokumentation zu adaptiven Kacheln mehr erfahren können.

Beachten Sie, dass alle adaptiven Inhalte in einer AdaptiveGroup enthalten sein müssen. Andernfalls wird er nicht mithilfe von adaptiv gerendert.

Spalten und Textelemente

Hier ist ein Beispiel, in dem Spalten und einige erweiterte adaptive Textelemente verwendet werden. Da sich die Textelemente in einer AdaptiveGroup befinden, unterstützen sie alle umfangreichen adaptiven Stileigenschaften.

Ein Screenshot einer Toast-Benachrichtigung zeigt Gruppen von Textelementen, die links und rechts vom sichtbaren Bereich des Toasts angeordnet sind.

// The Microsoft.Windows.AppNotifications.Builder syntax does not currently support adaptive text elements.

Schaltflächen

Schaltflächen machen Ihr Popup interaktiv, sodass der Benutzer schnelle Aktionen in Ihrer App-Benachrichtigung ausführen kann, ohne den aktuellen Workflow zu unterbrechen. Beispielsweise können Benutzer direkt in einem Popup auf eine Nachricht antworten oder eine E-Mail löschen, ohne die E-Mail-App zu öffnen. Tasten werden im erweiterten Teil Ihrer Benachrichtigung angezeigt.

Weitere Informationen zum Implementieren von End-to-End-Tasten finden Sie unter Lokales Popup senden.

Tasten können eine App auf folgende Weise aktivieren:

  • Die App wird im Vordergrund aktiviert, mit einem Argument, das verwendet werden kann, um zu einer bestimmten Seite/einem bestimmten Kontext zu navigieren.
  • Eine andere App wird über den Protokollstart aktiviert.
  • Die Hintergrundaktivierung wird für UWP-Apps explizit unterstützt. Für Windows-App-SDK-Apps wird die App immer im Vordergrund gestartet. Die App kann AppInstance.GetActivatedEventArgs aufrufen, um zu ermitteln, ob die Aktivierung durch eine Benachrichtigung ausgelöst wurde und anhand der übergebenen Argumente bestimmen, ob die Vordergrund-App vollständig gestartet oder nur die Benachrichtigung bearbeitet und beendet werden soll.
  • Systemaktionen, wie z. B. das Schlummern oder Verwerfen der Benachrichtigung, werden sowohl für UWP-Apps als auch für Windows App SDK unterstützt. Die AppNotificationBuilder-APIs unterstützen dieses Szenario nicht, aber Windows-App-SDK-Apps können dieses Szenario mithilfe der Microsoft.Windows.AppNotifications.Builder-APIs oder mit unbearbeitetem XML implementieren.

Hinweis

Sie können nur über bis zu 5 Tasten verfügen (einschließlich Kontextmenüelemente, die wir später besprechen).

Ein Screenshot einer Toast-Benachrichtigung zeigt eine Textzeile, gefolgt von einer Reihe mit zwei Schaltflächen, die durch Aktionselemente definiert sind.

new ToastContentBuilder()
    var builder = new AppNotificationBuilder()
        .AddText("New product in stock!")
        .AddButton(new AppNotificationButton("See more details")
            .AddArgument("action", "viewDetails"))
            .AddArgument("contentId", "351")
        .AddButton(new AppNotificationButton("Remind me later")
            .AddArgument("action", "remindLater"))
            .AddArgument("contentId", "351");

Tasten mit Symbolen

Sie können Ihren Tasten Symbole hinzufügen. Diese Symbole sind weiße transparente 16x16-Pixel-Bilder mit einer Skalierung von 100 %, die keine Auffüllung im Bild selbst enthalten sollten. Wenn Sie Symbole für eine Popupbenachrichtigung bereitstellen möchten, müssen Sie Symbole für ALLE Tasten in der Benachrichtigung bereitstellen, da der Stil Ihrer Tasten in Symbolschaltflächen umgewandelt wird.

Hinweis

Achten Sie im Hinblick auf die Bedienungshilfen darauf, dass Sie eine kontrastreiche weiße Version des Symbols einfügen (ein schwarzes Symbol für weiße Hintergründe), so dass Ihr Symbol sichtbar ist, wenn der Benutzer den Modus „Weiß mit hohem Kontrast“ aktiviert. Weitere Informationen finden Sie unter Unterstützte Kachel- und Popupbenachrichtigungen für Sprache, Skalierungsfaktor und hohen Kontrast.

Screenshot einer App-Benachrichtigung, die Schaltflächen mit Symbolen verwendet.

new ToastContentBuilder()
    var builder = new AppNotificationBuilder()
        .AddText("Return books to the library.")
        .AddButton(new AppNotificationButton("Accept")
            .AddArgument("action", "accept")
            .SetIcon(new Uri("ms-appx:///Images/Accept.png")))
        .AddButton(new AppNotificationButton("Snooze")
            .AddArgument("action", "snooze")
            .SetIcon(new Uri("ms-appx:///Images/Snooze.png")))
        .AddButton(new AppNotificationButton("Dismiss")
            .AddArgument("action", "dismiss")
            .SetIcon(new Uri("ms-appx:///Images/Dismiss.png")));

Neu in Windows 11 Update: Sie können Ihren Symbolen QuickInfos mit der HintToolTip-Eigenschaft in XML hinzufügen. Dies ist ideal, wenn Ihre Tasten zwar Symbole, aber keinen Inhalt haben, da so sichergestellt wird, dass Sie Text übergeben können, den Windows-Sprachausgabe lesen kann. Wenn der Inhalt jedoch vorhanden ist, liest die Sprachausgabe den Inhalt unabhängig davon, was in der QuickInfo weitergegeben wird.

var button = new AppNotificationButton("Reply")
    .AddArgument("action", "reply");

if (AppNotificationButton.IsToolTipSupported())
{
    button.ToolTip = "Click to reply.";
}

var builder = new AppNotificationBuilder()
    .AddText("Notification text.")
    .AddButton(button); 

Tasten mit Farben

Neu in Windows 11 Update: Sie können Ihren Tasten rote oder grüne Farben hinzufügen, indem Sie das useButtonStyle-Attribut zum Popup-XML-Element und das Attribut hint-buttonStyle zum Aktions-XML-Element hinzufügen, wie unten dargestellt.

Ein Screenshot einer Benachrichtigung mit drei Schaltflächen. Die beiden linken Schaltflächen sind grün mit Symbolen zum Starten eines Videoanrufs oder eines Audioanrufs. Die dritte Taste ist rot und hat ein Symbol zum Abweisen des Anrufs.

var builder = new AppNotificationBuilder()
    .SetScenario(AppNotificationScenario.IncomingCall)
    .AddText("Andrew Bares", new AppNotificationTextProperties()
        .SetIncomingCallAlignment())
      .AddText("Incoming Call - Mobile", new AppNotificationTextProperties()
        .SetIncomingCallAlignment())
      .SetInlineImage(new Uri("ms-appx:///Images/Profile.png"),
        AppNotificationImageCrop.Circle)
    .AddButton(new AppNotificationButton()
        .SetToolTip("Answer Video Call")
        .SetButtonStyle(AppNotificationButtonStyle.Success)
        .SetIcon(new Uri("ms-appx:///Images/Video.png"))
        .AddArgument("videoId", "123"))
    .AddButton(new AppNotificationButton()
        .SetToolTip("Answer Phone Call")
        .SetButtonStyle(AppNotificationButtonStyle.Success)
        .SetIcon(new Uri("ms-appx:///Images/Call.png"))
        .AddArgument("callId", "123"))
    .AddButton(new AppNotificationButton()
        .SetToolTip("Hang Up")
        .SetButtonStyle(AppNotificationButtonStyle.Critical)
        .SetIcon(new Uri("ms-appx:///Images/HangUp.png"))
        .AddArgument("hangUpId", "123"));

Kontextmenüaktionen

Neu im Anniversary Update: Sie können dem vorhandenen Kontextmenü zusätzliche Kontextmenüaktionen hinzufügen, die angezeigt werden, wenn der Benutzer mit der rechten Maustaste auf Ihre Popupbenachrichtigung klickt oder das Kontextmenüsymbol auswählt.

Hinweis

Auf älteren Geräten werden diese zusätzlichen Kontextmenüaktionen einfach als normale Tasten in Ihrer Benachrichtigung angezeigt.

Die zusätzlichen Kontextmenüaktionen, die Sie hinzufügen (z. B. „Gruppen-Chat stummschalten für 1 Stunde“), werden oberhalb der beiden Standardsystemeinträge angezeigt.

Toast mit Kontextmenü

var builder = new AppNotificationBuilder()
    .AddText("Camping this weekend?")
    .SetAppLogoOverride(new Uri("ms-appx:///images/Reply.png"), AppNotificationImageCrop.Circle)
    .AddButton(new AppNotificationButton("Mute group chat for 1 hour")
        .AddArgument("action", "mute")
        .SetContextMenuPlacement());

Hinweis

Zusätzliche Kontextmenüelemente tragen zum Gesamtlimit von fünf Tasten auf einem Popup bei.

Die Aktivierung zusätzlicher Kontextmenüelemente wird identisch mit Popupschaltflächen behandelt.

Eingaben

Eingaben werden im Bereich Aktionen der App-Benachrichtigung angegeben, d. h., sie sind nur sichtbar, wenn die Benachrichtigung erweitert wird.

Textfeld für schnelle Antwort

Um ein Textfeld für schnelle Antworten (z. B. in einer Messaging-App) zu aktivieren, fügen Sie eine Texteingabe und eine Taste hinzu, und verweisen Sie auf die ID des Texteingabefelds, sodass die Taste neben dem Eingabefeld angezeigt wird. Das optionale Symbol für die Taste sollte, falls angegeben, ein Bild mit 32 x 32 Pixel ohne Auffüllung sein, dessen weiße Pixel auf transparent gesetzt sind und dessen Skalierung 100 % beträgt.

Ein Screenshot einer Toast-Benachrichtigung mit einem Profilbild und einigen Textzeilen. Es gibt ein Textfeld, in das man direkt in den Toast tippen kann, sowie eine Schaltfläche zum Senden der Antwort.

var builder = new AppNotificationBuilder()
    .AddTextBox("textBox", "Type a reply", "Reply")
    .AddButton(AppNotificationButton("Send")
        .AddArguments("action", "Send")
        .SetInputId("textBox"))
    .BuildNotification();

Eingaben mit Schaltflächenleiste

Sie können auch eine (oder mehrere) Eingaben mit normalen Tasten unter den Eingaben anzeigen.

Ein Screenshot einer App-Benachrichtigung mit einer Textzeile, einem Textfeld und einer Zeile mit zwei Schaltflächen mit den Bezeichnungen „Antworten

// The Microsoft.Windows.AppNotifications.Builder syntax does not currently support quick reply text boxes.

Auswahl Eingabe

Zusätzlich zu Textfeldern können Sie auch ein Auswahlmenü verwenden.

Ein Screenshot einer App-Benachrichtigung zeigt eine Textzeile, eine Auswahleingabe mit „Mittagessen

var builder = new AppNotificationBuilder()
    .AddText("4th coffee?")
    .AddText("When do you plan to come in tomorrow?")
    .AddComboBox(new AppNotificationComboBox("time")
        .SetTitle("Select an item:")
        .AddItem("breakfast", "Breakfast")
        .AddItem("lunch", "Lunch")
        .AddItem("dinner", "Dinner")
        .SetSelectedItem("lunch"))
    .AddButton(new AppNotificationButton("Reply")
        .AddArgument("action", "reply")
        .AddArgument("threadId", "9218")
        .SetContextMenuPlacement())
    .AddButton(new AppNotificationButton("Call restaurant")
        .AddArgument("action", "videocall")
        .AddArgument("threadId", "9218")
        .SetContextMenuPlacement());

Standbymodus aktivieren/schließen

Mithilfe eines Auswahlmenüs und zweier Tasten können wir eine Erinnerungsbenachrichtigung erstellen, die die Aktionen Standbymodus aktivieren und Schließen des Systems verwendet. Stellen Sie sicher, dass das Szenario auf „Erinnerung“ festgelegt ist, damit sich die Benachrichtigung wie eine Erinnerung verhält.

Ein Screenshot einer App-Benachrichtigung mit Textzeilen, die Zeit und Ort einer Besprechung beschreiben. In einem Auswahlfeld ist „15 Minuten“ ausgewählt, und es gibt Schaltflächen mit den Bezeichnungen Snooze und Dismiss.

Wir verknüpfen die Taste Standbymodus aktivieren mit der Auswahlmenüeingabe mithilfe der SelectionBoxId-Eigenschaft auf der Popupschaltfläche.

Die Microsoft.Windows.AppNotifications.Builder-Syntax unterstützt derzeit keine Systemaktivierung. Dieses Szenario wird jedoch für Windows-App-SDK-Apps unterstützt und Sie können Benachrichtigungen für dieses Szenario mithilfe der Microsoft.Toolkit.Uwp.Notifications-APIs oder unformatierten XML erstellen.

// The Microsoft.Windows.AppNotifications.Builder syntax does not currently support system activation. 
// But this scenario is supported for Windows App SDK apps, and you can build notifications for this 
// scenario using the `Microsoft.Toolkit.Uwp.Notifications` APIs or raw XML.

So verwenden Sie die Systemaktionen Standbymodus aktivieren und Schließen:

  • Geben Sie ein ToastButtonSnooze oder ToastButtonDismiss an
  • Geben Sie optional eine benutzerdefinierte Inhaltszeichenfolge an:
  • Wenn Sie keine Zeichenkette angeben, verwenden wir automatisch lokalisierte Zeichenketten für „Standbymodus aktivieren“ und „Schließen“.
  • Geben Sie optional die SelectionBoxId an:
  • Wenn Sie nicht möchten, dass der Benutzer ein Snooze-Intervall auswählt und stattdessen wollen, dass die Benachrichtigung nur einmal für ein vom System definiertes Zeitintervall (das im gesamten Betriebssystem konsistent ist) in den Snooze-Modus versetzt wird, sollten Sie überhaupt keine <Eingaben> machen.
  • Wenn Sie Snooze-Intervallauswahlen bereitstellen möchten: – Geben Sie SelectionBoxId in der Snooze-Aktion an – Stimmen Sie die ID der Eingabe mit der SelectionBoxId der Snooze-Aktion überein – Geben Sie als Wert für ToastSelectionBoxItem ein nonNegativeInteger an, das das Snooze-Intervall in Minuten angibt.

Audio

Benutzerdefiniertes Audio wurde auf Mobilgeräten schon immer unterstützt und wird auch in der Desktop-Version 1511 (Build 10586) oder höher unterstützt. Benutzerdefiniertes Audio kann über die folgenden Pfade referenziert werden:

  • ms-appx:///
  • ms-appdata:///
var builder = new AppNotificationBuilder()
    .AddText("Notification text.")
    .SetAudioUri(new Uri("ms-appx:///Audio/NotificationSound.mp3"));

Alternativ können Sie aus der Liste der ms-winsoundevents auswählen, die immer auf beiden Plattformen unterstützt wurden.

var builder = new AppNotificationBuilder()
    .AddText("Notification text.")
    .SetAudioEvent(AppNotificationSoundEvent.Alarm, AppNotificationAudioLooping.Loop);

Informationen zu Audio in App-Benachrichtigungen finden Sie auf der Audioschemaseite. Informationen zum Senden einer App-Benachrichtigung, die benutzerdefinierte Audio verwendet, finden Sie unter benutzerdefiniertes Audio für Popups.

Szenarien

Um wichtige Benachrichtigungen, Alarme, Erinnerungen und eingehende Anrufbenachrichtigungen zu erstellen, verwenden Sie einfach eine normale App-Benachrichtigung mit einem ihm zugewiesenen Szenariowert. Das Szenario passt ein paar Verhaltensweisen an, um ein konsistentes und einheitliches Benutzererlebnis zu schaffen. Es gibt vier mögliche Szenario-Werte:

  • Erinnerung
  • Alarm
  • IncomingCall
  • Urgent

Mahnungen

Im Erinnerungsszenario bleibt die Benachrichtigung auf dem Bildschirm, bis der Benutzer sie schließt oder eine Aktion ausführt. Unter Windows Mobile wird die App-Benachrichtigung auch vorab erweitert angezeigt. Es wird ein Erinnerungssound wiedergegeben. Sie müssen mindestens eine Taste in Ihrer App-Benachrichtigung angeben. Andernfalls wird die Benachrichtigung als normale Benachrichtigung behandelt.

var builder = new AppNotificationBuilder()
    .AddText("Notification text.")
    .SetScenario(AppNotificationScenario.Reminder);

Warnungen

Alarme verhalten sich genauso wie Erinnerungen, außer dass Alarme zusätzlich eine Audio-Loop mit einem Standard-Alarmton enthalten. Sie müssen mindestens eine Taste in Ihrer App-Benachrichtigung angeben. Andernfalls wird die Benachrichtigung als normale Benachrichtigung behandelt.

var builder = new AppNotificationBuilder()
    .AddText("Notification text.")
    .SetScenario(AppNotificationScenario.Alarm)
    .AddButton(new AppNotificationButton("Dismiss")
        .AddArgument("action", "dismiss"));

Eingehende Anrufe

Eingehende Anrufbenachrichtigungen werden in einem speziellen Anrufformat vorab erweitert und bleiben auf dem Bildschirm des Benutzers, bis sie geschlossen werden. Klingeltonaudio wird standardmäßig in einem Loop wiedergegeben. Auf Windows-Mobile-Geräten werden sie im Vollbildmodus angezeigt.

Toast-Benachrichtigung bei eingehenden Anrufen

var builder = new AppNotificationBuilder()
    .SetScenario(AppNotificationScenario.IncomingCall)
    .AddText("Andrew Bares", new AppNotificationTextProperties()
        .SetIncomingCallAlignment())
    .AddText("incoming call - mobile", new AppNotificationTextProperties()
        .SetIncomingCallAlignment())
      .SetInlineImage(new Uri("ms-appx:///images/profile.png"),
        AppNotificationImageCrop.Circle)
    .AddButton(new AppNotificationButton("Text reply")
        .SetToolTip("Text reply")
        .SetIcon(new Uri("ms-appx:///images/reply.png"))
        .AddArgument("textId", "123"))
    .AddButton(new AppNotificationButton("Reminder")
        .SetToolTip("Reminder")
        .SetIcon(new Uri("ms-appx:///images/reminder.png"))
        .AddArgument("reminderId", "123"))
    .AddButton(new AppNotificationButton("Ignore")
        .SetToolTip("Ignore")
        .SetIcon(new Uri("ms-appx:///images/ignore.png"))
        .AddArgument("ignoreId", "123"))
    .AddButton(new AppNotificationButton("Answer")
        .SetToolTip("Answer")
        .SetIcon(new Uri("ms-appx:///images/answer.png"))
        .AddArgument("answerId", "123"));

Wichtige Benachrichtigungen

Wichtig

Erfordert: Sie müssen Windows Insider Preview Build 22546 oder höher ausführen, um wichtige Benachrichtigungen zu verwenden.

Wichtige Benachrichtigungen ermöglichen dem Benutzer eine bessere Kontrolle darüber, welche Apps von Erst- und Drittanbietern ihm Benachrichtigungen mit hoher Priorität (dringend/wichtig) senden können, die den Benachrichtigungsassistenten (Nicht stören) durchbrechen können. Dies kann in den Benachrichtigungseinstellungen geändert werden.

Ein Screenshot einer dringenden App-Benachrichtigung mit einem Ausrufezeichen im Attributionsbereich neben dem App-Namen. Das Bild zeigt auch die vom System initiierte App-Benachrichtigung mit Schaltflächen, über die der Benutzer dringende Benachrichtigungen von der App zulassen oder verbieten kann.

var builder = new AppNotificationBuilder()
    .AddText("Adaptive Tiles Meeting", 
        new AppNotificationTextProperties()
            .SetMaxLines(1))
    .AddText("Conf Room 2001 / Building 135")
    .AddText("10:00 AM - 10:30 AM");

if (AppNotificationBuilder.IsUrgentScenarioSupported())
{
    builder.SetScenario(AppNotificationScenario.Urgent);
}

Lokalisierung und Barrierefreiheit

Ihre Kacheln und App-Benachrichtigungen können Zeichenketten und Bilder laden, die auf die Anzeigesprache, den Skalierungsfaktor, hohen Kontrast und andere Laufzeitkontexte zugeschnitten sind. Weitere Informationen finden Sie unter Unterstützte Kachel- und Popupbenachrichtigungen für Sprache, Skalierungsfaktor und hohen Kontrast.

Behandeln der Aktivierung

Informationen zum Behandeln von App-Aktivierungen (der Benutzer, der auf das Popup oder die Tasten auf das Popup klickt) finden Sie unter Lokales Popup senden.