Compartir a través de


Marcas de tiempo personalizadas en las notificaciones de la aplicación

De forma predeterminada, la marca de tiempo en las notificaciones de la aplicación, que está visible en el Centro de notificaciones, se establece en la hora en que se envió la notificación. Opcionalmente, puede invalidar la marca de tiempo con su propia fecha y hora personalizadas, de modo que la marca de tiempo represente la hora en que se creó realmente el mensaje, la información o el contenido, en lugar de la hora en que se envió la notificación. Esto también garantiza que las notificaciones aparezcan en el orden correcto en el Centro de notificaciones, que se ordena por tiempo. Se recomienda que la mayoría de las aplicaciones especifiquen una marca de tiempo personalizada.

Esta función está disponible en la compilación 15063 de Windows y posteriores.

Notificación de aplicación con marca de tiempo personalizada

Nota:

El término "notificación del sistema" se reemplaza por "notificación de aplicación". Estos términos hacen referencia a la misma característica de Windows, pero con el tiempo se eliminará el uso de "notificación del sistema" en la documentación.

Para usar una marca de tiempo personalizada, simplemente asigne la propiedad displayTimestamp en el elemento notificación del sistema de la carga XML de notificación de la aplicación. A partir del SDK de Aplicaciones para Windows 1.2, puede agregar una marca de tiempo personalizada a una notificación de aplicación con Microsoft.Windows.AppNotifications.Builder. Para las aplicaciones UWP, puede utilizar la versión 1.4.0 o posterior de la biblioteca NuGet de notificaciones del kit de herramientas de la comunidad UWP. También puede especificar la marca de tiempo utilizando xml sin formato.

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

Si usa XML, la fecha debe tener el formato ISO 8601.

Nota:

Solo puede usar como máximo 3 posiciones decimales en los segundos (aunque realistamente no hay ningún valor para proporcionar nada que sea pormenorizados). Si proporciona más, la carga no será válida y recibirá la notificación "Nueva notificación".

Guía de uso

En general, se recomienda que la mayoría de las aplicaciones especifiquen una marca de tiempo personalizada. Esto garantiza que la marca de tiempo de la notificación represente con precisión cuándo se generó el mensaje, la información o el contenido, independientemente de los retrasos de red, el modo avión o el intervalo fijo de tareas en segundo plano periódicas.

Por ejemplo, una aplicación de noticias podría ejecutar una tarea en segundo plano cada 15 minutos que comprueba si hay nuevos artículos y muestra notificaciones. Antes de las marcas de tiempo personalizadas, la marca de tiempo corresponde al momento en que se generó la notificación de la aplicación (por lo tanto, siempre en intervalos de 15 minutos). Sin embargo, ahora la aplicación puede establecer la marca de tiempo en la hora en que se publicó realmente el artículo. De forma similar, las aplicaciones de correo electrónico y las aplicaciones de redes sociales pueden beneficiarse de esta característica si se usa un patrón similar de extracción periódica para sus notificaciones.

Además, proporcionar una marca de tiempo personalizada garantiza que la marca de tiempo sea correcta incluso si el usuario estaba desconectado de Internet. Por ejemplo, cuando el usuario activa su equipo y se ejecuta la tarea en segundo plano, por último puede asegurarse de que la marca de tiempo de las notificaciones representa la hora en que se enviaron los mensajes, en lugar de la hora en que el usuario ha activado su equipo.

Marca de tiempo predeterminada

Si no proporciona una marca de tiempo personalizada, usamos la hora en que se envió la notificación.

Si envió una notificación de inserción a través de WNS, usamos la hora en que el servidor WNS recibió la notificación (por lo que cualquier latencia al entregar la notificación al dispositivo no afectará a la marca de tiempo).

Si envió una notificación local, usamos la hora en que la plataforma de notificaciones recibió la notificación (que debería ser inmediatamente).