Come usare la coda notifiche (HTML)
[ Questo articolo è rivolto agli sviluppatori per Windows 8.x e Windows Phone 8.x che realizzano app di Windows Runtime. Gli sviluppatori che usano Windows 10 possono vedere Documentazione aggiornata ]
Nota Se non usi JavaScript, vedi Come usare la coda notifiche (XAML).
In questo argomento viene illustrato come abilitare la coda notifiche per il riquadro, in questo caso usando notifiche locali. Viene inoltre spiegato in che modo contrassegnare con un tag la notifica prima di inviarla per evitare la presenza in coda di contenuti duplicati o obsoleti. Con la coda notifiche abilitata, Windows visualizza ciclicamente fino a cinque notifiche.
Per visualizzare le versioni in C#, C++ o Visual Basic degli esempi JavaScript forniti in questa Guida introduttiva, vedi Come usare la coda notifiche (C#, C++ o Visual Basic).
Nota In questa Guida introduttiva manipolerai il contenuto della notifica direttamente mediante XML Document Object Model (DOM). Un approccio alternativo è disponibile tramite la libreria NotificationsExtensions, che presenta il contenuto XML come proprietà dell'oggetto, incluso Intellisense. Per altre informazioni, vedi Guida introduttiva: Uso della raccolta NotificationsExtensions nel codice. Per vedere il codice nella Guida introduttiva usando NotificationsExtenstions, vedi Esempio di riquadri e badge dell'app.
Cosa sapere
Tecnologie
- Windows Runtime
Prerequisiti
Per comprendere questo argomento, devi disporre di:
- Conoscenza operativa di termini e concetti correlati a riquadri e notifiche. Per altre informazioni, vedi Riquadri, notifiche e avvisi.
- Familiarità con lo schema XML per riquadri. Per altre informazioni, vedi Schema del riquadro.
- Capacità di creare un'app di Windows Store di base in JavaScript usando le API Windows Runtime. Per ulteriori informazioni, vedi Creare la prima app di Windows Store scritta in JavaScript.
- Un riquadro predefinito esistente per l'app, definito nel manifesto dell'app. Per altre informazioni, vedi Guida introduttiva: Creazione di un riquadro predefinito tramite l'editor del manifesto di Visual Studio.
- Familiarità con XML e la relativa manipolazione tramite API Document Object Model (DOM).
Istruzioni
Passaggio 1: Facoltativo: dichiarare una variabile spazio dei nomi
Questa procedura ti fornisce un nome breve da usare al posto del nome completo dello spazio dei nomi. È equivalente all'istruzione "using" in C# o all'istruzione "Imports" in Visual Basic e ti consente di semplificare il codice.
Nota Il resto del codice nella Guida introduttiva presuppone che la variabile sia stata dichiarata.
var notifications = Windows.UI.Notifications;
Passaggio 2: Impostare l'opzione per abilitare i cicli di notifiche
Questo codice abilita la coda notifiche per l'app. Questa chiamata deve essere effettuata una volta mentre l'app è in esecuzione, anche se un'ulteriore chiamata non comporta problemi. Ti consigliamo di inserire questa chiamata nel codice di inizializzazione dell'app. In questo modo la chiamata verrà effettuata prima dell'aggiornamento del riquadro in locale, della richiesta di un canale di notifica push o dell'avvio di aggiornamenti periodici per il riquadro.
notifications.TileUpdateManager.createTileUpdaterForApplication().enableNotificationQueue(true);
Passaggio 3: Creare una notifica di tipo riquadro
Questo è il primo passaggio per tutte le notifiche di tipo riquadro ed è identico in tutte le circostanze. Lo ripetiamo qui per completezza. Per altre informazioni, vedi Guida introduttiva: Invio di un aggiornamento di riquadro.
Nota Quando viene evocato in un sistema Windows 8, il metodo getTemplateContent restituisce la versione 1 del modello. Quando questo metodo viene chiamato in un sistema Windows 8.1, restituisce un modello di versione 2 o un modello di versione 3 nel caso dei modelli per soli telefoni. Se, tuttavia, un'app specifica nel proprio manifesto la compatibilità con Windows 8, il metodo restituirà la versione 1 del modello, indipendentemente dalla versione di Windows in uso. In questo argomento useremo la versione 2 del modello.
var template = notifications.TileTemplateType.tileWide310x150ImageAndText01;
var tileXml = notifications.TileUpdateManager.getTemplateContent(template);
// TO DO: Fill in the template with your tile content. Define a tile and add it to tileXML.
var tileNotification = new notifications.TileNotification(tileXml);
Passaggio 4: Facoltativo: Assegnare un tag alla notifica
Un tag è una stringa composta da massimo 16 caratteri alfanumerici e da un carattere null di terminazione che identifica in modo univoco la notifica nell'app.
Quando l'accodamento è abilitato, è possibile visualizzare ciclicamente nel riquadro un massimo di cinque notifiche. Per impostazione predefinita, i criteri di sostituzione per le notifiche nella coda sono basati sul principio First In, First Out (FIFO). Ciò significa che quando la coda è piena e arriva una nuova notifica, la notifica più vecchia viene rimossa. Tieni presente che l'ordine di visualizzazione delle notifiche non segue un rigido schema lineare. È quindi possibile che le notifiche vengano visualizzate in un ordine diverso rispetto a quello di arrivo.
Per impostare un comportamento diverso per la coda FIFO, si può assegnare un tag alla notifica. In questo caso se arriva una nuova notifica con lo stesso tag di una esistente, la nuova notifica sostituirà quella vecchia indipendentemente dalla posizione della notifica meno recente nella coda. Se ad esempio nel tuo riquadro sono visualizzate le quotazioni azionarie, vuoi certamente che le informazioni siano sempre aggiornate. L'uso di tag per sostituire le notifiche nella coda è facoltativo.
Per altre informazioni sull'uso dei tag con la coda notifiche, vedi Uso della coda notifiche. Nell'esempio seguente viene spiegato come impostare il tag per le notifiche locali. Per informazioni sull'impostazione dei tag per gli aggiornamenti periodici, vedi Tileupdater.startPeriodicUpdateBatch. Per informazioni sull'impostazione dei tag per le notifiche push, vedi Intestazioni delle richieste e delle risposte per Servizi notifica Push Windows.
tileNotification.tag = "stockMSFT";
Passaggio 5: Inviare la notifica al riquadro
notifications.TileUpdateManager.createTileUpdaterForApplication().update(tileNotification);
Argomenti correlati
Guida introduttiva: Invio di un aggiornamento di riquadro
Esempio di riquadri e badge dell'app
Dimensioni dei riquadri e delle immagini per avviso popup