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.
Ligue o Windows
À medida que 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 os aplicativos consumirem mais energia do que o valor que fornecem, os usuários poderão desinstalá-los. Embora o sistema operacional Windows reduza o uso de energia da bateria sempre que possível, é responsabilidade do aplicativo funcionar com eficiência.
As prioridades do WNS são uma maneira 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 aguardar 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 são mais valiosas para o usuário e para o aplicativo.
Modos de energia no dispositivo
Cada dispositivo Windows opera por meio 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, as operações de sincronização ou não críticas de tempo podem ser concluídas.
O Windows não sabe quais notificações são importantes para qualquer usuário ou aplicativo, portanto, o sistema depende totalmente de aplicativos para definir a prioridade certa para suas notificações.
Prioridades
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 instantânea) e quais podem esperar (por exemplo, atualizações de fotos de contatos).
As prioridades são:
Prioridade | Substituição de usuário | Descrição | Exemplo |
---|---|---|---|
Alto | 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 em que o dispositivo possa receber notificações. Coisas como chamadas VoIP ou alertas críticos que devem ativar o dispositivo se enquadram nessa categoria. | Chamadas VoIP, alertas de tempo crítico |
Médio | 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. | Essas 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 sendo executados em segundo plano. | Sincronização de conta de email secundária, atualizações de bloco dinâmico. |
Baixo | 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 usuário está usando 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 faça login ou conecte seu dispositivo. | Status do contato (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, acompanhá-la com uma de baixa prioridade quando um contato ficar online.
Definindo a 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 | Valor X-Wns-PRIORITY | Padrão para: |
---|---|---|
Alto | 1 | Brindes |
Médio | 2 | Blocos e emblemas |
Baixo | 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.
Listagem 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édia | PRIORIDADE: Baixa | PRIORIDADE: Muito baixa |
---|---|---|---|---|
Tela ligada OU conectada | Entregar | Entregar | Entregar | Entregar |
Tela desligada E ligada à bateria | Entregar | Se o usuário estiver isento: entregue Else: cache | Se o usuário for isento: entregar Else: cache * | Cache |
Economia de bateria ativada | Se o usuário estiver isento: entregue Else: cache | Se o usuário estiver isento: entregue Else: cache | Se o usuário estiver isento: entregue Else: cache | Cache |
Bateria ligada + economia de bateria ativada + tela desligada | Se o usuário estiver isento: entregue Else: cache | Se o usuário estiver isento: entregue Else: cache | Se o usuário estiver isento: entregue 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 em 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 chamando 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.
Tópicos relacionados
Windows developer