Obsah oznámení aplikace

Tento článek popisuje prvky uživatelského rozhraní, které lze použít v oznámení aplikace, a poskytuje příklady kódu pro generování obsahu oznámení. Další informace o oznámeních aplikací najdete v tématu Přehled oznámení aplikací. Návod k implementaci oznámení aplikací najdete v tématu Quickstart: Oznámení aplikací v Windows App SDK.

Začínáme

Oznámení aplikace jsou definována datovou částí XML, která je definována schématem oznámení aplikace. V současné době existují dva způsoby generování datové části XML pro oznámení aplikace. Příklady kódu v tomto článku ukazují obě metody:

  • Microsoft.Windows. AppNotifications.Builder API – představená v Windows App SDK 1.2, tento obor názvů poskytuje rozhraní API, která umožňují snadno vytvořit datovou část XML pro oznámení prostřednictvím kódu programu, aniž byste se museli starat o specifika formátu XML. Příklady kódu používající tato rozhraní API jsou na kartách označených jako "Windows App SDK".
  • Raw XML – Pokud chcete, můžete vytvořit vlastní kód pro generování řetězců XML v požadovaném formátu. Nezpracované příklady XML jsou na kartách označených jako XML.

Nainstalujte vizualizér oznámení. Tato bezplatná aplikace pro Windows vám pomůže navrhnout interaktivní oznámení aplikací tím, že vám při úpravách poskytne okamžitý vizuální náhled vašeho toastu, podobně jako v editoru XAML a zobrazení návrhu ve Visual Studio. Další informace najdete v tématu Vizualizér oznámení, nebo si můžete stáhnout Vizualizér oznámení zobchodu.

Tento článek se zabývá pouze vytvářením obsahu oznámení aplikace. Informace o odesílání oznámení najdete v přehledu oznámení aplikací.

Struktura oznámení aplikace

Mezi důležité základní komponenty datové části XML oznámení aplikace patří:

  • toast: Atribut spuštění tohoto prvku určuje, jaké argumenty se předají zpět do vaší aplikace, když uživatel klikne na toast, což vám umožní provést přímý odkaz na správný obsah, který toast zobrazoval. Další informace najdete v přehledu oznámení aplikací.
  • vizuální: Tento prvek představuje vizuální část oznámení, včetně obecného propojení, které obsahuje text a obrázky.
  • akce: Tento prvek představuje interaktivní část oznámení, včetně vstupů a akcí.
  • audio: Tento prvek určuje audio, které se přehrává, když se uživateli zobrazí toast zpráva.
var builder = new AppNotificationBuilder()
    .AddArgument("conversationId", "9813")

    .AddText("Some text")

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

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

Tady je vizuální znázornění obsahu oznámení aplikace:

Snímek obrazovky s oznámením aplikace s popisky pro oblast přiřazení v horní části zobrazující ikonu aplikace a vizualizér oznámení aplikace Prostřední část oznámení je označená jako vizuální oblast, která obsahuje tři řádky textu. Dolní část oznámení je označená jako oblast akce a obsahuje dvě tlačítka označená jako Přijmout a Odmítnout.

Oblast přisuzování

Oblast přiřazení je v horní části oznámení aplikace. Od Windows 11 se v této oblasti zobrazí název a ikona vaší aplikace. Oblast přiřazení obsahuje také tlačítko zavřít, které uživateli umožňuje rychle zavřít oznámení a nabídku se třemi tečkami, která uživateli umožňuje rychle zakázat oznámení pro vaši aplikaci nebo přejít na stránku nastavení Windows pro oznámení vaší aplikace. Oblast přiřazení je nakonfigurována prostředím a nelze ji přepsat v XML souboru toastu, i když vaše aplikace může přidávat položky do místní nabídky oblasti přiřazení. Další informace viz akce místní nabídky.

Vizuální prvek

Každé oznámení aplikace musí zadat vizuální prvek, kde musíte zadat obecnou vazbu informační zprávy a která může obsahovat text a obrázky. Tyto prvky budou vykresleny na různých Windows zařízeních, včetně stolních počítačů, telefonů, tabletů a Xbox.

Všechny atributy podporované v části vizuálu a jejích podřízených prvcích najdete v tématu Schéma oznámení aplikace.

Textové prvky

Každé oznámení aplikace musí mít aspoň jeden textový prvek a může obsahovat dva další textové prvky, všechny typy AdaptiveText. Textové prvky podporují datová vazba, která umožňuje aktualizovat textový obsah po zobrazení oznámení. Další informace najdete v tématu Indikátor průběhu oznámení aplikace a datová vazba.

Snímek obrazovky s oznámením aplikace se třemi řádky textu Horní řádek textu je tučný.

Pomocí metody AppNotificationTextProperties.SetMaxLines můžete určit, kolik řádků textu se zobrazí. Výchozí (a maximální) je až 2 řádky textu pro nadpis a až 4 řádky (kombinované) pro dva další prvky popisu (druhý a třetí adaptivní text).

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

Vložený obrázek

Ve výchozím nastavení se obrázky zobrazují za jakýmikoli textovými prvky a vyplňují plnou šířku vizuální oblasti. K přidání vloženého obrázku použijte AppNotificationBuilder.SetInlineImage.

snímek obrazovky s oznámením aplikace zobrazující výchozí umístění obrázku, vložené a vyplňující celou šířku oblasti vizuálu.

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

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

Přepsání loga aplikace

Zadání hodnoty umístění "appLogoOverride" způsobí, že se obrázek zobrazí ve čtverci na levé straně vizuální oblasti. K nastavení tohoto obrázku použijte AppNotificationBuilder.SetAppLogoOverride . Název této vlastnosti odráží chování v předchozích verzích Windows, kde by obrázek nahradil výchozí obrázek loga aplikace. Ve Windows 11 se logo aplikace zobrazí v oblasti pro přiřazení, takže není přepsáno umístěním obrázku appLogoOverride.

Rozměry obrázku jsou 48× 488 pixelů při 100% škálování. Obecně doporučujeme poskytnout verzi souboru ikon pro každý faktor měřítka: 100%, 125%, 150%, 200%a 400%.

snímek obrazovky s oznámením aplikace zobrazující umístění obrázku přepsání loga aplikace na čtverec na levé straně vizuální oblasti oznámení.

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

Oříznutí nápovědy

Pokyny Microsoft pro styl doporučují používat profilové obrázky ve tvaru kruhu, aby byla zajištěna konzistentní reprezentace lidí v aplikacích a uživatelském rozhraní. Předejte AppNotificationImageCrop.Circle do SetAppLogoOverride pro vykreslení obrázku s kruhovým oříznutím.

snímek obrazovky s oznámením aplikace, zobrazující umístění obrázku přepsaného loga aplikace, který je oříznutý do kruhu na levé straně vizuální oblasti rámu oznámení.

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

Obrázek hlavního hrdiny

Oznámení aplikací mohou zobrazovat výrazný obrázek, což je výrazný ToastGenericHeroImage, který se zřetelně zobrazuje v banneru oznámení a v Centru oznámení. K přidání obrázku hrdiny použijte AppNotificationBuilder.SetHeroImage . Rozměry obrázku jsou 364 × 180 pixelů při 100% škálování.

Snímek obrazovky s oznámením aplikace, kde je umístěn hlavní obrázek nad oblastí popisu.

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

Omezení velikosti obrázku

Obrázky, které používáte v oznámení aplikace, můžou být zdrojové z...

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

U vzdálených webových imagí HTTP a HTTPS platí omezení velikosti souboru jednotlivých imagí. Limit je 3 MB u normálních připojení a 1 MB u měřených připojení.

Normální připojení Připojení s měřenými daty
3 MB 1 MB

Pokud obrázek překročí velikost souboru nebo se nepodaří stáhnout nebo vyprší časový limit, obrázek se zahodí a zobrazí se zbývající oznámení.

Text pro přiřazení

Pokud potřebujete odkazovat na zdroj obsahu, můžete použít text atribuce. K nastavení textu atribuce použijte AppNotificationBuilder.SetAttributionText. Tento text se vždy zobrazí pod libovolnými textovými prvky, ale nad vloženými obrázky. Text používá mírně menší velikost než standardní textové prvky, které pomáhají odlišit od běžných textových prvků.

Ve starších verzích Windows, které nepodporují atribuční text, se text jednoduše zobrazí jako další textový prvek (za předpokladu, že ještě nemáte maximálně tři textové prvky).

Snímek obrazovky s oznámením aplikace zobrazující text přisuzování

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

Vlastní časové razítko

Časové razítko poskytnuté systémem můžete přepsat vlastním časovým razítkem, které přesně představuje, když se vygenerovala zpráva, informace nebo obsah. Toto časové razítko je viditelné v Centru oznámení.

Snímek obrazovky s oznámením v Centru oznámení s vlastním časovým razítkem

Další informace o používání vlastního časového razítka najdete v tématu Vlastní časová razítka v oznámeních aplikací.

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

Indikátor průběhu

Na oznámení o průběhu aplikace můžete poskytnout indikátor průběhu, který uživateli umožní informovat o průběhu operací, jako jsou stahování. Pruhy průběhu podporují datové vazby, které umožňují dynamicky aktualizovat hodnoty průběhu po zobrazení oznámení.

Snímek obrazovky s oznámením aplikace zobrazující indikátor průběhu

Další informace o používání indikátoru průběhu najdete v tématu Indikátor průběhu oznámení aplikace a datová vazba.

Headers

Oznámení můžete seskupit pod záhlavími v Centru oznámení. Můžete například seskupit zprávy ze skupinového chatu pod záhlavím nebo oznámení o společném motivu pod záhlavím nebo více.

Snímek obrazovky centra akcí zobrazující více oznámení prohlížeče oznámení aplikace uspořádané pod záhlavím označeném

Další informace o používání hlaviček najdete v záhlavích oznámení aplikace.

Adaptivní obsah

Kromě obsahu uvedeného výše můžete také zobrazit další adaptivní obsah, který je viditelný při rozbalení informačního příspěvku.

Tento další obsah je určen pomocí Adaptive, podrobnosti najdete v dokumentaci k adaptivním dlaždicím .

Všimněte si, že veškerý adaptivní obsah musí být obsažený v adaptivní skupině. Jinak nebude vykresleno adaptivním způsobem.

Sloupce a textové prvky

Tady je příklad, kdy se používají sloupce a některé pokročilé adaptivní textové prvky. Vzhledem k tomu, že textové prvky jsou v AdaptiveGroup, podporují všechny vlastnosti bohatého adaptivního stylu.

Snímek obrazovky s oznámením aplikace zobrazující skupiny textových prvků zarovnané doleva a vpravo od oblasti vizuálu oznámení

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

Tlačítka

Tlačítka dělají váš toast interaktivnějším a umožňují uživateli rychle jednat na oznámení vaší aplikace, aniž by přerušili svůj aktuální pracovní postup. Uživatelé mohou například odpovědět na zprávu přímo z upozornění nebo odstranit e-mail, aniž by museli otevírat e-mailovou aplikaci. Tlačítka se zobrazí v rozbalené části oznámení. Pomocí AppNotificationButton můžete definovat tlačítka a AppNotificationBuilder.AddButton je přidat do oznámení.

Další informace o kompletní implementaci tlačítek najdete v přehledu oznámení aplikací.

Tlačítka můžou aplikaci aktivovat následujícími způsoby:

  • Aplikace se aktivuje v popředí s argumentem, který lze použít k přechodu na konkrétní stránku nebo kontext.
  • Prostřednictvím spuštění protokolu se aktivuje jiná aplikace.
  • Aktivace na pozadí je explicitně podporovaná pro aplikace pro UPW. U Windows App SDK aplikací se aplikace vždy spustí v popředí. Aplikace může volat AppInstance.GetActivatedEventArgs zjistit, jestli byla aktivace spuštěna oznámením, a určit z předaných argumentů, jestli se má aplikace v popředí plně spustit, nebo pouze zpracovat oznámení a ukončit.
  • Systémové akce, jako je odsunutí nebo zavření oznámení, se podporují jak pro aplikace pro UPW, tak pro Windows App SDK. Rozhraní API AppNotificationBuilder tento scénář nepodporují, ale aplikace Windows App SDK můžou tento scénář implementovat pomocí Microsoft.Windows. AppNotifications.Builder rozhraní API nebo nezpracovaná XML

Poznámka:

Můžete mít až 5 tlačítek (včetně položek místní nabídky, které probereme později).

Snímek obrazovky s oznámením aplikace zobrazující řádek textu následovaný řádkem se dvěma tlačítky definovanými prvky akce

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

Tlačítka s ikonami

K tlačítkům můžete přidat ikony pomocí AppNotificationButton.SetIcon. Tyto ikony jsou bílé průhledné obrázky o rozměrech 16 × 16 pixelů s měřítkem 100% a neměly by mít v sobě žádné odsazení. Pokud se rozhodnete poskytnout ikony v oznámení aplikace, musíte v oznámení zadat ikony pro všechna tlačítka, protože transformuje styl tlačítek na tlačítka ikon.

Poznámka:

Pro usnadnění přístupu nezapomeňte zahrnout kontrastně bílou verzi ikony (černá ikona pro bílé pozadí), aby se po zapnutí režimu Vysoký kontrast bílá ikona zobrazovala. Další informace najdete v tématu Podpora oznámení dlaždice a vyskakovacího oznámení pro jazyk, měřítko a vysoký kontrast.

Snímek obrazovky s oznámením aplikace, které používá tlačítka s ikonami

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

Nové ve Windows 11 Update: Pomocí vlastnosti HintToolTip v XML můžete přidat popisky k ikonám. To je ideální, pokud vaše tlačítka mají ikony, ale žádný jiný obsah, protože tím zajistíte, že můžete předat text, který může Windows Předčítání číst. Pokud je ale obsah k dispozici, program Předčítání přečte obsah bez ohledu na to, co se předá v popisu.

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

Tlačítka s barvami

New in Windows 11 Update: Pomocí AppNotificationButton.SetButtonStyle můžete do tlačítek přidat červenou nebo zelenou barvu s AppNotificationButtonStyle. V XML přidejte atribut useButtonStyle k elementu toast a atribut hint-buttonStyle k elementu akce, jak je vidět níže.

Snímek obrazovky s oznámením se třemi tlačítky, obě levá tlačítka jsou zelená s ikonami pro zahájení videohovoru nebo spuštění zvukového hovoru. Třetí tlačítko je červené a má ikonu pro odmítnutí hovoru.

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

Akce místní nabídky

K existující místní nabídce můžete přidat další akce, které se zobrazí při kliknutí pravým tlačítkem myši na oznámení aplikace nebo při výběru ikony místní nabídky. Pomocí AppNotificationButton.SetContextMenuPlacement umístěte tlačítko do místní nabídky místo na panel akcí.

Poznámka:

Na starších zařízeních se tyto další akce místní nabídky jednoduše zobrazí jako běžná tlačítka v oznámení.

Nad dvěma výchozími položkami systému se zobrazí další akce místní nabídky, které přidáte (například "Ztlumit skupinový chat po dobu 1 hodiny").

oznámení s místní nabídkou

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

Poznámka:

Další položky místní nabídky přispívají k celkovému limitu 5 tlačítek na toastu.

Aktivace dalších položek místní nabídky se zpracovává stejně jako tlačítky toastů.

Vstupy

Jsou zadány uvnitř oblasti Akcí oznámení aplikace, což znamená, že jsou viditelné pouze při rozbalení oznámení.

Textové pole Rychlá odpověď

Pokud chcete povolit textové pole rychlé odpovědi (například v aplikaci pro zasílání zpráv), přidejte textový vstup pomocí AppNotificationBuilder.AddTextBox a tlačítka a odkazujte na ID textového vstupního pole, aby se tlačítko zobrazilo vedle vstupního pole. Volitelná ikona pro tlačítko, pokud je k dispozici, by měla být obrázkem o velikosti 32 × 32 pixelů bez odsazení, s bílými pixely nastavenými na průhlednost a v měřítku 100%.

Snímek obrazovky s oznámením aplikace s profilovým obrázkem a některými řádky textu Součástí textového pole pro zadání přímo do oznámení je i tlačítko pro odeslání odpovědi.

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

Vstupy s panelem tlačítek

Můžete mít také jeden (nebo mnoho) vstupů s normálními tlačítky zobrazenými pod vstupy.

Snímek obrazovky s oznámením aplikace s řádkem textu, textovým polem a řádkem se dvěma tlačítky označenými jako

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

Výběrový vstup

Kromě textových polí můžete také použít nabídku výběru s AppNotificationBuilder.AddComboBox.

Snímek obrazovky s oznámením aplikace s řádkem textu, vstupem výběru s vybranou položkou Oběd a řádkem se dvěma tlačítky označenými jako

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

Pomocí nabídky výběru a dvou tlačítek můžeme vytvořit oznámení připomenutí, které využívá systémové akce pro odložení a zavření. Nezapomeňte nastavit scénář na Připomenutí, aby se oznámení chovalo jako připomenutí.

Snímek obrazovky s oznámením aplikace s řádky textu popisující čas a umístění schůzky V poli pro výběr je vybráno

Tlačítko Snooze propojíme se vstupem nabídky výběru pomocí vlastnosti SelectionBoxId na tlačítku informačního lístku.

Syntaxe Microsoft.Windows.AppNotifications.Builder aktuálně nepodporuje aktivaci systému. Tento scénář je ale podporovaný pro Windows App SDK aplikace a můžete pro tento scénář vytvářet oznámení pomocí nezpracovaných XML.

// 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.

Pro použití akcí odložení a zavření systému:

  • Zadání toastButtonSnooze nebo toastButtonDismiss
  • Volitelně zadejte vlastní řetězec obsahu:
  • Pokud nezadáte žádný řetězec, automaticky použijeme lokalizované řetězce pro "Odložit" a "Zrušit".
  • Volitelně zadejte SelectionBoxId:
  • Pokud nechcete, aby uživatel zvolil interval odkladu a místo toho chcete, aby se vaše oznámení odložilo pouze jednou na systémem definovaný interval (který je konzistentní v celém operačním systému), pak vůbec nevytvářejte žádný vstup <>.
  • Pokud chcete poskytnout výběry intervalů odložení: – Zadejte SelectionBoxId v akci odložení – Spárujte ID vstupu s SelectionBoxId akce odložení – Hodnota ToastSelectionBoxItemmusí být nezáporné celé číslo, které představuje interval odložení v minutách.

Zvuk

K určení vlastního zvukového souboru použijte AppNotificationBuilder.SetAudioUri nebo použijte AppNotificationBuilder.SetAudioEvent k výběru systémového zvuku. Vlastní zvuk lze odkazovat pomocí následujících cest:

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

Alternativně si můžete vybrat ze seznamu ms-winsoundevents, které byly vždy podporovány na obou platformách.

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

Informace o zvuku v oznámeních aplikací najdete na stránce zvukového schématu . Informace o tom, jak odeslat oznámení aplikace, které používá vlastní zvuk, najdete v tématu Vlastní zvuk v oznámeních aplikace.

Scénáře

K vytváření důležitých oznámení, alarmů, připomenutí a oznámení příchozích hovorů použijte AppNotificationBuilder.SetScenario s hodnotou AppNotificationScenario . Tento scénář upravuje několik chování a vytváří konzistentní a jednotné uživatelské prostředí. Existují čtyři možné hodnoty scénáře :

  • Reminder
  • Alarm
  • IncomingCall
  • Urgent

Upomínky

Ve scénáři připomenutí zůstane oznámení na obrazovce, dokud ho uživatel nespustí nebo provede akci. Na Windows Mobile se také oznámení aplikace zobrazí předem rozbalené. Přehraje se zvuk připomenutí. V oznámení aplikace musíte zadat alespoň jedno tlačítko. Jinak bude oznámení považováno za normální oznámení.

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

Alarms

Alarmy se chovají stejně jako připomenutí, ale navíc přehrávají zvuk opakovaně s výchozím zvukem alarmu. V oznámení aplikace musíte zadat alespoň jedno tlačítko. Jinak bude oznámení považováno za normální oznámení.

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

Příchozí hovory

Oznámení příchozích hovorů se zobrazují předem rozbalené ve speciálním formátu hovoru a zůstávají na obrazovce uživatele, dokud je nezavedete. Vyzváněcí tón bude ve výchozím nastavení smyčkovat. Na zařízeních s Windows Mobile zobrazují se na celé obrazovce.

Oznámení aplikace příchozích hovorů

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

Důležitá oznámení

Důležité

Požádky: Abyste mohli používat důležitá oznámení, musíte mít spuštěný build Windows Insider Preview 22546 nebo novější.

Důležitá oznámení umožňují uživatelům mít větší kontrolu nad tím, jaké aplikace prvotních a třetích stran mohou zasílat oznámení s vysokou prioritou (naléhavé/důležité), které můžou prolomit funkci Focus Assist (Nerušit). To je možné upravit v nastavení oznámení.

Snímek obrazovky urgentního oznámení aplikace, které má vykřičník v oblasti přiřazení vedle názvu aplikace. Obrázek také zobrazuje systémem iniciované oznámení aplikace, které nabízí uživateli možnost povolit nebo zakázat naléhavá oznámení z aplikace.

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

Lokalizace a přístupnost

Dlaždice a oznámení aplikací mohou načítat řetězce a obrázky přizpůsobené jazyku zobrazení, měřítku zobrazení, vysokému kontrastu a dalším kontextům za běhu. Pro více informací si přečtěte Podpora oznámení dlaždic a vyskakovacích upozornění pro jazyk, měřítko a vysoký kontrast.

Zpracování aktivace

Informace o tom, jak zpracovávat aktivace aplikací (uživatel, který klikne na vaše oznámení nebo tlačítka na oznámení), najdete v přehledu oznámení aplikací.