App-Benachrichtigungsinhalt
App-Benachrichtigungen sind flexible Benachrichtigungen mit Text, Bildern und Schaltflächen/Eingaben. In diesem Artikel werden die UI-Elemente beschrieben, die in einer App-Benachrichtigung verwendet werden können, und es werden Codebeispiele zum Generieren des XML-Formats für eine App-Benachrichtigung bereitgestellt.
Hinweis
Der Begriff "Popupbenachrichtigung" wird durch "App-Benachrichtigung" ersetzt. Diese Begriffe beziehen sich beide auf dasselbe Feature von Windows, aber im Laufe der Zeit wird die Verwendung von "Popupbenachrichtigung" in der Dokumentation eingestellt.
Erste Schritte
App-Benachrichtigungen werden mit einer XML-Nutzlast definiert, die durch das App-Benachrichtigungsschema definiert wird. Derzeit gibt es drei Möglichkeiten, die XML-Nutzlast für eine App-Benachrichtigung zu generieren. Die Codebeispiele in diesem Artikel veranschaulichen alle drei Methoden:
- Die Microsoft.Windows.AppNotifications.Builder-APIs: Dieser Namespace wurde in Windows App SDK 1.2 eingeführt und stellt 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, die diese APIs verwenden, befinden sich auf den Registerkarten mit der Bezeichnung "Windows App SDK".
- Die
Microsoft.Toolkit.Uwp.Notifications
Generatorsyntax: Diese APIs sind Teil des UWP Community Toolkits und bieten Unterstützung für UWP-Apps. Obwohl diese APIs auch für Windows App SDK-Apps verwendet werden 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 UWP Community Toolkit Notifications hinzu. Die in diesem Artikel bereitgestellten C#-Beispiele verwenden Version 7.0.0 des NuGet-Pakets. Codebeispiele, die diese APIs verwenden, befinden sich auf den Registerkarten mit der Bezeichnung "Windows Community Toolkit". - Unformatiertes XML: Wenn Sie möchten, können Sie Ihren eigenen benutzerdefinierten Code erstellen, um XML-Zeichenfolgen im erforderlichen Format zu generieren. Die XML-Rohbeispiele befinden sich in den Registerkarten mit der Bezeichnung "XML".
Installieren Sie den Notifications Visualizer. Diese kostenlose Windows-App unterstützt Sie beim Entwerfen interaktiver App-Benachrichtigungen, indem sie eine sofortige visuelle Vorschau Ihres Popups während der Bearbeitung bereitstellt, ähnlich wie der XAML-Editor/Entwurfsansicht von Visual Studio. Weitere Informationen finden Sie unter Schnellansicht für Benachrichtigungen , oder laden Sie die Schnellansicht für Benachrichtigungen aus dem Store herunter.
In diesem Artikel wird nur das Erstellen des App-Benachrichtigungsinhalts behandelt. Informationen zum Senden einer Benachrichtigung nach dem Generieren der XML-Nutzlast finden Sie unter Senden einer lokalen App-Benachrichtigung.
App-Benachrichtigungsstruktur
Zu den wichtigen, allgemeinen Komponenten einer XML-Nutzlast für App-Benachrichtigungen gehören:
- toast: Das start-Attribut dieses Elements definiert, welche Argumente an Ihre App zurückgegeben werden, wenn der Benutzer auf Ihr Popup klickt, sodass Sie einen Deep-Link zu dem richtigen Inhalt, den das Popup angezeigt hat, verknüpfen können. Weitere Informationen finden Sie unter Senden einer lokalen App-Benachrichtigung.
- visual: Dieses Element stellt den visuellen Teil des Popups dar, einschließlich der generischen Bindung, die Text und Bilder enthält.
- actions: Dieses Element stellt einen interaktiven Teil des Popups dar, einschließlich Eingaben und Aktionen.
- audio: Dieses Element gibt das Audio an, das wiedergegeben wird, wenn das Popup dem Benutzer 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 sehen Sie eine visuelle Darstellung des Inhalts der App-Benachrichtigung:
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 zum Schließen, mit der der Benutzer die Benachrichtigung schnell schließen kann, und ein Auslassungsmenü, mit dem der Benutzer schnell Benachrichtigungen für Ihre App deaktivieren oder zur Windows-Einstellungsseite für die Benachrichtigungen Ihrer App wechseln kann. Der Zuordnungsbereich wird von der Shell konfiguriert und kann nicht in der XML-Nutzlast des Popups überschrieben werden, obwohl Ihre App dem Kontextmenü des Zuordnungsbereichs Elemente hinzufügen kann. Weitere Informationen finden Sie unter Kontextmenüaktionen.
Visuelles Element
Jede App-Benachrichtigung muss ein visuelles Element angeben, in dem Sie eine generische Popupbindung bereitstellen müssen, die Text und Bilder enthalten kann. Diese Elemente werden auf verschiedenen Windows-Geräten wie Desktop, Smartphones, Tablets und Xbox gerendert.
Informationen zu allen attributen, die im visuellen Abschnitt und den zugehörigen untergeordneten Elementen unterstützt werden, finden Sie unter App-Benachrichtigungsschema.
Textelemente
Jede App-Benachrichtigung muss mindestens ein Textelement enthalten und kann zwei zusätzliche Textelemente enthalten, alle vom Typ AdaptiveText.
Seit dem Windows 10 Anniversary Update können Sie steuern, wie viele Textzeilen angezeigt werden, indem Sie die HintMaxLines-Eigenschaft für den Text verwenden. Der Standardwert (und Maximalwert) beträgt bis zu 2 Textzeilen 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 nach allen Textelementen angezeigt, die die volle Breite des visuellen Bereichs ausfüllen.
var builder = new AppNotificationBuilder()
.AddText("Featured image of the day.")
.SetInlineImage(new Uri("ms-appx:///Images/InlineImage.png"));
AppNotificationManager.Default.Show(builder.BuildNotification());
App-Logo-Außerkraftsetzung
Wenn Sie den Platzierungswert "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, bei denen das Bild das Standardmäßige App-Logo-Bild ersetzen würde. In Windows 11 wird das App-Logo im Zuordnungsbereich angezeigt, sodass es nicht durch die AppLogoOverride-Bildplatzierung überschrieben wird.
Die Bildabmessungen betragen 48 x 48 Pixel bei einer Skalierung von 100 %. Im Allgemeinen wird empfohlen, für jedes Symbolobjekt eine Version für jeden Skalierungsfaktor bereitzustellen: 100 %, 125 %, 150 %, 200 % und 400 %.
var builder = new AppNotificationBuilder()
.AddText("Featured image of the day.")
.SetAppLogoOverride(new Uri("ms-appx:///Images/AppLogo.png"));
Hinweis zum Zuschneiden
Microsoft-Stilrichtlinien empfehlen die Darstellung von Profilbildern mit einem kreisförmigen Bild, um eine konsistente Darstellung von Personen über Apps und die Shell hinweg bereitzustellen. Legen Sie die HintCrop-Eigenschaft auf Circle fest, um das Bild mit einem kreisförmigen Zuschnitt zu rendern.
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 in Anniversary Update: App-Benachrichtigungen können ein Hero-Bild anzeigen, bei dem es sich um ein ausgewähltes ToastGenericHeroImage handelt, das im Popupbanner und im Info-Center prominent angezeigt wird. Die Bildabmessungen betragen 364 x 180 Pixel bei einer Skalierung von 100 %.
var builder = new AppNotificationBuilder()
.AddText("Marry Anne")
.AddText("Check out where we camped last night!")
.SetHeroImage(new Uri("ms-appx:///Images/HeroImage.png"));
Bildgrößeneinschränkungen
Die Bilder, die Sie in Ihrer Popupbenachrichtigung verwenden, können aus...
- http://
- ms-appx:///
- ms-appdata:///
Für HTTP- und HTTPS-Remotewebbilder gibt es Grenzwerte für die Dateigröße jedes einzelnen Bilds. Im Fall Creators Update (16299) haben wir den Grenzwert auf 3 MB für normale Verbindungen und 1 MB für getaktete Verbindungen erhöht. Davor waren Bilder immer auf 200 KB beschränkt.
Normale Verbindung | Getaktete Verbindung | Vor dem Fall Creators Update |
---|---|---|
3 MB | 1 MB | 200 KB |
Wenn ein Bild die Dateigröße überschreitet, das Herunterladen fehlschlägt oder ein Zeitlimit auftritt, wird das Bild gelöscht, und der Rest der Benachrichtigung wird angezeigt.
Namensnennungstext
Neu in Anniversary Update: Wenn Sie auf die Quelle Ihrer Inhalte verweisen müssen, können Sie Namensnennungstext verwenden. Dieser Text wird immer unter allen Textelementen, aber oberhalb von Inlinebildern angezeigt. Der Text verwendet eine etwas kleinere Größe als Standardtextelemente, um die Unterscheidung von regulären Textelementen zu erleichtern.
In ä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).
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/Information/der Inhalt generiert wurde. Dieser Zeitstempel ist im Notification Center sichtbar.
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));
Statusleiste
Neu in Creators Update: Sie können eine Statusleiste für Ihre App-Benachrichtigung bereitstellen, um den Benutzer über den Fortschritt von Vorgängen wie Downloads auf dem Laufenden zu halten.
Weitere Informationen zur Verwendung einer Statusleiste finden Sie unter Popupstatusleiste.
Header
Neu in Creators Update: Sie können Benachrichtigungen im Notification Center unter Kopfzeilen gruppiert. Beispielsweise können Sie Nachrichten aus einem Gruppenchat unter einer Kopfzeile oder Gruppenbenachrichtigungen zu einem gemeinsamen Design unter einer Kopfzeile oder mehr gruppieren.
Weitere Informationen zur Verwendung von Headern finden Sie unter Popupheader.
Adaptive Inhalte
Neu in Anniversary Update: Zusätzlich zu den oben angegebenen Inhalten können Sie auch zusätzliche adaptive Inhalte anzeigen, die beim Erweitern des Popups angezeigt werden.
Dieser zusätzliche Inhalt wird mithilfe von Adaptive angegeben. Weitere Informationen finden Sie in der Dokumentation zu adaptiven Kacheln.
Beachten Sie, dass alle adaptiven Inhalte in einer AdaptiveGroup enthalten sein müssen. Andernfalls wird es nicht mit adaptiven Gerendert.
Spalten und Textelemente
Hier sehen Sie ein Beispiel, in dem Spalten und einige erweiterte Elemente für adaptiven Text verwendet werden. Da sich die Textelemente in einer AdaptiveGroup befinden, unterstützen sie alle umfangreichen eigenschaften des adaptiven Stils.
// The Microsoft.Windows.AppNotifications.Builder syntax does not currently support adaptive text elements.
Schaltflächen
Schaltflächen ermöglichen das Interaktive Popup, sodass der Benutzer schnelle Aktionen für Ihre 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. Schaltflächen werden im erweiterten Teil Ihrer Benachrichtigung angezeigt.
Weitere Informationen zum Implementieren von Schaltflächen im End-to-End-Abschnitt finden Sie unter Senden eines lokalen Popups.
Schaltflächen können eine App auf folgende Weise aktivieren:
- Die App wird im Vordergrund mit einem Argument aktiviert, mit dem zu einer bestimmten Seite/einem bestimmten Kontext navigiert werden kann.
- Eine weitere App wird per Protokollstart aktiviert.
- Die Hintergrundaktivierung wird explizit für UWP-Apps 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 durch eine Benachrichtigung gestartet wurde, und anhand der übergebenen Argumente ermitteln, ob die Vordergrund-App vollständig gestartet oder nur die Benachrichtigung verarbeitet und beendet werden soll.
- Systemaktionen, z. B. das Snoozing oder Das 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 unformatierten XML implementieren.
Hinweis
Sie können nur über bis zu 5 Schaltflächen verfügen (einschließlich Kontextmenüelementen, die wir später besprechen).
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");
Schaltflächen mit Symbolen
Sie können Ihren Schaltflächen Symbole hinzufügen. Bei diesen Symbolen handelt es sich um weiße transparente 16 x 16 Pixel bei einer Skalierung von 100 % und sollte keine Auffüllung im Bild selbst enthalten sein. Wenn Sie Symbole für eine Popupbenachrichtigung angeben möchten, müssen Sie Symbole für ALLE Schaltflächen in der Benachrichtigung angeben, da dadurch der Stil Ihrer Schaltflächen in Symbolschaltflächen umgewandelt wird.
Hinweis
Achten Sie für die 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 "High Contrast White" aktiviert. Weitere Informationen finden Sie unter Unterstützung von Kachel- und Popupbenachrichtigungen für Sprache, Skalierung und hohen Kontrast.
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: Mit der HintToolTip-Eigenschaft in XML können Sie Ihren Symbolen QuickInfos hinzufügen. Dies ist ideal, wenn Ihre Schaltflächen Symbole, aber keinen Inhalt aufweisen, da Sie so sicherstellen, dass Sie Text übergeben können, den die Windows-Sprachausgabe lesen kann. Wenn jedoch Inhalt vorhanden ist, liest die Sprachausgabe 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 rote oder grüne Farben hinzufügen, indem Sie dem XML-Element toast das attribut useButtonStyle und das attribut "hint-buttonStyle" zum XML-Element der Aktion hinzufügen, wie unten dargestellt.
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 in 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 Schaltflächen in Ihrer Benachrichtigung angezeigt.
Die zusätzlichen Kontextmenüaktionen, die Sie hinzufügen (z. B. "Gruppenchat für 1 Stunde stumm schalten") werden über den beiden Standardsystemeinträgen angezeigt.
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 5 Schaltflächen auf einem Popup bei.
Die Aktivierung zusätzlicher Kontextmenüelemente wird identisch mit Popupschaltflächen behandelt.
Eingaben
Eingaben werden im Aktionsbereich der App-Benachrichtigung angegeben, was bedeutet, dass sie nur sichtbar sind, wenn die Benachrichtigung erweitert wird.
Textfeld "Schnelle Antwort"
Um ein Textfeld für schnelle Antworten (z. B. in einer Messaging-App) zu aktivieren, fügen Sie eine Texteingabe und eine 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, falls angegeben, ein Bild mit 32 x 32 Pixeln ohne Auffüllung, weiße Pixel auf transparent und 100 % Skalierung sein.
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 einen (oder viele) Eingaben mit normalen Schaltflächen unter den Eingaben anzeigen.
// The Microsoft.Windows.AppNotifications.Builder syntax does not currently support quick reply text boxes.
Auswahleingabe
Neben Textfeldern können Sie auch ein Auswahlmenü verwenden.
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());
Schlummern/Schließen
Mithilfe eines Auswahlmenüs und zwei Schaltflächen können wir eine Erinnerungsbenachrichtigung erstellen, die die Aktionen zum Snooze und Schließen des Systems verwendet. Stellen Sie sicher, dass Sie das Szenario auf "Erinnerung" festlegen, damit sich die Benachrichtigung wie eine Erinnerung verhält.
Wir verknüpfen die Schaltfläche Snooze mit der Auswahlmenüeingabe, indem wir die SelectionBoxId-Eigenschaft für die Popupschaltfläche verwenden.
Die Syntax Microsoft.Windows.AppNotifications.Builder 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 APIs oder des Microsoft.Toolkit.Uwp.Notifications
rohen 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 System-Snooze und schließen Aktionen:
- Angeben von ToastButtonSnooze oder ToastButtonDismiss
- Geben Sie optional eine benutzerdefinierte Inhaltszeichenfolge an:
- Wenn Sie keine Zeichenfolge angeben, verwenden wir automatisch lokalisierte Zeichenfolgen für "Snooze" und "Dismiss".
- Geben Sie optional die SelectionBoxId an:
- Wenn Sie nicht möchten, dass der Benutzer ein Intervall für das erneute Erinnern auswählen kann, sondern das erneute Erinnern an die Benachrichtigung nur einmal in einem vom System definierten (in allen Betriebssystemen einheitlichen) Zeitintervall erfolgt, legen Sie keinen Wert für <input> fest.
- Wenn Sie Snooze-Intervallauswahlen bereitstellen möchten: - Angeben von SelectionBoxId in der Snooze-Aktion: Abgleichen der ID der Eingabe mit der SelectionBoxId der Snooze-Aktion : Geben Sie den Wert von ToastSelectionBoxItem als nonNegativeInteger an, der das Snooze-Intervall in Minuten darstellt.
Audio
Benutzerdefinierte Audiowiedergabe wurde schon immer auf Mobilgeräten unterstützt und wird in Desktopversion 1511 (Build 10586) oder höher unterstützt. Auf benutzerdefinierte Audiodaten kann über die folgenden Pfade verwiesen 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 schon 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 Seite Audioschema . Informationen zum Senden einer App-Benachrichtigung mit benutzerdefiniertem Audio finden Sie unter Benutzerdefiniertes Audio für Popups.
Szenarien
Um wichtige Benachrichtigungen, Alarme, Erinnerungen und Benachrichtigungen für eingehende Anrufe zu erstellen, verwenden Sie einfach eine normale App-Benachrichtigung mit einem Ihr zugewiesenen Szenariowert . Das Szenario passt einige Verhaltensweisen an, um eine konsistente und einheitliche Benutzeroberfläche zu schaffen. Es gibt vier mögliche Szenariowerte :
- Erinnerung
- Alarm
- IncomingCall
- Urgent
Reminders
Im Erinnerungsszenario bleibt die Benachrichtigung auf dem Bildschirm, bis der Benutzer sie verwirft oder Maßnahmen ergreift. Unter 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 wie eine normale Benachrichtigung behandelt.
var builder = new AppNotificationBuilder()
.AddText("Notification text.")
.SetScenario(AppNotificationScenario.Reminder);
Alarme
Alarme verhalten sich genauso wie Erinnerungen, mit der Ausnahme, dass Alarme zusätzlich Audio mit einem Standardalarmton schleifen. Sie müssen mindestens eine Schaltfläche in Ihrer App-Benachrichtigung angeben. Andernfalls wird die Benachrichtigung wie eine 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 angezeigt und bleiben auf dem Bildschirm des Benutzers, bis sie geschlossen werden. Klingeltonaudio wird standardmäßig schleifen. Auf Windows Mobile-Geräten wird der Vollbildmodus angezeigt.
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
Erforderlich: Sie müssen Windows Insider Preview Build 22546 oder höher ausführen, um wichtige Benachrichtigungen verwenden zu können.
Wichtige Benachrichtigungen ermöglichen Es Benutzern, mehr Kontrolle darüber zu haben, welche Apps der 1. Partei und der 3. Drittanbieter ihnen App-Benachrichtigungen mit hoher Priorität (dringend/wichtig) senden können, die den Fokus-Assistenten (Nicht stören) durchbrechen können. Dies kann in den Benachrichtigungseinstellungen geändert werden.
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 Anzeigesprache, Anzeigeskalafaktor, hohen Kontrast und andere Laufzeitkontexte zugeschnitten sind. Weitere Informationen finden Sie unter Unterstützung von Kachel- und Popupbenachrichtigungen für Sprache, Skalierung und hohen Kontrast.
Behandeln der Aktivierung
Informationen zum Behandeln von App-Aktivierungen (der Benutzer, der auf das Popup oder die Schaltflächen auf das Popup klickt), finden Sie unter Senden eines lokalen Popups.