Aplicaciones de Windows
Contraer la tabla de contenido
Expandir la tabla de contenido

Cómo escribir una tarea en segundo plano para notificaciones de inserción sin procesar (aplicaciones de la Tienda Windows con JavaScript y HTML)

En este tema se muestra cómo escribir una tarea en segundo plano para recibir notificaciones de red en segundo plano que usan notificaciones de inserción sin procesar en la pantalla de bloqueo de una aplicación de la Tienda Windows. Este tema muestra cómo escribir una tarea en segundo plano para la característica de notificaciones de inserción sin procesar en Windows 8 para una aplicación de la Tienda Windows.

Lo que debes saber

Tecnologías

Requisitos previos

  • La siguiente información es válida para cualquier aplicación de la Tienda Windows conectada o habilitada para red que dependa de conexiones de red que usan notificaciones de inserción sin procesar para estar siempre conectada. Este tema se aplica a las aplicaciones escritas en JavaScript en Windows 8 y Windows Server 2012.

    Las aplicaciones de JavaScript, las aplicaciones escritas en C++/XAML y las aplicaciones que usan .NET Framework 4.5 en C#, VB.NET, o C++ administrado, admiten conectividad de red en segundo plano usando notificaciones de inserción sin procesar. Para obtener más información acerca de las tareas de red en segundo plano aplicables a las aplicaciones JavaScript, consulta Dar soporte a tu aplicación mediante tareas en segundo plano.

Instrucciones

Escribir la tarea en segundo plano

El paso siguiente, e importante, para que la aplicación siempre esté accesible es proporcionar el código de la aplicación que se ejecuta cuando se produce una notificación de inserción sin procesar. Por ejemplo, en el caso de una aplicación de correo electrónico que usa notificaciones de inserción sin procesar para indicar que hay correo nuevo en el servidor, la aplicación necesita ejecutar código para procesar los datos de la notificación de inserción sin procesar. Estos datos podrían contener una lista de los nuevos mensajes de correo electrónico recibidos para generar una notificación para el usuario. Una aplicación también podría programar la conexión al servidor de correo y descargar los nuevos mensajes desde el servidor la próxima vez que la aplicación no esté suspendida. Este proceso se realiza en la tarea en segundo plano.

Todas las tareas en segundo plano se implementan mediante una función que se ejecuta cuando la aplicación se registra para una notificación de inserción sin procesar. Esto se especificó en el manifiesto de la aplicación como el archivo de código fuente de JavaScript específico que contiene una única función.

El ejemplo siguiente muestra la función que se ejecuta cuando una notificación de inserción sin procesar desencadena la tarea en segundo plano.


(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  No puedes hacer referencia a elementos de la interfaz de usuario (UI) de tu aplicación en una tarea en segundo plano porque los elementos de interfaz de usuario de tu aplicación no se están ejecutando. Cuando tu código se esté ejecutando en la tarea en segundo plano, puedes recibir los datos de la notificación de inserción sin procesar, analizar y procesar los datos y generar una notificación para el usuario.

La vigencia de una tarea en segundo plano se determina con la función que implementa la tarea en segundo plano. Si una aplicación sale de la función, la aplicación se suspende.

Cuando se desencadena una tarea en segundo plano de la aplicación, el sistema operativo se asegura de que la sincronización adecuada entregue los datos de la notificación de inserción sin procesar a la aplicación o que devuelva un error (conexión anulada, por ejemplo). Igualmente, al final de la tarea en segundo plano, una aplicación debe asegurarse de generar todas las notificaciones antes de que la aplicación se suspenda.

Aunque la tarea en segundo plano está destinada principalmente a una aplicación en estado suspendido, las tareas en segundo plano de una aplicación configurada con ellas también se desencadenarán cuando la aplicación esté en primer plano.

Pasos previos

Para obtener más información sobre cómo crear una aplicación de pantalla de bloqueo para que reciba notificaciones de red en segundo plano que usan notificaciones de inserción sin procesar, consulta Inicio rápido: crear una aplicación de pantalla de bloqueo que notificaciones de inserción sin procesar en segundo plano.

Para obtener más información sobre el proceso de registrar un canal de notificaciones de inserción y enviarlo al servidor, registrar una tarea en segundo plano para que una notificación de inserción sin procesar la active, enviar una notificación de inserción sin procesar al canal y activar la tarea en segundo plano, consulta Cómo usar WNS para entregar notificaciones de inserción sin procesar a una aplicación de pantalla de bloqueo.

Para obtener más información sobre las directrices y listas de comprobación para usar notificaciones de inserción sin procesar, consulta

Directrices y lista de comprobación para notificaciones de inserción sin procesar.

Temas relacionados

Otros recursos
Agregar compatibilidad para redes
Redes en segundo plano
Directrices y lista de comprobación de notificaciones sin procesar
Cómo autenticar con los Servicios de notificaciones de inserción de Windows (WNS)
Cómo usar WNS para entregar notificaciones de inserción sin procesar a una aplicación de pantalla de bloqueo
Introducción a las pantallas de bloqueo
Introducción a las notificaciones de inserción
Inicio rápido: crear una aplicación de pantalla de bloqueo que usa notificaciones de inserción sin procesar en segundo plano
Dar soporte a tu aplicación mediante tareas en segundo plano
Solución de problemas y depuración de las conexiones de red
Referencia
HttpClient
HttpClientHandler
IXMLHTTPRequest2
System.Net.Http
Windows.ApplicationModel.Background
Windows.Networking.BackgroundTransfer
Windows.Networking.PushNotifications
Windows.Networking.Sockets
Muestras
Muestra de tarea en segundo plano
Muestra de aplicaciones de pantalla de bloqueo
Ejemplo de notificaciones de inserción y periódicas del lado cliente
Ejemplo de notificaciones sin procesar

 

 

Mostrar:
© 2018 Microsoft