Condividi tramite


Contenuto delle notifiche dell'app

Questo articolo descrive gli elementi dell'interfaccia utente che possono essere usati in una notifica dell'app e fornisce esempi di codice per generare il contenuto della notifica. Per altre informazioni sulle notifiche delle app, vedere Panoramica delle notifiche delle app. Per una procedura dettagliata sull'implementazione delle notifiche dell'app, vedere Quickstart: Notifiche dell'app nel SDK per app di Windows.

Come iniziare

Le notifiche delle app vengono definite con un payload XML definito dallo schema di notifica dell'app. Attualmente, esistono due modi per generare il payload XML per una notifica dell'app. Gli esempi di codice in questo articolo illustrano entrambi i metodi:

  • Microsoft.Windows. AppNotifications.Builder API : introdotta in SDK per app di Windows 1.2, questo spazio dei nomi fornisce API che consentono di compilare facilmente il payload XML per una notifica a livello di codice senza doversi preoccupare delle specifiche del formato XML. Gli esempi di codice che usano queste API si trovano nelle schede con etichetta "SDK per app di Windows".
  • XML non elaborato: se si preferisce, è possibile creare codice personalizzato per generare stringhe XML nel formato richiesto. Gli esempi XML non elaborati si trovano nelle schede con etichetta "XML".

Installare Il visualizzatore notifiche. Questa app gratuita per Windows consente di progettare notifiche interattive delle app fornendo un'anteprima visiva immediata del toast mentre lo modifichi, in modo simile all'editor o alla visualizzazione progettazione di XAML in Visual Studio. Per ulteriori informazioni, vedere Visualizzatore Notifiche, oppure scaricare il Visualizzatore Notifiche dallo Store.

Questo articolo illustra solo la creazione del contenuto delle notifiche dell'app. Per informazioni sull'invio di una notifica, vedere Panoramica delle notifiche delle app.

Struttura di notifica dell'app

Alcuni componenti importanti e di alto livello di un payload XML di notifica dell'app includono:

  • toast: l'attributo di avvio di questo elemento definisce gli argomenti che verranno passati alla tua app quando l'utente fa clic sul toast, consentendo di effettuare un collegamento diretto al contenuto corretto visualizzato dal toast. Per altre informazioni, vedere Panoramica delle notifiche delle app.
  • oggetto visivo: Questo elemento rappresenta la parte visiva della notifica, inclusa l'associazione generica contenente testo e immagini.
  • azioni: Questo elemento rappresenta la parte interattiva della notifica, compresi input e azioni.
  • audio: questo elemento specifica l'audio che viene riprodotto alla visualizzazione della notifica all'utente.
var builder = new AppNotificationBuilder()
    .AddArgument("conversationId", "9813")

    .AddText("Some text")

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

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

Ecco una rappresentazione visiva del contenuto della notifica dell'app:

Screenshot di una notifica dell'app con etichette per l'area di attribuzione nella parte superiore che mostra l'icona dell'app e il visualizzatore notifiche del nome dell'app. La parte centrale della notifica viene etichettata come area visiva, che include tre righe di testo. La sezione inferiore della notifica viene etichettata come area di azione e contiene due pulsanti etichettati Accetta e Rifiuta.

Area di attribuzione

L'area di attribuzione si trova nella parte superiore della notifica dell'app. A partire da Windows 11, il nome e l'icona dell'app vengono visualizzati in questa area. L'area di attribuzione include anche un pulsante di chiusura che consente all'utente di ignorare rapidamente la notifica e un menu con i puntini di sospensione che consente all'utente di disabilitare rapidamente le notifiche per la tua app o di passare alla pagina impostazioni Windows per le notifiche della tua app. L'area di attribuzione è configurata dalla shell e non può essere modificata nel payload XML della notifica, anche se l'app può aggiungere elementi al menu contestuale dell'area di attribuzione. Per altre informazioni, vedere azioni del menu di scelta rapida .

Visivo

Ogni notifica dell'app deve specificare un elemento visivo, in cui è necessario fornire un'associazione di tipo avviso popup generico e che può contenere testo e immagini. Questi elementi verranno sottoposti a rendering su vari dispositivi Windows, tra cui desktop, telefoni, tablet e Xbox.

Per tutti gli attributi supportati nella sezione visual e nei relativi elementi figlio, vedere schema di notifica dell'app .

Elementi di testo

Ogni notifica dell'app deve avere almeno un elemento di testo e può contenere due elementi di testo aggiuntivi, tutti di tipo AdaptiveText. Gli elementi di testo supportano il data binding, che consente di aggiornare il contenuto di testo dopo la visualizzazione della notifica. Per altre informazioni, vedere Indicatore di stato delle notifiche dell'app e data binding.

Screenshot di una notifica dell'app con tre righe di testo. La riga superiore del testo è in grassetto.

È possibile controllare il numero di righe di testo visualizzate usando il metodo AppNotificationTextProperties.SetMaxLines . Il valore predefinito (e massimo) è fino a 2 righe di testo per il titolo e fino a 4 righe (combinate) per i due elementi di descrizione aggiuntivi (il secondo e il terzo 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");

Immagine in linea

Per impostazione predefinita, le immagini vengono visualizzate inline, dopo qualsiasi elemento di testo, riempiendo la larghezza intera dell'area visiva. Usare AppNotificationBuilder.SetInlineImage per aggiungere un'immagine inline.

Screenshot di una notifica dell'app che mostra il posizionamento predefinito dell'immagine, in linea, riempiendo l'intera larghezza dell'area visiva.

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

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

Sostituzione del logo dell'app

Specificando un valore di posizionamento e un valore "appLogoOverride", l'immagine verrà visualizzata in un quadrato sul lato sinistro dell'area visiva. Usare AppNotificationBuilder.SetAppLogoOverride per impostare questa immagine. Il nome di questa proprietà riflette il comportamento nelle versioni precedenti di Windows, in cui l'immagine sostituisce l'immagine del logo dell'app predefinita. In Windows 11 il logo dell'app viene visualizzato nell'area di attribuzione, quindi non viene sottoposto a override dal posizionamento dell'immagine appLogoOverride.

Le dimensioni dell'immagine sono di 48x48 pixel a 100% ridimensionamento. In genere è consigliabile fornire una versione di ogni asset icona per ogni fattore di scala: 100%, 125%, 150%, 200%e 400%.

Screenshot di una notifica dell'app che mostra il posizionamento dell'immagine di override del logo dell'app in un quadrato sul lato sinistro dell'area visiva della notifica.

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

Suggerimento di ritaglio

Microsoft linee guida di stile consigliano di rappresentare le immagini del profilo con un'immagine circolare per fornire una rappresentazione coerente delle persone tra le app e la shell. Passare AppNotificationImageCrop.Circle a SetAppLogoOverride per eseguire il rendering dell'immagine con un ritaglio circolare.

Screenshot di una notifica dell'app che mostra il posizionamento dell'immagine di override del logo dell'app ritagliato in un cerchio sul lato sinistro dell'area visiva del messaggio a comparsa.

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

Immagine principale

Le notifiche dell'app possono visualizzare un'immagine hero, ovvero ToastGenericHeroImage mostrato in evidenza all'interno del banner della notifica e all'interno del Centro notifiche. Usare AppNotificationBuilder.SetHeroImage per aggiungere un'immagine hero. Le dimensioni dell'immagine sono 364x180 pixel con una scalabilità del 100%.

Screenshot di una notifica dell'app che mostra il posizionamento dell'immagine hero sopra l'area di attribuzione.

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

Restrizioni relative alle dimensioni delle immagini

Le immagini usate nella notifica dell'app possono essere originate da...

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

Per le immagini Web remote http e https, esistono limiti alle dimensioni del file di ogni singola immagine. Il limite è 3 MB per le connessioni normali e 1 MB per le connessioni a consumo.

Connessione normale Connessione a consumo
3 MB 1 MB

Se un'immagine supera le dimensioni del file o non riesce a scaricarla o si verifica il timeout, l'immagine verrà eliminata e il resto della notifica verrà visualizzato.

Testo di attribuzione

Se è necessario fare riferimento all'origine del contenuto, è possibile usare il testo di attribuzione. Usare AppNotificationBuilder.SetAttributionText per impostare il testo di attribuzione. Questo testo viene sempre visualizzato sotto qualsiasi elemento di testo, ma sopra le immagini inline. Il testo usa una dimensione leggermente inferiore rispetto agli elementi di testo standard per distinguere gli elementi di testo normali.

Nelle versioni precedenti di Windows che non supportano il testo di attribuzione, il testo verrà semplicemente visualizzato come un altro elemento di testo (presupponendo che non si abbia già il massimo di tre elementi di testo).

Screenshot di una notifica dell'app che mostra il testo di attribuzione

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

Timestamp personalizzato

È possibile eseguire l'override del timestamp fornito dal sistema con il proprio timestamp che rappresenta in modo accurato quando è stato generato il messaggio/ informazioni/contenuto. Questo timestamp è visibile all'interno del Centro notifiche.

Screenshot di una notifica nel Centro notifiche con un timestamp personalizzato

Per altre informazioni sull'uso di un timestamp personalizzato, vedere Timestamp personalizzati nelle notifiche dell'app.

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

Barra di avanzamento

Puoi fornire un indicatore di stato nella notifica dell'app per mantenere l'utente informato dello stato di avanzamento delle operazioni, ad esempio i download. Le barre di stato supportano il data binding, che consente di aggiornare dinamicamente i valori di stato dopo la visualizzazione della notifica.

Una screenshot di una notifica dell'app che mostra una barra di progresso.

Per altre informazioni sull'uso di un indicatore di stato, vedere Indicatore di stato delle notifiche dell'app e data binding.

Intestazioni

È possibile raggruppare le notifiche sotto le intestazioni all'interno del Centro Notifiche. Ad esempio, è possibile raggruppare i messaggi da una chat di gruppo in un'intestazione o raggruppare le notifiche di un tema comune in un'intestazione o più.

Screenshot di un centro operativo che mostra più notifiche per l'applicazione

Per altre informazioni sull'uso delle intestazioni, vedere Intestazioni di notifica dell'app.

Contenuto adattivo

Oltre al contenuto specificato in precedenza, è anche possibile visualizzare ulteriore contenuto adattivo che diventa visibile quando il toast viene espanso.

Questo contenuto aggiuntivo viene specificato usando Adaptive, di cui è possibile ottenere maggiori informazioni leggendo la documentazione Riquadri Adattivi .

Si noti che qualsiasi contenuto adattivo deve essere contenuto all'interno di un AdaptiveGroup. In caso contrario, non verrà eseguito il rendering tramite adaptive.

Colonne ed elementi di testo

Ecco un esempio in cui vengono usate colonne e alcuni elementi di testo adattivi avanzati. Poiché gli elementi di testo si trovano all'interno di un AdaptiveGroup, supportano tutte le proprietà di stile adattive avanzate.

Screenshot di una notifica dell'app che mostra i gruppi di elementi di testo allineati a sinistra e a destra dell'area visiva della notifica.

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

Buttons

I pulsanti rendono interattiva la notifica toast, consentendo all'utente di effettuare azioni rapide sulla notifica dell'app senza interrompere l'attività in corso. Ad esempio, gli utenti possono rispondere a un messaggio direttamente dall'interno di un avviso popup o eliminare un messaggio di posta elettronica senza nemmeno aprire l'app di posta elettronica. I pulsanti vengono visualizzati nella parte espansa della notifica. Usare AppNotificationButton per definire i pulsanti e AppNotificationBuilder.AddButton per aggiungerli alla notifica.

Per altre informazioni sull'implementazione dei pulsanti end-to-end, vedere Panoramica delle notifiche delle app.

I pulsanti possono attivare un'app nei modi seguenti:

  • L'app viene attivata in primo piano, con un argomento che può essere usato per passare a una pagina/contesto specifico.
  • Un'altra app viene avviata tramite il lancio di un protocollo.
  • L'attivazione in background è supportata in modo esplicito per le app UWP. Per le app SDK per app di Windows, l'app viene sempre avviata in primo piano. L'app può chiamare AppInstance.GetActivatedEventArgs per rilevare se l'attivazione è stata avviata da una notifica e determinare dagli argomenti passati se avviare completamente l'applicazione in primo piano o semplicemente gestire la notifica e chiuderla.
  • Le azioni di sistema, ad esempio lo snoozing o la chiusura della notifica, sono supportate sia per le app UWP che per le SDK per app di Windows. Le API AppNotificationBuilder non supportano questo scenario, ma le app SDK per app di Windows possono implementare questo scenario usando Microsoft.Windows. AppNotifications.Builder API o XML non elaborato.

Annotazioni

È possibile avere fino a 5 pulsanti (incluse le voci del menu di scelta rapida illustrate più avanti).

Screenshot di una notifica dell'app che mostra una riga di testo seguita da due pulsanti definiti dagli elementi azione

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

Pulsanti con icone

È possibile aggiungere icone ai pulsanti usando AppNotificationButton.SetIcon. Queste icone sono immagini trasparenti bianche di 16x16 pixel a 100% ridimensionamento e non devono includere spaziatura interna nell'immagine stessa. Se si sceglie di fornire icone in una notifica dell'app, è necessario fornire icone per TUTTI i pulsanti nella notifica, perché trasforma lo stile dei pulsanti in pulsanti icona.

Annotazioni

Per l'accessibilità, assicurarsi di includere una versione bianca a contrasto dell'icona (un'icona nera per sfondi bianchi), in modo che quando l'utente attiva la modalità bianco a contrasto elevato, l'icona è visibile. Per ulteriori informazioni, vedere supporto per tile e notifiche toast per lingua, scala e contrasto elevato.

Screenshot di una notifica dell'app che usa pulsanti con icone.

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

Nuovo in Windows 11 Update: è possibile aggiungere descrizioni comando alle icone con la proprietà HintToolTip in XML. Questo è l'ideale se i pulsanti hanno icone ma nessun contenuto, così da garantire che sia possibile passare il testo che il Narratore Windows può leggere. Tuttavia, se il contenuto è presente, l'Assistente vocale leggerà sempre il contenuto, indipendentemente da ciò che è passato nella descrizione comando.

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

Pulsanti con colori

New in Windows 11 Update: è possibile aggiungere colori rosso o verde ai pulsanti usando AppNotificationButton.SetButtontonStyle con AppNotificationButtonStyle. In XML aggiungere l'attributo useButtonStyle all'elemento toast e l'attributo hint-buttonStyle all'elemento action come illustrato di seguito.

Screenshot di una notifica con tre pulsanti, i due pulsanti sinistro sono verdi con icone per l'avvio di una chiamata video o l'avvio di una chiamata audio. Il terzo pulsante è rosso e ha un'icona per rifiutare la chiamata.

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

Azioni del menu di scelta rapida

È possibile aggiungere altre azioni del menu di scelta rapida al menu di scelta rapida esistente visualizzato quando l'utente fa clic con il pulsante destro del mouse sulla notifica dell'app o seleziona l'icona del menu di scelta rapida. Usare AppNotificationButton.SetContextMenuPlacement per posizionare un pulsante nel menu di scelta rapida anziché nella barra delle azioni.

Annotazioni

Nei dispositivi meno recenti, queste azioni aggiuntive del menu di scelta rapida verranno visualizzate semplicemente come pulsanti normali nella notifica.

Le azioni aggiuntive del menu di scelta rapida aggiunte ( ad esempio "Disattiva chat gruppo per 1 ora") vengono visualizzate sopra le due voci di sistema predefinite.

avviso popup con menu di scelta rapida

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

Annotazioni

Le voci di menu di scelta rapida aggiuntive fanno parte del limite di 5 pulsanti su un toast.

L'attivazione di voci di menu contestuale aggiuntive viene gestita allo stesso modo dei pulsanti della notifica a comparsa.

Input

Gli input vengono specificati all'interno dell'area Actions della notifica dell'app, ovvero sono visibili solo quando la notifica viene espansa.

Casella di testo Risposta rapida

Per abilitare una casella di testo di risposta rapida (ad esempio, in un'app di messaggistica) aggiungere un input di testo con AppNotificationBuilder.AddTextBox e un pulsante e fare riferimento all'ID del campo di input di testo in modo che il pulsante venga visualizzato accanto al campo di input. L'icona facoltativa per il pulsante, se specificato, deve essere un'immagine di 32x32 pixel senza spaziatura interna, pixel bianchi impostati su trasparente e 100% scala.

Screenshot di una notifica dell'app con un'immagine del profilo e alcune righe di testo. Viene inclusa una casella di testo per digitare direttamente nella notifica, nonché un pulsante per inviare la risposta.

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

Input con barra dei pulsanti

È anche possibile avere uno o più input con pulsanti normali visualizzati sotto gli input.

Screenshot di una notifica dell'app che mostra una riga di testo, una casella di testo e una riga con due pulsanti con l'etichetta

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

Input di selezione

Oltre alle caselle di testo, è anche possibile usare un menu di selezione con AppNotificationBuilder.AddComboBox.

Screenshot di una notifica dell'app che mostra una riga di testo, un input di selezione con

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

Usando un menu di selezione e due pulsanti, è possibile creare una notifica di promemoria che utilizza il puntatore del sistema e ignorare le azioni. Assicurarsi di impostare lo scenario su "Promemoria" affinché la notifica si comporti come un promemoria.

Screenshot di una notifica dell'app con righe di testo che descrivono l'ora e la posizione di una riunione. Una casella di selezione ha selezionato

Il pulsante Snooze viene collegato all'input del menu di selezione usando la proprietà SelectionBoxId sul pulsante toast.

La sintassi Microsoft.Windows.AppNotifications.Builder attualmente non supporta l'attivazione del sistema. Questo scenario è tuttavia supportato per le app SDK per app di Windows ed è possibile compilare notifiche per questo scenario usando codice XML non elaborato.

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

Per usare lo snooze di sistema e ignorare le azioni:

  • Specificare un ToastButtonSnooze o ToastButtonDismiss
  • Facoltativamente, specificare una stringa di contenuto personalizzata:
  • Se non si specifica una stringa, verranno usate automaticamente stringhe localizzate per "Snooze" e "Dismiss".
  • Facoltativamente, specificare il SelectionBoxId:
  • Se non vuoi che l'utente selezioni un intervallo di snooze e vuoi invece che la notifica snooze una sola volta per un intervallo di tempo definito dal sistema (coerente nel sistema operativo), non costruire alcun <input>.
  • Se si desidera specificare le selezioni dell'intervallo di snooze: - Specificare SelectionBoxId nell'azione snooze - Associare l'ID dell'input con l'SelectionBoxId dell'azione snooze - Specificare come valore di ToastSelectionBoxItemun numero intero positivo non negativo che rappresenta l'intervallo di snooze in minuti.

Audio

Usare AppNotificationBuilder.SetAudioUri per specificare un file audio personalizzato o usare AppNotificationBuilder.SetAudioEvent per selezionare un suono di sistema. È possibile fare riferimento all'audio personalizzato tramite i percorsi seguenti:

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

In alternativa, è possibile scegliere dall'elenco di ms-winsoundevents, che sono sempre stati supportati su entrambe le piattaforme.

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

Vedi la pagina dello schema audio per informazioni sull'audio nelle notifiche dell'app. Per informazioni su come inviare una notifica dell'app che usa audio personalizzato, vedi Audio personalizzato nelle notifiche dell'app.

Scenari

Per creare notifiche importanti, avvisi, promemoria e notifiche di chiamata in arrivo, usare AppNotificationBuilder.SetScenario con un valore AppNotificationScenario . Lo scenario regola alcuni comportamenti per creare un'esperienza utente coerente e unificata. Esistono quattro possibili valori Scenario:

  • Reminder
  • Alarm
  • IncomingCall
  • Urgent

Promemoria

Nello scenario di promemoria, la notifica rimarrà sullo schermo fino a quando l'utente non lo chiude o non esegue un'azione. In Windows Mobile, la notifica dell'app verrà visualizzata anche in modo pre-espanso. Verrà riprodotto un suono di promemoria. Devi fornire almeno un pulsante nella notifica dell'app. In caso contrario, la notifica verrà considerata come una normale notifica.

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

Alarms

Gli allarmi si comportano allo stesso modo dei promemoria, ma in più riproducono l'audio in loop con un suono di allarme predefinito. Devi fornire almeno un pulsante nella notifica dell'app. In caso contrario, la notifica verrà considerata come una normale notifica.

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

Chiamate in arrivo

Le notifiche di chiamata in arrivo vengono visualizzate già espanse in un formato di chiamata speciale e rimangono sullo schermo dell'utente fino a quando non vengono chiuse. Per impostazione predefinita, la suoneria si ripeterà. Nei dispositivi mobili Windows visualizzano lo schermo intero.

Notifica dell'app per chiamate in arrivo

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

Notifiche importanti

Importante

Requires: è necessario eseguire Windows Insider Preview Build 22546 o versione successiva per usare notifiche importanti.

Le notifiche importanti consentono agli utenti di avere un maggiore controllo sulle app di prima parte e di terze parti che possono inviare notifiche di app ad alta priorità (urgenti/importanti) in grado di superare la modalità Assistente Notifiche (Non disturbare). Questa operazione può essere modificata nelle impostazioni delle notifiche.

Screenshot di una notifica urgente dell'app con un punto esclamativo nell'area di attribuzione accanto al nome dell'app. L'immagine mostra anche la notifica dell'app avviata dal sistema che fornisce pulsanti per consentire o impedire notifiche urgenti dall'app.

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

Localizzazione e accessibilità

I riquadri e le notifiche delle app possono caricare stringhe e immagini personalizzate per il linguaggio di visualizzazione, il fattore di scala di visualizzazione, il contrasto elevato e altri contesti di runtime. Per ulteriori informazioni, vedere il supporto per le notifiche tile e toast per lingua, dimensioni e contrasto elevato.

Gestione dell'attivazione

Per informazioni su come gestire le attivazioni delle app (l'utente che fa clic sulla notifica o i pulsanti nella notifica), vedi Panoramica delle notifiche delle app.