Come scrivere un'attività in background per le notifiche push non elaborate (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 ]
Questo argomento ti mostrerà come scrivere un'attività in background per ricevere le notifiche di rete in background che utilizzano le notifiche push non elaborate in un'app di Windows Runtime nella schermata di blocco. L'argomento illustra come scrivere un'attività in background per la funzionalità delle notifiche push non elaborate di Windows 8.1 per un'app di Windows Runtime.
Cosa sapere
Tecnologie
Windows.Networking.PushNotifications
Consente le comunicazioni di rete in background mediante notifiche push non elaborate.
Prerequisiti
Le informazioni seguenti riguardano qualsiasi app di Windows Runtime connessa o in grado di riconoscere la rete che dipenda da connessioni di rete che usano le notifiche push non elaborate per essere sempre attiva. Questo argomento riguarda le app scritte in JavaScript per Windows 8.1, Windows Phone 8.1 e Windows Server 2012.
La connettività di rete in background mediante le notifiche push non elaborate è supportata delle app scritte in JavaScript e quelle scritte in C++/XAML, oltre a quelle che usano .NET Framework 4.5 in C#, VB.NET o C++ gestito. Per altre informazioni sulle attività di rete in background che interessano le app scritte in JavaScript, vedi Supporto dell'app con le attività in background.
Istruzioni
Scrivere l'attività in background
Un passaggio importante per rendere la tua app sempre raggiungibile consiste nel fornire il codice dell'app che verrà eseguito in concomitanza con la notifica push non elaborata. Ad esempio, nel caso di un'app per email che usa le notifiche push non elaborate in ingresso per segnalare l'arrivo di nuovi messaggi sul server, l'app deve eseguire codice per elaborare i dati nella notifica push non elaborata. Questi dati possono contenere un elenco di nuovi messaggi email ricevuti per inviare una notifica all'utente. L'app può inoltre programmare di connettersi al server email e scaricare le nuove email dal server alla successiva occasione in cui non sarà più sospesa. Questo processo avviene nell'attività in background.
Tutte le attività in background sono implementate da una funzione eseguita quando l'app è stata registrata per una notifica push non elaborata, come indicato nel manifesto dell'app con la specifica del file di origine JavaScript contenente una singola funzione.
L'esempio che segue mostra la funzione che viene eseguita quando viene attivata un'attività in background da una notifica push non elaborata.
(function () {
// Get the background task details
var backgroundTask = Windows.UI.WebUI.WebUIBackgroundTaskInstance.current;
var settings = Windows.Storage.ApplicationData.current.localSettings;
var taskName = backgroundTask.task.name;
console.log("Background task \"" + taskName + "\" starting...");
// Store the content received from the notification so it can be retrieved
// from the UI.
var notificationDetails = backgroundTask.triggerDetails;
settings.values[taskName] = notificationDetails.content;
console.log("Background \"" + taskName + "\" completed!");
// Close the instance running the task
close();
})();
Nota Non puoi inserire riferimenti agli elementi dell'interfaccia utente della tua app in un'attività in background, poiché questi elementi nella tua app non sono in esecuzione. Quando il tuo codice viene eseguito nell'attività in background, puoi ricevere i dati della notifica push non elaborata, analizzarli, elaborarli e generare una notifica per l'utente.
La durata dell'attività in background è controllata dalla funzione che implementa l'attività in background. Quando un'app abbandona la funzione, viene sospesa.
Quando viene attivata un'attività in background dell'app, il sistema operativo si assicura che la sincronizzazione appropriata consegni all'app i dati della notifica push non elaborata o restituisca un errore (ad esempio di connessione interrotta). Allo stesso modo, al termine dell'attività in background l'app dovrà assicurarsi che tutte le notifiche vengano generate prima che l'app venga sospesa.
Sebbene le attività in background riguardino prevalentemente le app sospese, nel caso delle app configurate con attività in background si assisterà all'attivazione di queste attività in background anche mentre tali app sono in primo piano.
Passaggi precedenti
Per altre informazioni su come creare un'app della schermata di blocco per ricevere le notifiche di rete in background che utilizzano le notifiche push non elaborate, vedi Come creare un'app della schermata di blocco che usa notifiche push in background non elaborate.
Per altre informazioni sulla procedura di registrazione di un canale di notifica push e di invio al server, registra un'attività in background da attivare a partire da una notifica push, quindi invia una notifica push non elaborata al canale e attiva l'attività in background, vedi Come usare WNS per recapitare notifiche push non elaborate a un'app nella schermata di blocco.
Per altre informazioni su linee guida ed elenchi di controllo per l'uso delle notifiche push non elaborate, vedi
Linee guida ed elenco di controllo per le notifiche non elaborate.
Argomenti correlati
Altre risorse
Funzionalità di rete in background
Linee guida ed elenco di controllo per le notifiche non elaborate
Come eseguire l'autenticazione con Servizi notifica Push Windows (WNS)
Come usare WNS per recapitare notifiche push non elaborate a un'app nella schermata di blocco
Panoramica della schermata di blocco
Panoramica delle notifiche push
Come creare di un'app della schermata di blocco che usa notifiche push in background non elaborate
Supporto dell'app con attività in background
Risoluzione dei problemi e debug delle connessioni di rete
Riferimento
Windows.ApplicationModel.Background
Windows.Networking.BackgroundTransfer
Windows.Networking.PushNotifications
Esempi
Esempio di attività in background
Esempio di app nella schermata di blocco