Prioridades de notificação do WNSWNS Notification Priorities

Ao definir a prioridade de uma notificação com um cabeçalho simples para mensagens de POSTAgem do WNS, você pode controlar como as notificações são entregues em situações sensíveis à bateria.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.

Ligar o WindowsPower on Windows

À medida que mais usuários estiverem trabalhando somente em dispositivos com bateria, minimizar o consumo de energia se tornará um requisito padrão para todos os aplicativos.As more users are working only on battery powered devices, minimizing power usage has become a standard requirement for all apps. Se os aplicativos consumirem mais energia do que o valor que eles fornecem, os usuários poderão desinstalar os aplicativos.If apps consume more energy than the value they provide, users might uninstall the apps. Embora o sistema operacional Windows reduza o consumo de energia na bateria sempre que possível, é responsabilidade do aplicativo trabalhar com eficiência.While the Windows operating system reduces power usage on the battery where possible, it is the app's responsibility to work efficiently.

As prioridades do WNS são uma maneira de mover o trabalho não crítico para fora da bateria.WNS priorities is one way to move non-critical work off the battery. As prioridades do WNS dizem ao sistema que as notificações devem ser entregues instantaneamente e que podem esperar até que o dispositivo seja conectado a uma fonte de energia.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. Com essas dicas, o sistema pode entregar as notificações no momento exato em que elas são as mais valiosas para o usuário e o aplicativo.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 energia no dispositivoPower modes on the device

Cada dispositivo do Windows opera por meio de uma variedade de modos de energia (bateria, economia de bateria e cobrança), e os usuários esperam comportamentos diferentes de aplicativos em modos de energia diferentes.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. Quando o dispositivo estiver ativado, todas as notificações deverão ser entregues.When the device is on, all notifications should be delivered. No modo de economia de bateria, somente as notificações mais importantes devem ser entregues.In battery saver mode, only the most important notifications should be delivered. Enquanto o dispositivo está conectado, as operações de sincronização ou não críticas podem ser concluídas.While the device is plugged in, sync or non-time critical operations can be completed.

O Windows não sabe quais notificações são importantes para qualquer usuário ou aplicativo, portanto, o sistema depende totalmente dos aplicativos para definir a prioridade certa para suas notificações.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

Há quatro prioridades disponíveis para um aplicativo usar ao enviar notificações por push.There are four priorities available for an app to use when sending push notifications. A prioridade é definida em notificações individuais, permitindo que você escolha quais notificações precisam ser entregues instantaneamente (por exemplo, uma mensagem de mensagens instantâneas) e quais podem esperar (por exemplo, contatar atualizações 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).

As prioridades são:The priorities are:

PrioridadePriority Substituição do usuárioUser Override DescriçãoDescription ExemploExample
AltoHigh Sim – o usuário pode bloquear todas as notificações de um aplicativo ou pode impedir que um aplicativo seja limitado no modo de economia de bateria.Yes – user can block all notifications from an app OR can prevent an app from being throttled in battery saver mode. As notificações mais importantes que devem ser entregues imediatamente em qualquer circunstância quando o dispositivo puder receber notificações.The most important notifications that must be delivered right away in any circumstance when the device can receive notifications. Coisas como chamadas de VoIP ou alertas críticos que devem ativar o dispositivo se enquadram nessa categoria.Things like VoIP calls or critical alerts that should wake the device fall into this category. Chamadas VoIP, alertas críticos para o tempoVoIP calls, time- critical alerts
MédioMedium Sim – o usuário pode bloquear todas as notificações de um aplicativo ou pode impedir que um aplicativo seja limitado no modo de economia de bateria.Yes – user can block all notifications from an app OR can prevent an app from being throttled in battery saver mode. Essas são as coisas que não são tão importantes, coisas que não precisam acontecer imediatamente, mas os usuários seriam incomodar se não estiverem em execução em 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. Sincronização de conta de email secundária, atualizações de bloco dinâmico.Secondary Email account sync, live tile updates.
BaixoLow Sim – o usuário pode bloquear todas as notificações de um aplicativo ou pode impedir que um aplicativo seja limitado no modo de economia de bateria.Yes – user can block all notifications from an app OR can prevent an app from being throttled in battery saver mode. Notificações que fazem sentido apenas quando o usuário está usando o dispositivo ou quando a atividade em segundo plano faz sentido.Notifications that only make sense when the user is using the device or when background activity makes sense. Eles são armazenados em cache e não processados até que o usuário entre ou conecte seu dispositivo.These are cached and not processed until the user signs in or plugs in their device. Status do contato (online/offline)Contact status (online/offline)
Muito baixoVery Low Não, não é possível impedir que notificações de prioridade muito baixa sejam limitadas no modo de economia de bateria.No – It cannot prevent very low priority notifications from being throttled in battery saver mode. Isso é quase o mesmo que a baixa prioridade, exceto que os usuários não podem substituir a política de economia de bateria.This is almost the same as low priority except users cannot override the battery saver policy. Essas notificações nunca serão entregues na economia de bateria.These notifications will never be delivered in battery saver. Sincronizando arquivos para um serviço de sincronização.Syncing files for a sync service.

Observe que muitos aplicativos terão notificações de prioridade diferente em todo o ciclo de vida.Note that many apps will have notifications of different priority throughout their lifecycle. Como a prioridade é definida em uma base por notificação, isso não é um problema.Since the priority is set on a per-notification basis, this isn’t an issue. Um aplicativo VoIP pode enviar uma notificação de alta prioridade para uma chamada de entrada e, em seguida, acompanhá-la com uma prioridade baixa quando um contato ficar online.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.

Definindo a prioridadeSetting the priority

A definição da prioridade na solicitação de notificação é feita por meio de um cabeçalho adicional na solicitação POST, X-WNS-PRIORITY .Setting the priority on the notification request is done through an additional header on the POST request, X-WNS-PRIORITY. Este é um valor inteiro entre 1 e 4 que é mapeado para uma prioridade:This is an integer value between 1 and 4 which maps to a priority:

Nome da prioridadePriority Name X-WNS-valor de prioridadeX-WNS-PRIORITY Value Padrão para:Default for:
AltaHigh 11 Notificações do sistemaToasts
SeveridadeMeduim 22 Blocos e notificaçõesTiles and Badges
BaixoLow 33 RawRaw
Muito baixoVery Low 44

Para ser compatível com versões anteriores, não é necessário definir uma prioridade.To be backward compatible, setting a priority is not required. Caso um aplicativo não defina a prioridade de suas notificações, o sistema fornecerá uma prioridade padrão.In case an app doesn’t set the priority of their notifications, the system will provide a default priority. Os padrões são mostrados no gráfico acima e correspondem ao comportamento das versões existentes do Windows.The defaults are shown in the chart above and match the behavior of existing versions of Windows.

Listagem detalhada do comportamento da área de trabalhoDetailed listing of desktop behavior

Se você estiver enviando seu aplicativo por vários SKUs diferentes do Windows, normalmente será melhor seguir o gráfico na seção acima.If you are shipping your app across many different SKUs of Windows, it is normally best to follow the chart in the above section.

Os comportamentos recomendados mais específicos para cada prioridade são listados abaixo.More specific recommended behaviors for each priority are listed below. Isso não é uma garantia de que cada dispositivo funcionará exatamente de acordo com o gráfico.This is not a guarantee that each device will work exactly according to the chart. Os OEMs são livres para configurar o comportamento de forma diferente, mas a maioria está perto deste gráfico.OEMs are free to configure the behavior differently, but most are close to this chart.

Estado do DispositivoDevice State PRIORIDADE: altaPRIORITY: High PRIORIDADE: médiaPRIORITY: Medium PRIORIDADE: baixaPRIORITY: Low PRIORIDADE: muito baixaPRIORITY: Very Low
Tela ligada ou conectadaScreen On OR plugged in FornecimentoDeliver FornecimentoDeliver FornecimentoDeliver FornecimentoDeliver
Tela desligada e bateriaScreen Off AND on battery FornecimentoDeliver Se o usuário tiver isentado: enviar mais: loteIf user exempted: deliver Else: batch Se o usuário tiver isentado: entregar else: cache *If user exempted: deliver Else: cache * CacheCache
Economia de bateria habilitadaBattery Saver enabled Se o usuário tiver isentado: entregar else: cacheIf user exempted: deliver Else: cache Se o usuário tiver isentado: entregar else: cacheIf user exempted: deliver Else: cache Se o usuário tiver isentado: entregar else: cacheIf user exempted: deliver Else: cache CacheCache
Na bateria + economia de bateria habilitada + tela desativadaOn battery + battery saver enabled + screen off Se o usuário tiver isentado: entregar else: cacheIf user exempted: deliver Else: cache Se o usuário tiver isentado: entregar else: cacheIf user exempted: deliver Else: cache Se o usuário tiver isentado: entregar else: cacheIf user exempted: deliver Else: cache CacheCache

Observe que as notificações de baixa prioridade serão entregues por padrão para desativar a tela e a bateria somente para dispositivos com base Windows Phone.Note that low priority notifications will be delivered by default for screen off and battery only for Windows Phone based devices. Isso é para a compatibilidade maintian com a política MPNS pré-existente.This is to maintian compatibility with preexisting MPNS policy. Observe também que as quarta e quinta linhas são as mesmas, apenas chamando cenários diferentes.Also note that the fourth and fifth rows are the same, just calling out different scenarios.

Para isentar um aplicativo na economia de bateria, os usuários devem acessar o "uso da bateria por aplicativo" em configurações e selecionar "permitir que o aplicativo Execute tarefas em 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." Essa seleção de usuário isenta o aplicativo da economia de bateria para notificações de prioridade alta, média e baixa.This user selection exempts the app from battery saver for high, medium, and low priority notifications. Você também pode chamar a API BackgroundExecutionManager para solicitar programaticamente a permissão do usuário.You can also call BackgroundExecutionManager API to programatically ask for the user's permission.