Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Задав приоритет уведомления с простым заголовком для сообщений WNS POST, вы можете управлять доставкой уведомлений в чувствительных к батарее ситуациях.
Включить Windows
Поскольку больше пользователей работают только на устройствах с питанием от батареи, минимизация использования питания стала стандартным требованием для всех приложений. Если приложения потребляют больше энергии, чем предоставленные им значения, пользователи могут удалить приложения. Хотя операционная система Windows снижает потребление энергии на батарее по возможности, приложение несет ответственность за эффективную работу.
Приоритеты WNS — это один из способов разгрузить аккумулятор от некритической работы. Приоритеты WNS сообщают системе, какие уведомления должны быть доставлены мгновенно и которые могут ждать, пока устройство не будет подключено к источнику питания. С помощью этих подсказок система может доставлять уведомления точное время, которое они являются наиболее ценными как для пользователя, так и для приложения.
Режимы питания на устройстве
Каждое устройство Windows работает с помощью различных режимов питания (батареи, экономии батареи и заряда), а пользователи ожидают различные действия от приложений в разных режимах питания. Когда устройство подключено, все уведомления должны быть доставлены. В режиме экономии батареи необходимо доставлять только наиболее важные уведомления. Когда устройство подключено, синхронизация или некритичные операции могут быть выполнены.
Windows не знает, какие уведомления важны для любого пользователя или приложения, поэтому система полностью зависит от приложений, чтобы задать правильный приоритет для их уведомлений.
Priorities
При отправке push-уведомлений приложение может использовать четыре приоритета. Приоритет задается для отдельных уведомлений, что позволяет выбрать, какие уведомления должны быть доставлены мгновенно (например, сообщение обмена мгновенными сообщениями) и которые могут ждать (например, контактные обновления фотографий).
Приоритеты:
| Priority | Пользователь может переопределять значение | Description | Example |
|---|---|---|---|
| High | Да. Пользователь может заблокировать все уведомления из приложения ИЛИ предотвратить регулирование приложения в режиме экономии батареи. | Наиболее важные уведомления, которые должны быть доставлены сразу в любом случае, когда устройство может получать уведомления. Такие вещи, как вызовы VoIP или критические оповещения, которые должны разбудить устройство, относятся к этой категории. | Вызовы VoIP, срочные оповещения |
| Medium | Да. Пользователь может заблокировать все уведомления из приложения ИЛИ предотвратить регулирование приложения в режиме экономии батареи. | Это вещи, которые не так важны, вещи, которые не должны произойти сразу, но пользователи будут раздражаются, если они не работают в фоновом режиме. | Синхронизация дополнительных учетных записей электронной почты, динамические обновления плиток. |
| Low | Да. Пользователь может заблокировать все уведомления из приложения ИЛИ предотвратить регулирование приложения в режиме экономии батареи. | Уведомления, которые имеет смысл только в том случае, если пользователь использует устройство или когда фоновое действие имеет смысл. Они кэшируются и не обрабатываются до тех пор, пока пользователь не войдет в систему или не подключается к устройству. | Состояние контакта (в сети или в автономном режиме) |
Обратите внимание, что многие приложения будут иметь уведомления о разных приоритетах на протяжении всего жизненного цикла. Так как приоритет задан на основе каждого уведомления, это не проблема. Приложение VoIP может отправить уведомление с высоким приоритетом для входящего звонка, а затем отправить уведомление с низким приоритетом, когда контакт появляется в сети.
Установка приоритета
Установка приоритета запроса на уведомление выполняется через дополнительный заголовок POST-запроса, X-WNS-PRIORITY. Это целочисленное значение от 1 до 4, которое сопоставляется с приоритетом:
| Имя приоритета | Значение X-WNS-PRIORITY | По умолчанию для: |
|---|---|---|
| High | 1 | Toasts |
| Medium | 2 | Плитки и значки |
| Low | 3 | Raw |
Чтобы быть обратно совместимым, установка приоритета не требуется. Если приложение не задает приоритет своих уведомлений, система предоставит приоритет по умолчанию. Значения по умолчанию отображаются на приведенной выше диаграмме и соответствуют поведению существующих версий Windows.
Подробное описание поведения настольного компьютера
Если вы отправляете приложение по нескольким различным номерам SKU Windows, обычно рекомендуется следовать диаграмме в приведенном выше разделе.
Ниже перечислены более конкретные рекомендуемые варианты поведения для каждого приоритета. Это не гарантирует, что каждое устройство будет работать точно в соответствии с диаграммой. Производители оригинального оборудования могут свободно настраивать поведение по-разному, но большинство из них придерживаются данной схемы.
| Состояние устройства | ПРИОРИТЕТ: Высокий | ПРИОРИТЕТ: средний | ПРИОРИТЕТ: низкий | ПРИОРИТЕТ: очень низкий |
|---|---|---|---|---|
| Экран включен или подключен | Deliver | Deliver | Deliver | Deliver |
| Экран выключен и работает на батарее | Deliver | Если пользователь освобожден: доставить, иначе: кэшировать | Если пользователь исключен: доставить Иначе: кэшировать * | Cache |
| Включена экономия батареи | Если пользователь освобожден: доставить, иначе: кэшировать | Если пользователь освобожден: доставить, иначе: кэшировать | Если пользователь освобожден: доставить, иначе: кэшировать | Cache |
| В батарее + экономия батареи включена + экран выключен | Если пользователь освобожден: доставить, иначе: кэшировать | Если пользователь освобожден: доставить, иначе: кэшировать | Если пользователь освобожден: доставить, иначе: кэшировать | Cache |
Обратите внимание, что уведомления с низким приоритетом будут доставляться по умолчанию для выключения экрана и батареи только для устройств на основе Windows Phone. Это позволяет обеспечить совместимость с предварительной политикой MPNS. Кроме того, обратите внимание, что четвёртая и пятая строки одинаковы, но обозначают разные сценарии.
Чтобы исключить приложение в экономии батареи, пользователи должны перейти к разделу "Использование батареи по приложению" в параметрах и выбрать "Разрешить приложению выполнять фоновые задачи". Этот выбор пользователя исключает приложение из экономии батареи для уведомлений с высоким, средним и низким приоритетом. Вы также можете вызвать API BackgroundExecutionManager , чтобы программно запрашивать разрешение пользователя.
Связанные темы
Windows developer