Partilhar via


Prioridades de notificação do WNS

Ao definir a prioridade de uma notificação com um cabeçalho simples para mensagens WNS POST, você pode controlar como as notificações são entregues em situações sensíveis à bateria.

Ligar o Windows

Como mais usuários estão trabalhando apenas em dispositivos alimentados por bateria, minimizar o uso de energia tornou-se um requisito padrão para todos os aplicativos. Se as aplicações consumirem mais energia do que o valor que fornecem, os utilizadores poderão desinstalá-las. Embora o sistema operacional Windows reduza o uso de energia na bateria sempre que possível, é responsabilidade do aplicativo trabalhar de forma eficiente.

As prioridades do WNS são uma forma de retirar o trabalho não crítico da bateria. As prioridades do WNS informam ao sistema quais notificações devem ser entregues instantaneamente e quais podem esperar até que o dispositivo seja conectado a uma fonte de alimentação. Com essas dicas, o sistema pode entregar as notificações no momento exato em que elas são mais valiosas tanto para o usuário quanto para o aplicativo.

Modos de energia do dispositivo

Cada dispositivo Windows opera através de uma variedade de modos de energia (bateria, economia de bateria e carga), e os usuários esperam comportamentos diferentes de aplicativos em diferentes modos de energia. Quando o dispositivo está ligado, todas as notificações devem ser entregues. No modo de economia de bateria, apenas as notificações mais importantes devem ser entregues. Enquanto o dispositivo estiver conectado, operações de sincronização ou não críticas em termos de tempo podem ser concluídas.

O Windows não sabe quais notificações são importantes para qualquer usuário ou aplicativo, então o sistema depende totalmente de aplicativos para definir a prioridade certa para suas notificações.

Priorities

Há quatro prioridades disponíveis para um aplicativo usar ao enviar notificações push. A prioridade é definida em notificações individuais, permitindo que você escolha quais notificações precisam ser entregues instantaneamente (por exemplo, uma mensagem de IM) e quais podem esperar (por exemplo, atualizações de fotos de contato).

As prioridades são as seguintes:

Priority Sobreposição do Utilizador Description Example
High 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. As notificações mais importantes que devem ser entregues imediatamente em qualquer circunstância quando o dispositivo pode receber notificações. Coisas como chamadas VoIP ou alertas críticos que devem despertar o dispositivo se enquadram nessa categoria. Chamadas VoIP, alertas de tempo crítico
Medium 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. São coisas que não são tão importantes, coisas que não precisam acontecer imediatamente, mas os usuários ficariam irritados se não estivessem rodando em segundo plano. Sincronização de conta de e-mail secundária, atualizações de live tile.
Low 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. Notificações que só fazem sentido quando o utilizador está a utilizar o dispositivo ou quando a atividade em segundo plano faz sentido. Eles são armazenados em cache e não são processados até que o usuário entre ou conecte seu dispositivo. Estado do contacto (online/offline)

Observe que muitos aplicativos terão notificações de prioridade diferente ao longo de seu ciclo de vida. Como a prioridade é definida por notificação, isso não é um problema. Um aplicativo VoIP pode enviar uma notificação de alta prioridade para uma chamada recebida e, em seguida, segui-la com uma notificação de baixa prioridade quando um contato fica online.

Definição da prioridade

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. Este é um valor inteiro entre 1 e 4 que mapeia para uma prioridade:

Nome da prioridade X-WNS-PRIORITY Valor Padrão para:
High 1 Toasts
Medium 2 Azulejos e Emblemas
Low 3 Raw

Para ser compatível com versões anteriores, não é necessário definir uma prioridade. Caso um aplicativo não defina a prioridade de suas notificações, o sistema fornecerá uma prioridade padrão. Os padrões são mostrados no gráfico acima e correspondem ao comportamento das versões existentes do Windows.

Lista detalhada do comportamento da área de trabalho

Se você estiver enviando seu aplicativo em muitos SKUs diferentes do Windows, normalmente é melhor seguir o gráfico na seção acima.

Comportamentos recomendados mais específicos para cada prioridade estão listados abaixo. Isso não é uma garantia de que cada dispositivo funcionará exatamente de acordo com o gráfico. Os OEMs são livres para configurar o comportamento de forma diferente, mas a maioria está próxima desse gráfico.

Estado do Dispositivo PRIORIDADE: Alta PRIORIDADE: Médio PRIORIDADE: Baixa PRIORIDADE: Muito baixa
Ecrã ligado OU conectado à corrente Deliver Deliver Deliver Deliver
Ecrã desligado E a funcionar com bateria Deliver Se o usuário estiver isento: entregar Else: cache Se o utilizador estiver isento: entregar Caso contrário: armazenar em cache * Cache
Economia de bateria ativada Se o usuário estiver isento: entregar Else: cache Se o usuário estiver isento: entregar Else: cache Se o usuário estiver isento: entregar Else: cache Cache
Na bateria + economia de bateria ativada + tela desligada Se o usuário estiver isento: entregar Else: cache Se o usuário estiver isento: entregar Else: cache Se o usuário estiver isento: entregar Else: cache Cache

Observe que as notificações de baixa prioridade serão entregues por padrão para tela desligada e bateria apenas para dispositivos baseados no Windows Phone. Isso é para manter a compatibilidade com a política MPNS preexistente. Observe também que a quarta e a quinta linhas são as mesmas, apenas mencionando cenários diferentes.

Para isentar um aplicativo na economia de bateria, os usuários devem ir para "Uso da bateria por aplicativo" em Configurações e selecionar "Permitir que o aplicativo execute tarefas em segundo plano". Essa seleção de usuário isenta o aplicativo da economia de bateria para notificações de alta, média e baixa prioridade. Você também pode chamar a API BackgroundExecutionManager para solicitar programaticamente a permissão do usuário.