Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Powiadomienia aplikacji to elastyczne powiadomienia z tekstem, obrazami i przyciskami/danymi wejściowymi. W tym artykule opisano elementy interfejsu użytkownika, które mogą być używane w powiadomieniu aplikacji i przedstawiono przykłady kodu służące do generowania formatu XML dla powiadomienia aplikacji.
Note
Określenie "powiadomienie typu toast" jest zastępowane terminem "powiadomienie aplikacji". Te dwa terminy odnoszą się do tej samej funkcji systemu Windows, ale z czasem wyeliminujemy użycie "toast notification" w dokumentacji.
Wprowadzenie
Powiadomienia aplikacji są definiowane przy użyciu ładunku XML zdefiniowanego przez schemat powiadomień aplikacji. Obecnie istnieją trzy sposoby generowania ładunku XML dla powiadomienia aplikacji. Przykłady kodu w tym artykule przedstawiają wszystkie trzy metody:
- API Microsoft.Windows.AppNotifications.Builder — wprowadzona w Windows App SDK 1.2, przestrzeń nazw, która udostępnia API, umożliwia łatwe tworzenie treści XML dla powiadomienia programistycznie, bez konieczności martwienia się o specyfikę formatu XML. Przykłady kodu korzystające z tych interfejsów API znajdują się na kartach oznaczonych etykietą "Zestaw SDK aplikacji systemu Windows".
- Składnia konstruktora
Microsoft.Toolkit.Uwp.Notifications— te interfejsy API są częścią zestawu narzędzi platformy UWP Community Toolkit i zapewniają obsługę aplikacji platformy UWP. Mimo że te interfejsy API mogą być również używane dla aplikacji zestawu SDK aplikacji systemu Windows i nadal są obsługiwane, zalecamy, aby nowe implementacje używały interfejsów API Microsoft.Windows.AppNotifications.Builder . Aby użyć interfejsów API Community Toolkit, dodaj pakiet NuGet o nazwie UWP Community Toolkit Notifications do swojego projektu. Przykłady języka C# podane w tym artykule używają wersji 7.0.0 pakietu NuGet. Przykłady kodu korzystające z tych interfejsów API znajdują się na kartach oznaczonych etykietą "Windows Community Toolkit". - Nieprzetworzone dane XML — jeśli wolisz, możesz utworzyć własny kod niestandardowy w celu wygenerowania ciągów XML w wymaganym formacie. Nieprzetworzone przykłady XML znajdują się na kartach oznaczonych etykietą "XML".
Zainstaluj wizualizator powiadomień. Ta bezpłatna aplikacja dla systemu Windows pomaga w projektowaniu interaktywnych powiadomień aplikacji poprzez oferowanie natychmiastowego podglądu wizualnego twojego toastu podczas edytowania, podobnie jak edytor/widok projektu XAML w Visual Studio. Aby uzyskać więcej informacji, zobacz Notifications Visualizer lub pobierz program Notifications Visualizer ze Sklepu.
W tym artykule opisano tylko tworzenie zawartości powiadomień aplikacji. Aby uzyskać informacje na temat wysyłania powiadomienia po wygenerowaniu ładunku XML, zobacz Wysyłanie powiadomienia aplikacji lokalnej.
Struktura powiadomień aplikacji
Oto niektóre ważne składniki wysokiego poziomu ładunku XML powiadomienia aplikacji:
- pl-PL: toast: Atrybut uruchamiania tego elementu określa, jakie argumenty będą przekazywane z powrotem do aplikacji, gdy użytkownik kliknie toast, co pozwala na bezpośrednie połączenie z odpowiednią zawartością wyświetlaną przez toasta. Aby dowiedzieć się więcej, zapoznaj się z sekcją Wysyłanie powiadomienia aplikacji lokalnej.
- wizualny: ten element reprezentuje wizualną część powiadomienia, w tym ogólne powiązanie zawierające tekst i obrazy.
- akcje: ten element reprezentuje interaktywną część powiadomienia, w tym dane wejściowe i akcje.
- audio: Ten element określa dźwięk odtwarzany, gdy komunikaty są wyświetlane użytkownikowi.
var builder = new AppNotificationBuilder()
.AddArgument("conversationId", "9813")
.AddText("Some text")
.AddButton(new AppNotificationButton("Archive")
.AddArgument("action", "archive"))
.SetAudioUri(new Uri("ms-appx:///Sound.mp3"));
Oto wizualna reprezentacja zawartości powiadomienia aplikacji:
Obszar autorstwa
Obszar przypisania znajduje się w górnej części powiadomienia aplikacji. Począwszy od systemu Windows 11, nazwa i ikona aplikacji są wyświetlane w tym obszarze. Obszar przypisania zawiera również przycisk zamknięcia, który umożliwia użytkownikowi szybkie odrzucenie powiadomienia i menu wielokropka, które umożliwia użytkownikowi szybkie wyłączenie powiadomień dla aplikacji lub przejście do strony Ustawienia systemu Windows dla powiadomień aplikacji. Obszar przypisania jest konfigurowany przez shell i nie można go zastąpić w ramach toast XML, chociaż aplikacja może dodawać elementy do menu kontekstowego obszaru przypisania. Aby uzyskać więcej informacji, zobacz Akcje menu kontekstowego.
Visual
Każde powiadomienie aplikacji musi określać wizualny element , w którym należy podać powiązanie typu toast, które może zawierać tekst i obrazy. Te elementy będą renderowane na różnych urządzeniach z systemem Windows, w tym na komputerach stacjonarnych, telefonach, tabletach i konsoli Xbox.
Aby uzyskać informacje o wszystkich atrybutach obsługiwanych w sekcji wizualizacji
Elementy tekstowe
Każde powiadomienie aplikacji musi zawierać co najmniej jeden element tekstowy i może zawierać dwa dodatkowe elementy tekstowe, wszystkie typy AdaptiveText.
Od rocznicowej aktualizacji systemu Windows 10 można kontrolować, ile wierszy tekstu jest wyświetlanych przy użyciu właściwości HintMaxLines tekstu. Wartość domyślna (i maksymalna) to maksymalnie 2 wiersze tekstu tytułu i maksymalnie 4 wiersze (połączone) dla dwóch dodatkowych elementów opisu (drugi i trzeci element 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");
Obraz wbudowany
Domyślnie obrazy są wyświetlane w linii z tekstem, po elementach tekstowych, wypełniając pełną szerokość obszaru wizualnego.
var builder = new AppNotificationBuilder()
.AddText("Featured image of the day.")
.SetInlineImage(new Uri("ms-appx:///Images/InlineImage.png"));
AppNotificationManager.Default.Show(builder.BuildNotification());
Zastąpienie logo aplikacji
Określenie umieszczania wartości "appLogoOverride" spowoduje wyświetlenie obrazu w kwadratu po lewej stronie obszaru wizualizacji. Nazwa tej właściwości odzwierciedla zachowanie w poprzednich wersjach systemu Windows, gdzie obraz zastąpi domyślny obraz logo aplikacji. W systemie Windows 11 logo aplikacji jest wyświetlane w obszarze przypisania, więc nie jest zastępowane przez umieszczenie obrazu appLogoOverride.
Wymiary obrazu to 48 x 48 pikseli przy 100% skalowaniu. Ogólnie zalecamy udostępnienie wersji każdego elementu zawartości ikony dla każdego współczynnika skalowania: 100%, 125%, 150%, 200%i 400%.
var builder = new AppNotificationBuilder()
.AddText("Featured image of the day.")
.SetAppLogoOverride(new Uri("ms-appx:///Images/AppLogo.png"));
Kadrowanie wskazówek
Wytyczne dotyczące stylu firmy Microsoft zalecają reprezentowanie zdjęć profilowych przy użyciu okrągłego obrazu, aby zapewnić jednolitą reprezentację osób w aplikacjach i powłoce. Ustaw właściwość HintCrop na Circle, aby zrenderować obraz z przycięciem kołowym.
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);
Obraz bohatera
Nowość w rocznicowej aktualizacji: Powiadomienia aplikacji mogą wyświetlać wyróżniony obraz, jakim jest ToastGenericHeroImage, widoczny na wyskakującym banerze oraz w Centrum Powiadomień. Wymiary obrazu to 364 x 180 pikseli przy 100% skalowania.
var builder = new AppNotificationBuilder()
.AddText("Marry Anne")
.AddText("Check out where we camped last night!")
.SetHeroImage(new Uri("ms-appx:///Images/HeroImage.png"));
Ograniczenia rozmiaru obrazu
Obrazy używane w powiadomieniu mogą pochodzić z...
- http://
- ms-appx:///
- ms-appdata:///
W przypadku zdalnych obrazów internetowych http i https istnieją ograniczenia dotyczące rozmiaru pliku poszczególnych obrazów. W aktualizacji Fall Creators Update (16299) zwiększyliśmy limit wynoszący 3 MB w przypadku normalnych połączeń i 1 MB na połączenia taryfowe. Wcześniej obrazy były zawsze ograniczone do 200 KB.
| Normalne połączenie | Połączenie zliczane | Przed aktualizacją Fall Creators Update |
|---|---|---|
| 3 MB | 1 MB | 200 KB |
Jeśli obraz przekracza rozmiar pliku lub nie można go pobrać lub przekroczy limit czasu, obraz zostanie porzucony, a pozostałe powiadomienie zostanie wyświetlone.
Tekst autorstwa
Nowość w rocznicowej aktualizacji: jeśli musisz odwołać się do źródła zawartości, możesz użyć tekstu autorstwa. Ten tekst jest zawsze wyświetlany poniżej wszystkich elementów tekstowych, ale powyżej obrazów wbudowanych. Tekst używa nieco mniejszego rozmiaru niż standardowe elementy tekstowe, aby ułatwić odróżnienie od zwykłych elementów tekstowych.
W starszych wersjach systemu Windows, które nie obsługują tekstu autorstwa, tekst będzie po prostu wyświetlany jako inny element tekstowy (przy założeniu, że nie masz jeszcze maksymalnie trzech elementów tekstowych).
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"));
Niestandardowy znacznik czasu
Nowość w aktualizacji dla twórców: teraz można zastąpić sygnaturę czasową podaną przez system własnym znacznikiem czasu, który dokładnie reprezentuje czas generowania komunikatu/informacji/zawartości. Ten znacznik czasu jest widoczny w Centrum powiadomień.
Aby dowiedzieć się więcej na temat używania niestandardowego znacznika czasu, zobacz niestandardowe sygnatury czasowe dla komunikatów.
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));
Pasek postępu
Nowość w aktualizacji dla twórców: możesz podać pasek postępu w powiadomieniu aplikacji, aby informować użytkownika o postępach operacji, takich jak pobieranie.
Aby dowiedzieć się więcej na temat korzystania z paska postępu, zobacz Pasek postępu wyskakowania.
Headers
New in Creators Update: powiadomienia można grupować w nagłówkach w Centrum powiadomień. Możesz na przykład grupować wiadomości z czatu grupowego w nagłówku lub powiadomienia grupy o wspólnym motywie w nagłówku lub więcej.
Aby dowiedzieć się więcej o korzystaniu z nagłówków, zobacz Nagłówki wyskakujące.
Zawartość adaptacyjna
Nowość w rocznicowej aktualizacji: Oprócz zawartości określonej powyżej, można również wyświetlić dodatkową adaptacyjną zawartość, która jest widoczna po rozwinięciu toast.
Ta dodatkowa zawartość jest określana przy użyciu Adaptive, o której możesz dowiedzieć się więcej, czytając dokumentację Adaptacyjne płytki.
Należy pamiętać, że każda zawartość adaptacyjna musi znajdować się w grupie adaptacyjnej. W przeciwnym razie nie będzie renderowany przy użyciu funkcji adaptacyjnej.
Kolumny i elementy tekstowe
Oto przykład, w którym są używane kolumny i niektóre zaawansowane elementy tekstu adaptacyjnego. Ponieważ elementy tekstowe znajdują się w grupie AdaptiveGroup, obsługują wszystkie zaawansowane właściwości adaptacyjnego stylu.
// The Microsoft.Windows.AppNotifications.Builder syntax does not currently support adaptive text elements.
Buttons
Przyciski sprawiają, że powiadomienia są interaktywne, umożliwiając użytkownikowi podjęcie szybkich działań w powiadomieniu aplikacji bez przerywania aktualnej pracy. Na przykład użytkownicy mogą odpowiedzieć na wiadomość bezpośrednio z poziomu powiadomienia lub usunąć e-mail, nawet nie otwierając aplikacji e-mail. Przyciski są wyświetlane w rozwiniętej części powiadomienia.
Aby dowiedzieć się więcej na temat kompleksowego implementowania przycisków, zobacz Send local toast.
Przyciski mogą aktywować aplikację w następujący sposób:
- Aplikacja jest aktywowana na pierwszym planie z argumentem, który może służyć do przechodzenia do określonej strony/kontekstu.
- Inna aplikacja jest aktywowana za pośrednictwem uruchamiania protokołu.
- Aktywacja w tle jest obsługiwana jawnie w przypadku aplikacji platformy UWP. W przypadku aplikacji zestawu SDK aplikacji systemu Windows aplikacja jest zawsze uruchamiana na pierwszym planie. Aplikacja może wywołać aplikację AppInstance.GetActivatedEventArgs , aby wykryć, czy aktywacja została uruchomiona przez powiadomienie i określić z przekazanych argumentów, czy w pełni uruchomić aplikację pierwszego planu, czy po prostu obsłużyć powiadomienie i zakończyć.
- Akcje systemowe, takie jak snoozing lub odrzucanie powiadomienia, są obsługiwane zarówno dla aplikacji platformy UWP, jak i zestawu SDK aplikacji systemu Windows. Interfejsy API AppNotificationBuilder nie obsługują tego scenariusza, ale aplikacje Windows App SDK mogą implementować ten scenariusz przy użyciu interfejsów API Microsoft.Windows.AppNotifications.Builder lub surowych plików XML.
Note
Możesz mieć maksymalnie 5 przycisków (w tym elementy menu kontekstowego, które omówimy później).
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");
Przyciski z ikonami
Możesz dodawać ikony do przycisków. Te ikony są białe przezroczyste obrazy 16x16 pikseli na 100% skalowania i nie powinny zawierać wypełnienia w samym obrazie. Jeśli zdecydujesz się udostępnić ikony w przypadku wyskakującego powiadomienia, musisz podać ikony dla wszystkich swoich przycisków w powiadomieniu, ponieważ przekształcają styl twoich przycisków w przyciski z ikonami.
Note
W przypadku ułatwień dostępu pamiętaj, aby uwzględnić białą wersję kontrastową ikony (czarną ikonę dla białego tła), aby po włączeniu trybu białego o wysokim kontraście ikona była widoczna. Aby uzyskać więcej informacji, zobacz Obsługa powiadomień kafelkowych i powiadomień wyskakujących dla języka, skalowania i dużego kontrastu.
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")));
Nowość w aktualizacji Windows 11: Możesz dodać etykiety narzędziowe do ikon za pomocą właściwości HintToolTip w XML. Jest to idealne rozwiązanie, jeśli przyciski mają ikony, ale nie zawierają zawartości, ponieważ dzięki temu możesz przekazać tekst, który narrator systemu Windows może odczytać. Jeśli jednak zawartość istnieje, Narrator odczyta ją niezależnie od tego, co jest przekazane w etykiecie narzędzia.
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);
Przyciski z kolorami
New in Windows 11 Update: Możesz dodać czerwone lub zielone kolory do przycisków, dodając atrybut useButtonStyle do wyskakujące elementu XML oraz atrybut hint-buttonStyle do elementu XML akcji, jak pokazano poniżej.
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"));
Akcje menu kontekstowego
Nowość w rocznicowej aktualizacji: możesz dodać dodatkowe akcje do istniejącego menu kontekstowego, które pojawia się, gdy użytkownik klika prawym przyciskiem myszy na powiadomienie typu toast lub wybiera ikonę menu kontekstowego.
Note
Na starszych urządzeniach te dodatkowe akcje menu kontekstowego będą po prostu wyświetlane jako normalne przyciski w powiadomieniu.
Dodatkowe akcje menu kontekstowego dodane (takie jak "Wycisz czat grupy przez 1 godzinę") są wyświetlane powyżej dwóch domyślnych wpisów systemowych.
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());
Note
Dodatkowe elementy menu kontekstowego wliczają się do całkowitego limitu 5 przycisków na komunikat.
Aktywacja dodatkowych elementów menu kontekstowego jest obsługiwana w taki sam sposób jak przyciski powiadomień.
Inputs
Dane wejściowe są określane w obszarze Actions powiadomienia aplikacji, co oznacza, że są widoczne tylko po rozwinięciu powiadomienia.
Szybkie pole tekstowe odpowiedzi
Aby włączyć szybkie pole tekstowe odpowiedzi (na przykład w aplikacji do obsługi wiadomości), dodaj tekst wejściowy i przycisk, a następnie odwołaj się do identyfikatora pola wprowadzania tekstu, aby przycisk był wyświetlany obok pola wejściowego. Opcjonalna ikona przycisku, jeśli zostanie podana, powinna być obrazem 32x32 pikseli bez wypełniania, białych pikseli ustawionych na przezroczyste i 100% skalowania.
var builder = new AppNotificationBuilder()
.AddTextBox("textBox", "Type a reply", "Reply")
.AddButton(AppNotificationButton("Send")
.AddArguments("action", "Send")
.SetInputId("textBox"))
.BuildNotification();
Pola wejściowe z paskiem przycisków
Można również mieć jedno (lub wiele) wejść z normalnymi przyciskami wyświetlanymi poniżej pola wejściowego.
// The Microsoft.Windows.AppNotifications.Builder syntax does not currently support quick reply text boxes.
Wybór danych wejściowych
Oprócz pól tekstowych można również użyć menu wyboru.
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
Korzystając z menu wyboru i dwóch przycisków, możemy utworzyć powiadomienie o przypomnieniu, które wykorzystuje systemowe akcje drzemki i odrzucenia. Pamiętaj, aby ustawić scenariusz na "Przypomnienie", aby powiadomienie zachowywało się jak przypomnienie.
Łączymy przycisk Snooze z wejściem menu wyboru przy użyciu właściwości SelectionBoxId na przycisku powiadomienia.
Składnia Microsoft.Windows.AppNotifications.Builder nie obsługuje obecnie aktywacji systemu. Jednak ten scenariusz jest obsługiwany w przypadku aplikacji Windows App SDK, i można tworzyć powiadomienia dla tego scenariusza przy użyciu interfejsów API lub nieprzetworzonego kodu XML Microsoft.Toolkit.Uwp.Notifications.
// 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.
Aby użyć snooze i odrzucić akcje systemu:
- Określ ToastButtonSnooze lub ToastButtonDismiss
- Opcjonalnie określ niestandardowy ciąg zawartości:
- Jeśli nie podasz ciągu, automatycznie użyjemy zlokalizowanych ciągów dla "Snooze" i "Odrzuć".
- Opcjonalnie określ SelectionBoxId:
- Jeśli nie chcesz, aby użytkownik wybrał interwał drzemki i zamiast tego chcesz, aby powiadomienie odkładało się tylko raz dla interwału czasu zdefiniowanego przez system (który jest spójny w całym systemie operacyjnym), nie konstruuj żadnych danych wejściowych <> wcale.
- Jeśli chcesz podać wybory interwałów drzemki: — określ SelectionBoxId w akcji odłożenia — dopasuj identyfikator danych wejściowych do SelectionBoxId akcji odłożenia — określ wartość ToastSelectionBoxItemwartością typu nonNegativeInteger, która reprezentuje interwał drzemki w minutach.
Audio
Niestandardowy dźwięk był zawsze obsługiwany na urządzeniach mobilnych i jest obsługiwany w wersji na komputery stacjonarne 1511 (kompilacja 10586) lub nowszej. Do niestandardowego dźwięku można odwoływać się za pomocą następujących ścieżek:
- ms-appx:///
- ms-appdata:///
var builder = new AppNotificationBuilder()
.AddText("Notification text.")
.SetAudioUri(new Uri("ms-appx:///Audio/NotificationSound.mp3"));
Alternatywnie możesz wybrać z listy ms-winsoundevents, które zawsze były obsługiwane na obu platformach.
var builder = new AppNotificationBuilder()
.AddText("Notification text.")
.SetAudioEvent(AppNotificationSoundEvent.Alarm, AppNotificationAudioLooping.Loop);
Aby uzyskać informacje na temat dźwięku w powiadomieniach aplikacji, zobacz stronę schematu audio . Aby dowiedzieć się, jak wysyłać powiadomienia aplikacji z niestandardowym dźwiękiem, zobacz niestandardowy dźwięk w powiadomieniach typu toast.
Scenarios
Aby utworzyć ważne powiadomienia, alarmy, przypomnienia i powiadomienia o połączeniach przychodzących, wystarczy użyć normalnego powiadomienia aplikacji z przypisaną do niego wartością Scenario. Scenariusz dostosowuje kilka zachowań, aby utworzyć spójne i ujednolicone środowisko użytkownika. Istnieją cztery możliwe wartości scenariusza :
- Przypomnienie
- Alarm
- IncomingCall
- Urgent
Reminders
W scenariuszu przypomnienia powiadomienie pozostanie na ekranie, dopóki użytkownik go nie odrzuci lub podejmie działania. W systemie Windows Mobile powiadomienie aplikacji będzie również wyświetlane wstępnie rozwinięte. Zostanie odtworzony dźwięk przypomnienia. Musisz podać co najmniej jeden przycisk w powiadomieniu aplikacji. W przeciwnym razie powiadomienie będzie traktowane jako normalne powiadomienie.
var builder = new AppNotificationBuilder()
.AddText("Notification text.")
.SetScenario(AppNotificationScenario.Reminder);
Alarms
Alarmy zachowują się tak samo jak przypomnienia, z wyjątkiem tego, że alarmy dodatkowo będą zapętlać dźwięk, używając domyślnego dźwięku alarmu. Musisz podać co najmniej jeden przycisk w powiadomieniu aplikacji. W przeciwnym razie powiadomienie będzie traktowane jako normalne powiadomienie.
var builder = new AppNotificationBuilder()
.AddText("Notification text.")
.SetScenario(AppNotificationScenario.Alarm)
.AddButton(new AppNotificationButton("Dismiss")
.AddArgument("action", "dismiss"));
Połączenia przychodzące
Powiadomienia dotyczące połączeń przychodzących są wyświetlane wstępnie rozwinięte w specjalnym formacie połączenia i pozostają na ekranie użytkownika do czasu odrzucenia. Domyślnie, dźwięk dzwonka będzie powtarzany. Na urządzeniach z systemem Windows Mobile są wyświetlane pełne ekrany.
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"));
Ważne powiadomienia
Important
Wymaga: Aby korzystać z ważnych powiadomień, musisz użyć kompilacji Windows Insider Preview Build 22546 lub nowszej.
Ważne powiadomienia umożliwiają użytkownikom większą kontrolę nad tym, co aplikacje pierwszej strony i aplikacje innych firm mogą wysyłać im powiadomienia aplikacji o wysokim priorytecie (pilne/ważne), które mogą przełamać tryb asystenta skupienia (tryb Nie przeszkadzać). Można to zmodyfikować w ustawieniach powiadomień.
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);
}
Lokalizacja i ułatwienia dostępu
Kafelki i powiadomienia aplikacji mogą ładować ciągi i obrazy dostosowane do języka wyświetlania, skali wyświetlania, dużego kontrastu i innych kontekstów uruchomieniowych. Aby uzyskać więcej informacji, zobacz Tile i wyskakujące obsługa powiadomień dla języka, skalowania i dużego kontrastu.
Obsługa procesu aktywacji
Aby dowiedzieć się, jak obsługiwać aktywacje aplikacji (kiedy użytkownik kliknie powiadomienie lub przyciski w powiadomieniu), zobacz Wyślij lokalne powiadomienie.
Tematy pokrewne
Windows developer