Freigeben über


App-Benachrichtigungsinhalt

In diesem Artikel werden die UI-Elemente beschrieben, die in einer App-Benachrichtigung verwendet werden können, und enthält Codebeispiele zum Generieren des Benachrichtigungsinhalts. Weitere Informationen zu App-Benachrichtigungen finden Sie in der Übersicht über App-Benachrichtigungen. Eine exemplarische Vorgehensweise zum Implementieren von App-Benachrichtigungen finden Sie unter Quickstart: App-Benachrichtigungen im Windows App SDK.

Erste Schritte

App-Benachrichtigungen werden mit einer XML-Nutzlast definiert, die vom App-Benachrichtigungsschema definiert wird. Derzeit gibt es zwei Möglichkeiten zum Generieren der XML-Nutzlast für eine App-Benachrichtigung. Die Codebeispiele in diesem Artikel veranschaulichen beide Methoden:

  • Die Microsoft.Windows. AppNotifications.Builder-APIs – In Windows App SDK 1.2 eingeführt, stellt dieser Namespace APIs bereit, mit denen Sie die XML-Nutzlast für eine Benachrichtigung programmgesteuert erstellen können, ohne sich Gedanken über die Besonderheiten des XML-Formats machen zu müssen. Codebeispiele mit diesen APIs befinden sich auf den Registerkarten mit der Bezeichnung "Windows App SDK".
  • Raw XML – Wenn Sie es vorziehen, können Sie ihren eigenen benutzerdefinierten Code erstellen, um XML-Zeichenfolgen im erforderlichen Format zu generieren. Die XML-Rohdatenbeispiele befinden sich in den Registerkarten mit der Bezeichnung "XML".

Installieren Sie Notifications Visualizer. Mit dieser kostenlosen Windows-App können Sie interaktive App-Benachrichtigungen entwerfen, indem Sie während Ihrer Bearbeitung eine sofortige visuelle Vorschau Ihres Toasts erhalten, ähnlich wie die XAML-Editor-/Entwurfsansicht von Visual Studio. Weitere Informationen finden Sie unter Notifications Visualizer oder laden Sie Notifications Visualizer aus dem Storeherunter.

In diesem Artikel wird nur das Erstellen des App-Benachrichtigungsinhalts behandelt. Informationen zum Senden einer Benachrichtigung finden Sie in der Übersicht über App-Benachrichtigungen.

App-Benachrichtigungsstruktur

Einige wichtige, übergeordnete Komponenten eines XML-Datensatzes für App-Benachrichtigungen umfassen:

  • Toast-: Das Startattribut dieses Elements bestimmt, welche Argumente an Ihre App zurückgesendet werden, wenn der Benutzer auf Ihre Toast-Benachrichtigung klickt, sodass Sie einen Deep-Link zu dem richtigen Inhalt erstellen können, den die Toast-Benachrichtigung anzeigt. Weitere Informationen finden Sie in der Übersicht über App-Benachrichtigungen.
  • visueller: Dieses Element stellt den visuellen Teil der Toast-Benachrichtigung dar, einschließlich des generischen Bindungselements, das Text und Bilder enthält.
  • Aktionen: Dieses Element stellt einen interaktiven Teil des Popups dar, einschließlich Eingaben und Aktionen.
  • Audio-: Dieses Element legt das abgespielte Audio fest, wenn dem Benutzer die Toast-Benachrichtigung 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:

Screenshot einer App-Benachrichtigung mit Bezeichnungen für den Attributionsbereich oben mit dem App-Symbol und dem App-Namen Notifications Visualizer. Der mittlere Teil der Benachrichtigung wird als visueller Bereich bezeichnet, der drei Textzeilen enthält. Der untere Abschnitt der Benachrichtigung wird als Aktionsbereich bezeichnet und enthält zwei Schaltflächen mit der Bezeichnung

Attributionsbereich

Der Attributionsbereich befindet sich oben in der App-Benachrichtigung. Beginnend mit Windows 11 werden der Name und das Symbol Ihrer App in diesem Bereich angezeigt. Der Zuordnungsbereich enthält auch eine Schaltfläche zum Schließen, mit der der Benutzer die Benachrichtigung schnell schließen kann, und ein Auslassungszeichenmenü, mit dem der Benutzer Benachrichtigungen für Ihre App schnell deaktivieren oder zur Seite "Windows Einstellungen" für die Benachrichtigungen Ihrer App wechseln kann. Der Attributionsbereich wird von der Shell konfiguriert und kann in der Toast-XML-Nutzlast nicht außer Kraft gesetzt werden, obwohl Ihre App dem Kontextmenü des Attributionsbereichs Elemente hinzufügen kann. Weitere Informationen finden Sie unter Kontextmenüaktionen.

Visuell

Jede App-Benachrichtigung muss ein visuelles-Element angeben, für das Sie eine generische Toast-Bindung bereitstellen, die Text und Bilder enthalten kann. Diese Elemente werden auf verschiedenen Windows-Geräten gerendert, einschließlich Desktop, Smartphones, Tablets und Xbox.

Alle im Abschnitt Visual-Bereich und dessen untergeordneten Elementen unterstützten Attribute finden Sie im App-Benachrichtigungsschema.

Textelemente

Jede App-Benachrichtigung muss über mindestens ein Textelement verfügen und kann zwei zusätzliche Textelemente enthalten, alle vom Typ "AdaptiveText". Textelemente unterstützen die Datenbindung, sodass Sie Textinhalte aktualisieren können, nachdem die Benachrichtigung angezeigt wurde. Weitere Informationen finden Sie unter Statusleiste und Datenbindung der App-Benachrichtigung.

Screenshot einer App-Benachrichtigung mit drei Textzeilen. Die oberste Textzeile ist fett formatiert.

Mit der AppNotificationTextProperties.SetMaxLines-Methode können Sie steuern, wie viele Textzeilen angezeigt werden. Der Standardwert (und Maximum) beträgt bis zu 2 Zeilen Text für den Titel und bis zu 4 Zeilen (kombiniert) für die beiden zusätzlichen Beschreibungselemente (das 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");

Inlinebild

Standardmäßig werden Bilder inline angezeigt und füllen nach den Textelementen die volle Breite des visuellen Bereichs aus. Verwenden Sie "AppNotificationBuilder.SetInlineImage ", um ein Inlinebild hinzuzufügen.

Ein Screenshot einer App-Benachrichtigung mit der standardmäßigen Bildplatzierung, inline und füllt die volle Breite des visuellen Bereichs.

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 Platzierungswert von "appLogoOverride" angeben, wird das Bild in einem Quadrat auf der linken Seite des visuellen Bereichs angezeigt. Verwenden Sie "AppNotificationBuilder.SetAppLogoOverride ", um dieses Bild festzulegen. Der Name dieser Eigenschaft spiegelt das Verhalten in früheren Versionen von Windows wider, bei dem das Bild das Standardmäßige App-Logobild ersetzen würde. In Windows 11 wird das App-Logo im Attributionsbereich 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, für jeden Skalierungsfaktor eine Version jedes Symbols bereitzustellen: 100%, 125%, 150%, 200%und 400%.

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

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

Zuschneidehinweis

Microsoft Stilrichtlinien empfehlen, Profilbilder mit einem Kreisbild darzustellen, um eine konsistente Darstellung von Personen in apps und der Shell bereitzustellen. Übergeben Sie AppNotificationImageCrop.Circle an SetAppLogoOverride , um das Bild mit einem kreisförmigen Zuschnitt zu rendern.

Ein Screenshot einer App-Benachrichtigung, in der das App-Logo die Bildplatzierung überschreibt, die in einen Kreis auf der linken Seite des visuellen Bereichs des Popups 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);

Hero-Bild

App-Benachrichtigungen können ein Hero-Image anzeigen, bei dem es sich um ein hervorgehobenes ToastGenericHeroImage handelt, das im Toast-Banner und in der Benachrichtigungszentrale gut sichtbar angezeigt wird. Verwenden Sie "AppNotificationBuilder.SetHeroImage ", um ein Hero-Bild hinzuzufügen. Bildabmessungen sind 364 x 180 Pixel bei einer Skalierung von 100%.

Screenshot einer App-Benachrichtigung mit der Platzierung des Herobilds oberhalb des Attributionsbereichs.

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

Größenbeschränkungen für Bilder

Die Bilder, die Sie in Ihrer App-Benachrichtigung verwenden, können aus...

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

Bei HTTP- und Https-Remotewebbildern gibt es Grenzwerte für die Dateigröße jedes einzelnen Bilds. Der Grenzwert beträgt 3 MB bei normalen Verbindungen und 1 MB bei getakteten Verbindungen.

Normale Verbindung Getaktete Verbindung
3 MB 1 MB

Wenn ein Bild die zulässige Dateigröße überschreitet, das Herunterladen fehlschlägt oder ein Timeout auftritt, wird das Bild ausgelassen, und der Rest der Benachrichtigung wird angezeigt.

Attributionstext

Wenn Sie auf die Quelle Ihrer Inhalte verweisen müssen, können Sie Attributionstext verwenden. Verwenden Sie AppNotificationBuilder.SetAttributionText , um Attributionstext festzulegen. Dieser Text wird immer unter allen Textelementen angezeigt, aber oberhalb von Inlinebildern. Der Text verwendet eine etwas kleinere Größe als Standardtextelemente, um dabei zu helfen, ihn von regulären Textelementen zu unterscheiden.

Bei älteren Versionen von Windows, die keine Zuordnungstext unterstützen, wird der Text einfach als ein anderes Textelement angezeigt (vorausgesetzt, Sie verfügen nicht bereits über maximal drei Textelemente).

Screenshot einer App-Benachrichtigung mit dem Zuschreibungstext

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

Sie können den vom System bereitgestellten Zeitstempel mit ihrem eigenen Zeitstempel überschreiben, der genau darstellt, wann die Nachricht/Informationen/Inhalte generiert wurden. Dieser Zeitstempel ist im Benachrichtigungscenter sichtbar.

Screenshot einer Benachrichtigung im Benachrichtigungscenter mit einem benutzerdefinierten Zeitstempel

Weitere Informationen zur Verwendung eines benutzerdefinierten Zeitstempels finden Sie unter "Benutzerdefinierte Zeitstempel" für App-Benachrichtigungen.

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

Fortschrittsbalken

Sie können eine Statusanzeige für Ihre App-Benachrichtigung bereitstellen, um den Benutzer über den Fortschritt von Vorgängen wie Downloads auf dem Laufenden zu halten. Statusanzeigen unterstützen die Datenbindung, sodass Sie die Statuswerte dynamisch aktualisieren können, nachdem die Benachrichtigung angezeigt wurde.

Screenshot einer App-Benachrichtigung mit einer Statusanzeige.

Weitere Informationen zur Verwendung einer Statusanzeige finden Sie unter Statusanzeige für App-Benachrichtigungen und Datenbindung.

Headers

Sie können Benachrichtigungen unter Kopfzeilen im Benachrichtigungscenter gruppieren. Sie können z. B. Nachrichten aus einem Gruppenchat unter einer Kopfzeile oder Gruppenbenachrichtigungen eines gemeinsamen Themas unter einer Kopfzeile oder weiterem gruppieren.

Screenshot eines Aktionscenters mit mehreren Benachrichtigungen für die Anwendung Notifications Viewer unter einer Kopfzeile mit der Bezeichnung

Weitere Informationen zur Verwendung von Kopfzeilen finden Sie unter App-Benachrichtigungsheader.

Adaptiver Inhalt

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 mithilfe von Adaptive angegeben, über den Sie mehr erfahren können, indem Sie die Dokumentation zu Adaptiven Kacheln lesen.

Beachten Sie, dass alle adaptiven Inhalte in einer AdaptiveGroupenthalten sein müssen. Andernfalls wird es nicht adaptiv gerendert.

Spalten und Textelemente

Hier ist ein Beispiel, in dem Spalten und einige erweiterte adaptive Textelemente verwendet werden. Da die Textelemente innerhalb einer Adaptive-Group-liegen, unterstützen sie alle umfangreichen adaptiven Stileigenschaften.

Screenshot einer App-Benachrichtigung mit Gruppen von Textelementen, die links und rechts vom visuellen Bereich der Benachrichtigung ausgerichtet sind.

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

Knöpfe

Schaltflächen machen Ihre Toast-Benachrichtigung interaktiv, sodass der Benutzer schnelle Aktionen ausführen kann, ohne seinen aktuellen Arbeitsablauf 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. Schaltflächen werden im erweiterten Teil Ihrer Benachrichtigung angezeigt. Verwenden Sie AppNotificationButton , um Schaltflächen und AppNotificationBuilder.AddButton zu definieren, um sie der Benachrichtigung hinzuzufügen.

Weitere Informationen zum durchgehenden Implementieren von Schaltflächen finden Sie in der Übersicht über App-Benachrichtigungen.

Schaltflächen 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 durch einen Protokollaufruf gestartet.
  • Die Hintergrundaktivierung wird für UWP-Apps explizit unterstützt. Bei Windows App SDK Apps wird die App immer im Vordergrund gestartet. Die App kann AppInstance.GetActivatedEventArgs- aufrufen, um zu erkennen, ob die Aktivierung von einer Benachrichtigung gestartet wurde, und anhand der übergebenen Argumente ermitteln, ob die Vordergrund-App vollständig gestartet oder nur die Benachrichtigung behandelt und beendet werden soll.
  • Systemaktionen wie das Snoozing oder Schließen 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 rohem XML implementieren.

Hinweis

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

Screenshot einer App-Benachrichtigung mit einer Textzeile, gefolgt von einer Zeile mit zwei Schaltflächen, die durch Aktionselemente definiert sind

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

Schaltflächen mit Symbolen

Mithilfe von AppNotificationButton.SetIcon können Sie Ihren Schaltflächen Symbole hinzufügen. Diese Symbole sind weiße, transparente 16 × 16 Pixel Grafiken mit einer Skalierung von 100 % und sollten keinen Abstand innerhalb des Bildes enthalten. Wenn Sie Symbole für eine App-Benachrichtigung bereitstellen möchten, müssen Sie Symbole für alle Schaltflächen in der Benachrichtigung bereitstellen, da sie die Formatvorlage Ihrer Schaltflächen in Symbolschaltflächen verwandelt.

Hinweis

Achten Sie bei der Barrierefreiheit darauf, eine kontrastweiße Version des Symbols (ein schwarzes Symbol für weiße Hintergründe) einzuschließen, damit ihr Symbol sichtbar ist, wenn der Benutzer den Modus "Weiß mit hohem Kontrast" aktiviert. Weitere Informationen finden Sie unter Unterstützung für Kachel- und Popupbenachrichtigungen für Sprache, Skalierung und hohen Kontrast.

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

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 HintToolTipeigenschaft in XML hinzufügen. Dies ist ideal, wenn Ihre Schaltflächen Symbole, aber keine Inhalte enthalten, da es sicherstellt, dass Sie Text übergeben können, der vom Windows-Narrator gelesen werden kann. Wenn jedoch Inhalt vorhanden ist, liest das Bildschirmleseprogramm den Inhalt, unabhängig davon, was in der QuickInfo übergeben 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); 

Schaltflächen mit Farben

Neu in Windows 11 Update: Sie können Ihren Schaltflächen mit AppNotificationButton.SetButtonStyle und AppNotificationButtonStyle rote oder grüne Farben hinzufügen. Fügen Sie in XML das useButtonStyle-Attribut dem toast-Element und das hint-buttonStyle-Attribut dem Aktionselement hinzu, wie unten dargestellt.

Screenshot einer Benachrichtigung mit drei Schaltflächen, die beiden linken Schaltflächen sind grün mit Symbolen zum Starten eines Videoanrufs oder Starten eines Audioanrufs. Die dritte Schaltfläche ist rot und weist ein Symbol zum Ablehnen des Anrufs auf.

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

Sie können dem vorhandenen Kontextmenü zusätzliche Kontextmenüaktionen hinzufügen, die angezeigt werden, wenn der Benutzer mit der rechten Maustaste auf Ihre App-Benachrichtigung klickt oder das Kontextmenüsymbol auswählt. Verwenden Sie AppNotificationButton.SetContextMenuPlacement , um eine Schaltfläche im Kontextmenü anstelle der Aktionsleiste zu platzieren.

Hinweis

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

Die zusätzlichen Kontextmenüaktionen, die Sie hinzufügen (z. B. "Gruppenchat 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 Schaltflächen auf einem Popup bei.

Die Aktivierung zusätzlicher Kontextmenüelemente wird identisch mit Toast-Benachrichtigungen behandelt.

Eingänge

Eingaben werden innerhalb des Aktionen Bereichs der App-Benachrichtigung angegeben, das heißt, sie sind nur sichtbar, wenn die Benachrichtigung erweitert ist.

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 mit AppNotificationBuilder.AddTextBox und einer Schaltfläche hinzu, und verweisen Sie auf die ID des Texteingabefelds, sodass die Schaltfläche neben dem Eingabefeld angezeigt wird. Das optionale Symbol für die Schaltfläche sollte, wenn angegeben, ein Bild mit 32 x 32 Pixeln ohne Rand sein, wobei weiße Pixel transparent gesetzt werden und eine 100%%-Skalierung verwendet wird.

Screenshot einer App-Benachrichtigung mit einem Profilbild und einigen Textzeilen. Ein Textfeld zum direkten Eingeben in die Benachrichtigung ist enthalten 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 zusammen mit normalen Schaltflächen anzeigen lassen, die unter den Eingaben angeordnet sind.

Screenshot einer App-Benachrichtigung mit einer Textzeile, einem Textfeld und einer Zeile mit zwei Schaltflächen mit der Bezeichnung

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

Auswahleingabe

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

Screenshot einer App-Benachrichtigung mit einer Textzeile, einer Auswahleingabe mit

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

Snooze/dismiss

Mithilfe eines Auswahlmenüs und zweier Schaltflächen können wir eine Erinnerungsbenachrichtigung erstellen, die die Schlummer- und Schließen-Aktionen 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 die Uhrzeit und den Ort einer Besprechung beschreiben. Ein Auswahlfeld zeigt

Wir verknüpfen die Schlummertaste mit der Auswahlmenüeingabe mithilfe der SelectionBoxId Eigenschaft auf der Schaltfläche.

Die Microsoft.Windows. AppNotifications.Buildersyntax 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 mit unformatiertem 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 raw XML.

So verwenden Sie die Systemaktionen Snoozen und Schließen:

  • Angeben eines ToastButtonSnooze- oder ToastButtonDismiss-
  • Geben Sie optional eine benutzerdefinierte Inhaltszeichenfolge an:
  • Wenn Sie keine Zeichenfolge angeben, verwenden wir automatisch lokalisierte Zeichenfolgen für "Erneut erinnern" und "Schließen".
  • Geben Sie optional die SelectionBoxId-an:
  • Wenn Sie nicht möchten, dass der Benutzer ein Schlummerintervall auswählt und stattdessen möchten, dass Ihre Benachrichtigung nur einmal für ein systemdefiniertes Zeitintervall (das über das Betriebssystem hinweg konsistent ist) schlummert, dann erstellen Sie überhaupt keine <Eingabe>.
  • Wenn Sie Intervallauswahlen für das Snooze 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 den Wert von ToastSelectionBoxIteman, damit er eine nicht-negative ganze Zahl ist, die das Snooze-Intervall in Minuten darstellt.

Audio

Verwenden Sie "AppNotificationBuilder.SetAudioUri ", um eine benutzerdefinierte Audiodatei anzugeben, oder verwenden Sie "AppNotificationBuilder.SetAudioEvent ", um einen Systemsound auszuwählen. 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 ms-winsoundeventsauswä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 den App-Benachrichtigungen finden Sie auf der Audioschemaseite . Informationen zum Senden einer App-Benachrichtigung, die benutzerdefinierte Audio verwendet, finden Sie unter "Benutzerdefiniertes Audio in App-Benachrichtigungen".

Szenarien

Um wichtige Benachrichtigungen, Alarme, Erinnerungen und eingehende Anrufbenachrichtigungen zu erstellen, verwenden Sie AppNotificationBuilder.SetScenario mit einem AppNotificationScenario-Wert . Das Szenario passt ein paar Verhaltensweisen an, um eine konsistente und einheitliche Benutzeroberfläche zu schaffen. Es gibt vier mögliche Szenario- Werte:

  • Reminder
  • Alarm
  • IncomingCall
  • Urgent

Erinnerungen

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

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

Alarms

Alarme verhalten sich genauso wie Erinnerungen, außer, dass bei Alarmen zusätzlich ein Ton mit einem Standardalarmton in einer Schleife abgespielt wird. Sie müssen mindestens eine Schaltfläche 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 zunächst erweitert angezeigt und bleiben auf dem Bildschirm des Benutzers, bis sie verworfen werden. Klingelton wird standardmäßig im Loop wiedergegeben. Auf Windows Mobilen Geräten werden sie im Vollbildmodus angezeigt.

Benachrichtigung der App für eingehende Anrufe

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

Von Bedeutung

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

Wichtige Benachrichtigungen ermöglichen Benutzern mehr Kontrolle darüber, welche Erstanbieter- und Drittanbieter-Apps ihnen Benachrichtigungen mit hoher Priorität (dringend/wichtig) senden können, die den Fokus-Assistent (Nicht stören) unterbrechen können. Dies kann in den Benachrichtigungseinstellungen geändert werden.

Screenshot einer dringenden App-Benachrichtigung mit einem Ausrufezeichen im Zuordnungsbereich neben dem App-Namen. Die Abbildung zeigt auch die vom System initiierte App-Benachrichtigung, die Schaltflächen für den Benutzer bereitstellt, um dringende Benachrichtigungen aus der App zuzulassen oder zu verbieten.

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 Zeichenfolgen und Bilder laden, die auf die Anzeigesprache, den Skalierungsfaktor, hohen Kontrast und andere Laufzeitkontexte zugeschnitten sind. Weitere Informationen finden Sie unter Unterstützung für Kachel- und Popupbenachrichtigungen für Sprache, Skalierung und hohen Kontrast.

Verwaltung der Aktivierung

Informationen zum Behandeln von App-Aktivierungen (wenn der Benutzer auf Ihre Benachrichtigung oder die Schaltflächen auf der Benachrichtigung klickt), finden Sie unter App-Benachrichtigungsübersicht.