Prioridades de notificação do WNS
Ao definir a prioridade de uma notificação com um cabeçalho simples para mensagens POST do WNS, você pode controlar como as notificações são entregues em situações sensíveis à bateria.
Ligar o Windows
À medida que mais usuários estão trabalhando apenas em dispositivos movidos a 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 fornecido, os usuários poderão desinstalar os aplicativos. Embora o sistema operacional Windows reduza o uso de energia na bateria sempre que possível, é responsabilidade do aplicativo trabalhar com eficiência.
As prioridades do WNS são uma maneira de tirar 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 energia. Com essas dicas, o sistema pode fornecer as notificações na hora exata em que elas são as mais valiosas para o usuário e 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 estiver ativado, todas as notificações deverão ser entregues. No modo de economia de bateria, somente as notificações mais importantes devem ser entregues. Enquanto o dispositivo estiver conectado, as operações críticas de sincronização ou não 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 dos aplicativos para definir a prioridade certa para suas notificações.
Prioridades
Há quatro prioridades disponíveis para um aplicativo usar ao enviar notificações por 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 aguardar (por exemplo, atualizações de fotos de contato).
As prioridades são:
Prioridade | Substituição do 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. Itens como chamadas VoIP ou alertas críticos que devem ativar o dispositivo se enquadram nessa categoria. | Chamadas VoIP, alertas críticos de tempo |
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 em execução em segundo plano. | Sincronização de conta 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 processados até que o usuário entre ou conecte seu dispositivo. | Entrar em contato com status (online/offline) |
Observe que muitos aplicativos terão notificações de prioridade diferente durante todo o 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 de entrada e, em seguida, segui-la com uma de baixa prioridade quando um contato fica 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
. Esse é um valor inteiro entre 1 e 4 que é mapeado para uma prioridade:
Nome da prioridade | Valor X-WNS-PRIORITY | Padrão para: |
---|---|---|
Alta | 1 | Notificações do sistema |
Médio | 2 | Blocos e selos |
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 vários 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. Essa 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 baixo |
---|---|---|---|---|
Tela Ativada OU conectada | Fornecimento | Fornecimento | Fornecimento | Fornecimento |
Tela Desativada E na bateria | Fornecimento | Se o usuário estiver isento: entregar Caso contrário: cache | Se o usuário estiver isento: entregar Caso contrário: cache * | Cache |
Economia de bateria habilitada | Se o usuário estiver isento: entregar Caso contrário: cache | Se o usuário estiver isento: entregar Caso contrário: cache | Se o usuário estiver isento: entregar Caso contrário: cache | Cache |
Na bateria + economia de bateria habilitada + tela desativada | Se o usuário estiver isento: entregar Caso contrário: cache | Se o usuário estiver isento: entregar Caso contrário: cache | Se o usuário estiver isento: entregar Caso contrário: cache | Cache |
Observe que as notificações de baixa prioridade serão entregues por padrão para a tela desligada e bateria somente para dispositivos baseados em Windows Phone. Isso é para a compatibilidade principal com a política MPNS preexistante. 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 o "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
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de