Prioridades de notificación de WNSWNS Notification Priorities

Al establecer la prioridad de una notificación con un encabezado simple en los mensajes de WNS POST, puede controlar cómo se entregan las notificaciones en situaciones sensibles a la batería.By setting a notification's priority with a simple header to WNS POST messages, you can control how notifications are delivered in battery sensitive situations.

Encender WindowsPower on Windows

A medida que más usuarios trabajan solo en dispositivos con batería, la minimización del uso de energía se ha convertido en un requisito estándar para todas las aplicaciones.As more users are working only on battery powered devices, minimizing power usage has become a standard requirement for all apps. Si las aplicaciones consumen más energía que el valor que proporcionan, los usuarios pueden desinstalar las aplicaciones.If apps consume more energy than the value they provide, users might uninstall the apps. Aunque el sistema operativo Windows reduce el uso de energía en la batería siempre que sea posible, es responsabilidad de la aplicación trabajar de forma eficaz.While the Windows operating system reduces power usage on the battery where possible, it is the app's responsibility to work efficiently.

Las prioridades de WNS son una manera de trasladar el trabajo no crítico de la batería.WNS priorities is one way to move non-critical work off the battery. Las prioridades de WNS indican al sistema las notificaciones que deben entregarse al instante y que pueden esperar hasta que el dispositivo esté conectado a una fuente de alimentación.The WNS priorities tell the system which notifications should be delivered instantly and which can wait until the device is plugged into a power source. Con estas sugerencias, el sistema puede entregar las notificaciones el tiempo exacto que son más valiosos tanto para el usuario como para la aplicación.With these hints, the system can deliver the notifications the exact time they are the most valuable to both the user and the app.

Modos de energía en el dispositivoPower modes on the device

Cada dispositivo de Windows funciona a través de una variedad de modos de energía (batería, ahorro de batería y cargos) y los usuarios esperan distintos comportamientos de las aplicaciones en diferentes modos de energía.Every Windows device operates through a variety of power modes (battery, battery saver, and charge), and users expect different behaviors from apps in different power modes. Cuando el dispositivo esté encendido, se deben entregar todas las notificaciones.When the device is on, all notifications should be delivered. En el modo de ahorro de batería, solo se deben entregar las notificaciones más importantes.In battery saver mode, only the most important notifications should be delivered. Mientras el dispositivo está conectado, se pueden completar las operaciones de sincronización o no críticas.While the device is plugged in, sync or non-time critical operations can be completed.

Windows no sabe qué notificaciones son importantes para cualquier usuario o aplicación, por lo que el sistema se basa totalmente en las aplicaciones para establecer la prioridad adecuada para las notificaciones.Windows does not know which notifications are important to any user or app, so the system relies totally on apps to set the right priority for their notifications.

PrioridadesPriorities

Hay cuatro prioridades disponibles para que una aplicación la use al enviar notificaciones de envío.There are four priorities available for an app to use when sending push notifications. La prioridad se establece en las notificaciones individuales, lo que le permite elegir qué notificaciones deben entregarse al instante (por ejemplo, un mensaje de mensajería instantánea) y cuáles pueden esperar (por ejemplo, ponerse en contacto con las actualizaciones de fotos).The priority is set on individual notifications, allowing you to choose which notifications need to be delivered instantly (for example, an IM message) and which ones can wait (for example, contact photo updates).

Las prioridades son las siguientes:The priorities are:

PrioridadPriority Invalidación de usuarioUser Override DescripciónDescription EjemploExample
AltoHigh Sí: el usuario puede bloquear todas las notificaciones desde una aplicación o puede impedir que una aplicación se limite en el modo de ahorro de batería.Yes – user can block all notifications from an app OR can prevent an app from being throttled in battery saver mode. Las notificaciones más importantes que se deben entregar de inmediato en cualquier circunstancia cuando el dispositivo pueda recibir notificaciones.The most important notifications that must be delivered right away in any circumstance when the device can receive notifications. Cosas como llamadas VoIP o alertas críticas que deben reactivar el dispositivo se encuentran en esta categoría.Things like VoIP calls or critical alerts that should wake the device fall into this category. Llamadas de VoIP, alertas críticas en el tiempoVoIP calls, time- critical alerts
MediaMedium Sí: el usuario puede bloquear todas las notificaciones desde una aplicación o puede impedir que una aplicación se limite en el modo de ahorro de batería.Yes – user can block all notifications from an app OR can prevent an app from being throttled in battery saver mode. Se trata de cosas que no son tan importantes, lo que no es necesario que suceda de inmediato, pero los usuarios se molestarían si no se ejecutan en segundo plano.These are things that are not as important, things that don’t need to happen right away, but users would be annoyed if they are not running in the background. Sincronización de cuentas de correo electrónico secundarias, actualizaciones de iconos dinámicos.Secondary Email account sync, live tile updates.
BajoLow Sí: el usuario puede bloquear todas las notificaciones desde una aplicación o puede impedir que una aplicación se limite en el modo de ahorro de batería.Yes – user can block all notifications from an app OR can prevent an app from being throttled in battery saver mode. Notificaciones que solo tienen sentido cuando el usuario usa el dispositivo o cuando la actividad en segundo plano tiene sentido.Notifications that only make sense when the user is using the device or when background activity makes sense. Estos se almacenan en caché y no se procesan hasta que el usuario inicia sesión o se conecta a su dispositivo.These are cached and not processed until the user signs in or plugs in their device. Estado del contacto (en línea/sin conexión)Contact status (online/offline)
Muy bajoVery Low No: no puede evitar que las notificaciones de prioridad muy baja se limiten en el modo de ahorro de batería.No – It cannot prevent very low priority notifications from being throttled in battery saver mode. Esto es prácticamente igual que la prioridad baja, salvo que los usuarios no pueden invalidar la Directiva de ahorro de batería.This is almost the same as low priority except users cannot override the battery saver policy. Estas notificaciones nunca se entregarán en el ahorro de batería.These notifications will never be delivered in battery saver. Sincronizando archivos para un servicio de sincronización.Syncing files for a sync service.

Tenga en cuenta que muchas aplicaciones tendrán notificaciones de prioridad diferente a lo largo de su ciclo de vida.Note that many apps will have notifications of different priority throughout their lifecycle. Como la prioridad se establece en función de cada notificación, esto no supone un problema.Since the priority is set on a per-notification basis, this isn’t an issue. Una aplicación de VoIP puede enviar una notificación de alta prioridad para una llamada entrante y, a continuación, seguirla con una prioridad baja una cuando un contacto se pone en línea.A VoIP app can send a high priority notification for an incoming call and then follow it up with a low priority one when a contact comes online.

Establecimiento de la prioridadSetting the priority

La configuración de la prioridad de la solicitud de notificación se realiza a través de un encabezado adicional en la solicitud POST, X-WNS-PRIORITY .Setting the priority on the notification request is done through an additional header on the POST request, X-WNS-PRIORITY. Se trata de un valor entero entre 1 y 4 que se asigna a una prioridad:This is an integer value between 1 and 4 which maps to a priority:

Nombre de prioridadPriority Name Valor de prioridad X-WNS-X-WNS-PRIORITY Value Valor predeterminado para:Default for:
AltoHigh 11 Notificaciones del sistemaToasts
MeduimMeduim 22 Iconos y distintivosTiles and Badges
BajoLow 33 RawRaw
Muy bajoVery Low 44

Para ser compatible con versiones anteriores, no es necesario establecer una prioridad.To be backward compatible, setting a priority is not required. En caso de que una aplicación no establezca la prioridad de sus notificaciones, el sistema proporcionará una prioridad predeterminada.In case an app doesn’t set the priority of their notifications, the system will provide a default priority. Los valores predeterminados se muestran en el gráfico anterior y coinciden con el comportamiento de las versiones existentes de Windows.The defaults are shown in the chart above and match the behavior of existing versions of Windows.

Lista detallada del comportamiento del escritorioDetailed listing of desktop behavior

Si va a enviar la aplicación en varias SKU diferentes de Windows, normalmente se recomienda seguir el gráfico de la sección anterior.If you are shipping your app across many different SKUs of Windows, it is normally best to follow the chart in the above section.

A continuación se enumeran los comportamientos recomendados más específicos para cada prioridad.More specific recommended behaviors for each priority are listed below. No se garantiza que cada dispositivo funcione exactamente según el gráfico.This is not a guarantee that each device will work exactly according to the chart. Los OEM pueden configurar el comportamiento de manera diferente, pero la mayoría están cerca de este gráfico.OEMs are free to configure the behavior differently, but most are close to this chart.

Estado del dispositivoDevice State PRIORIDAD: altaPRIORITY: High PRIORIDAD: medioPRIORITY: Medium PRIORIDAD: bajaPRIORITY: Low PRIORIDAD: muy bajaPRIORITY: Very Low
Pantalla activada o conectadaScreen On OR plugged in EntregaDeliver EntregaDeliver EntregaDeliver EntregaDeliver
Pantalla apagada y con bateríaScreen Off AND on battery EntregaDeliver Si el usuario está exento: entrega adicional: batchIf user exempted: deliver Else: batch Si el usuario se ha excluido: deliver Else: cache *If user exempted: deliver Else: cache * instancias y clavesCache
Ahorro de batería habilitadoBattery Saver enabled Si el usuario está exento: aportar la memoria cachéIf user exempted: deliver Else: cache Si el usuario está exento: aportar la memoria cachéIf user exempted: deliver Else: cache Si el usuario está exento: aportar la memoria cachéIf user exempted: deliver Else: cache instancias y clavesCache
Con batería + protector de batería habilitado + pantalla desactivadaOn battery + battery saver enabled + screen off Si el usuario está exento: aportar la memoria cachéIf user exempted: deliver Else: cache Si el usuario está exento: aportar la memoria cachéIf user exempted: deliver Else: cache Si el usuario está exento: aportar la memoria cachéIf user exempted: deliver Else: cache instancias y clavesCache

Tenga en cuenta que las notificaciones de prioridad baja se entregarán de forma predeterminada para la pantalla y la batería solo para dispositivos basados en Windows Phone.Note that low priority notifications will be delivered by default for screen off and battery only for Windows Phone based devices. Esto es para maintian la compatibilidad con la Directiva de MPNS existente.This is to maintian compatibility with preexisting MPNS policy. Tenga en cuenta también que las filas cuarta y quinta son las mismas, simplemente llamando a distintos escenarios.Also note that the fourth and fifth rows are the same, just calling out different scenarios.

Para excluir una aplicación en el ahorro de batería, los usuarios deben ir a la "uso de la batería por aplicación" en configuración y seleccionar "permitir que la aplicación ejecute tareas en segundo plano".To exempt an app in battery saver, users must go to the "Battery Usage by App" in Settings and select "Allow the app to run background tasks." Esta selección de usuario exime a la aplicación del ahorro de batería para las notificaciones de prioridad alta, media y baja.This user selection exempts the app from battery saver for high, medium, and low priority notifications. También puede llamar a la API BackgroundExecutionManager para solicitar el permiso del usuario mediante programación.You can also call BackgroundExecutionManager API to programatically ask for the user's permission.