WNS 알림 우선 순위

간단한 헤더를 사용하여 알림의 우선 순위를 WNS POST 메시지로 설정하면 배터리가 중요한 상황에서 알림이 전달되는 방식을 제어할 수 있습니다.

Windows에서 전원 켜기

더 많은 사용자가 배터리 전원 공급 디바이스에서만 작업하고 있기 때문에 전원 사용량을 최소화하는 것이 모든 앱에 대한 표준 요구 사항이 되었습니다. 앱이 제공하는 값보다 더 많은 에너지를 소비하는 경우 앱을 제거할 수 있습니다. Windows 운영 체제는 가능한 경우 배터리의 전원 사용량을 줄이지만 앱은 효율적으로 작동해야 하는 책임을 안고 있습니다.

WNS 우선 순위는 중요하지 않은 작업을 배터리에서 제거하는 방법 중 하나 입니다. WNS 우선 순위는 즉시 전달되어야 하는 알림과 디바이스가 전원에 연결될 때까지 대기할 수 있는 알림을 시스템에 알려줍니다. 이러한 힌트를 통해 시스템에서 사용자와 앱 모두에 가장 중요한 정확한 시간에 알림을 제공할 수 있습니다.

디바이스의 전원 모드

모든 Windows 디바이스는 다양한 전원 모드(배터리, 배터리 절약 모드 및 충전)를 통해 작동하며, 사용자는 다양한 전원 모드의 앱에서 다른 동작을 기대합니다. 디바이스가 켜지면 모든 알림이 전달되어야 합니다. 배터리 절약 모드 모드에서는 가장 중요한 알림만 전달되어야 합니다. 디바이스가 연결되어 있는 동안 동기화 또는 시간이 중요하지 않은 작업을 완료할 수 있습니다.

Windows에서는 사용자 또는 앱에 어떤 알림이 중요한지 알지 못합니다. 시스템은 앱에 전적으로 의존하여 알림에 대한 올바른 우선 순위를 설정합니다.

우선 순위

푸시 알림을 보낼 때 앱에서 사용할 수 있는 네 가지 우선 순위가 있습니다. 우선 순위는 개별 알림에 설정되며, 즉시 전달해야 하는 알림(예: IM 메시지) 및 대기할 수 있는 알림(예: 사진 업데이트 문의)을 선택할 수 있습니다.

우선 순위는 다음과 같습니다.

우선 순위 사용자 재정의 설명 예제
높음 예 – 사용자가 앱의 모든 알림을 차단하거나 앱이 배터리 절약 모드 모드에서 제한되지 않도록 방지할 수 있습니다. 디바이스가 알림을 받을 수 있는 모든 상황에서 바로 전달해야 하는 가장 중요한 알림입니다. 디바이스의 절전 모드를 활성화해야 하는 VoIP 호출 또는 중요한 경고와 같은 항목이 이러한 카테고리에 속합니다. VoIP 호출, 시간 - 위험 경고
중간 예 – 사용자가 앱의 모든 알림을 차단하거나 앱이 배터리 절약 모드 모드에서 제한되지 않도록 방지할 수 있습니다. 이러한 항목은 중요하지 않은 항목이며, 즉시 발생할 필요가 없지만 백그라운드에서 실행되지 않는 경우 사용자에게 불편을 줄 수 있습니다. 여기에는 보조 이메일 계정 동기화, live tile 업데이트가 있습니다.
낮음 예 – 사용자가 앱의 모든 알림을 차단하거나 앱이 배터리 절약 모드 모드에서 제한되지 않도록 방지할 수 있습니다. 사용자가 디바이스를 사용하거나 백그라운드 활동이 적합한 경우에만 적합한 알림입니다. 사용자가 디바이스에 로그인하거나 플러그인할 때까지 캐시되고 처리되지 않습니다. 연락처 상태(온라인/오프라인)

많은 앱은 수명 주기 동안 서로 다른 우선 순위에 대한 알림을 받게 됩니다. 우선 순위는 알림별로 설정되므로 문제가 되지 않습니다. VoIP 앱은 수신되는 통화에 대해 높은 우선 순위 알림을 보낸 후, 연락처가 온라인 상태가 되면 낮은 우선 순위 알림을 보낼 수 있습니다.

우선 순위 설정

알림 요청의 우선 순위 설정은 POST 요청 추가 헤더인 X-WNS-PRIORITY을(를) 통해 수행됩니다. 우선 순위에 매핑되는 1에서 4 사이의 정수 값입니다.

우선 순위 이름 X-WNS-PRIORITY 값 다음에 대한 기본값
높음 1 토스트
중간 2 타일 및 배지
낮음 3 로우(Raw)

이전 버전과 호환하려면 우선 순위를 설정하지 않아도 됩니다. 앱이 알림의 우선 순위를 설정하지 않는 경우, 시스템에서 기본 우선 순위를 제공합니다. 기본값은 위의 차트에 표시되며, 이는 기존 버전의 Windows 동작과 일치합니다.

데스크톱 동작의 자세한 목록

Windows의 다양한 SKU에 앱을 전달하는 경우 일반적으로 위 섹션의 차트를 따르는 것이 가장 좋습니다.

각 우선 순위에 대한 보다 구체적인 권장 동작은 다음과 같습니다. 이는 각 디바이스가 차트에 따라 정확하게 작동함을 의미하는 것은 아닙니다. OEM은 동작을 다르게 구성할 수 있지만 대부분은 이 차트에 가깝습니다.

디바이스 상태 우선 순위: 높음 우선 순위: 보통 우선 순위: 낮음 우선 순위: 매우 낮음
화면 켜기 또는 연결되어 있음 전달 전달 전달 전달
화면 끄기 및 배터리 사용 전달 사용자가 제외된 경우: 다른 곳으로 전달: 캐시 사용자가 제외된 경우: 다른 곳으로 전달: 캐시 * 캐시
배터리 절약 모드 활성화 사용자가 제외된 경우: 다른 곳으로 전달: 캐시 사용자가 제외된 경우: 다른 곳으로 전달: 캐시 사용자가 제외된 경우: 다른 곳으로 전달: 캐시 캐시
배터리 사용 + 배터리 절약 모드 활성화 + 화면 끄기 사용자가 제외된 경우: 다른 곳으로 전달: 캐시 사용자가 제외된 경우: 다른 곳으로 전달: 캐시 사용자가 제외된 경우: 다른 곳으로 전달: 캐시 캐시

우선 순위가 낮은 알림은 기본적으로 화면이 꺼져 있고 배터리는 Windows Phone 기반 디바이스에만 전달됩니다. 이는 기존 MPNS 정책과의 호환성을 위한 것입니다. 또한 네 번째 및 다섯 번째 행은 서로 다른 시나리오를 호출하는 것과 동일합니다.

배터리 절약 모드 앱을 제외하려면 사용자가 설정에서 '앱별 배터리 사용량'으로 이동하여 '앱이 백그라운드 작업을 실행하도록 허용'을 선택해야 합니다. 이 사용자 선택은 높음, 보통 및 낮은 우선 순위 알림에 대한 배터리 절약 모드 앱을 제외합니다. BackgroundExecutionManager API를 호출하여 프로그래밍함으로써 사용자의 권한을 요청할 수도 있습니다.