WNS 알림 우선 순위WNS Notification Priorities

간단한 헤더를 사용 하 여 알림의 우선 순위를 WNS POST 메시지로 설정 하 여 배터리 인식 상황에서 알림이 배달 되는 방식을 제어할 수 있습니다.By setting a notification's priority with a simple header to WNS POST messages, you can control how notifications are delivered in battery sensitive situations.

Windows 전원 켜기Power on Windows

더 많은 사용자가 배터리 구동 장치 에서만 작업 하는 경우 전원 사용을 최소화 하는 것이 모든 앱의 표준 요구 사항이 됩니다.As more users are working only on battery powered devices, minimizing power usage has become a standard requirement for all apps. 앱에서 제공 하는 값 보다 많은 에너지를 사용 하는 경우 사용자가 앱을 제거할 수 있습니다.If apps consume more energy than the value they provide, users might uninstall the apps. Windows 운영 체제에서 가능한 경우 배터리의 전원 사용을 줄이는 동시에 앱의 업무를 효율적으로 수행 해야 합니다.While the Windows operating system reduces power usage on the battery where possible, it is the app's responsibility to work efficiently.

WNS 우선 순위는 중요 하지 않은 작업을 배터리로 이동 하는 한 가지 방법입니다.WNS priorities is one way to move non-critical work off the battery. WNS 우선 순위는 알림이 즉시 배달 되어야 하는 시스템을 알리고 장치가 전원에 연결 될 때까지 기다릴 수 있습니다.The WNS priorities tell the system which notifications should be delivered instantly and which can wait until the device is plugged into a power source. 이러한 힌트를 사용 하 여 시스템은 사용자와 앱 모두에 가장 가치가 있는 정확한 시간에 알림을 제공할 수 있습니다.With these hints, the system can deliver the notifications the exact time they are the most valuable to both the user and the app.

장치의 전원 모드Power modes on the device

모든 Windows 장치는 다양 한 전원 모드 (배터리, 배터리 절약 및 요금)를 통해 작동 하며, 사용자는 다른 전원 모드의 앱과 다른 동작을 필요로 합니다.Every Windows device operates through a variety of power modes (battery, battery saver, and charge), and users expect different behaviors from apps in different power modes. 장치가 켜져 있으면 모든 알림이 전달 됩니다.When the device is on, all notifications should be delivered. 배터리 절약 모드에서는 가장 중요 한 알림만 전달 해야 합니다.In battery saver mode, only the most important notifications should be delivered. 장치가 연결 되어 있는 동안 동기화 또는 시간이 중요 하지 않은 작업을 완료할 수 있습니다.While the device is plugged in, sync or non-time critical operations can be completed.

Windows에서는 사용자 또는 앱에 중요 한 알림을 알지 못합니다. 따라서 시스템은 전적으로 앱을 사용 하 여 알림을 위한 올바른 우선 순위를 설정 합니다.Windows does not know which notifications are important to any user or app, so the system relies totally on apps to set the right priority for their notifications.

우선 순위Priorities

푸시 알림을 보낼 때 앱에서 사용할 수 있는 4 가지 우선 순위가 있습니다.There are four priorities available for an app to use when sending push notifications. 우선 순위는 개별 알림에 설정 되므로 즉시 배달 해야 하는 알림 (예: IM 메시지) 및 대기할 수 있는 알림 (예: 연락처 사진 업데이트)을 선택할 수 있습니다.The priority is set on individual notifications, allowing you to choose which notifications need to be delivered instantly (for example, an IM message) and which ones can wait (for example, contact photo updates).

우선 순위는 다음과 같습니다.The priorities are:

우선 순위Priority 사용자 재정의User Override DescriptionDescription 예제Example
높음High 예 – 사용자가 앱의 모든 알림을 차단 하거나 앱이 배터리 절약 모드로 제한 되지 않도록 할 수 있습니다.Yes – user can block all notifications from an app OR can prevent an app from being throttled in battery saver mode. 장치에서 알림을 받을 수 있는 경우 즉시 전달 해야 하는 가장 중요 한 알림입니다.The most important notifications that must be delivered right away in any circumstance when the device can receive notifications. VoIP 통화 또는 장치의 절전 모드를 해제 해야 하는 중요 한 경고와 같은 항목은이 범주에 속합니다.Things like VoIP calls or critical alerts that should wake the device fall into this category. VoIP 통화, 시간이 중요 한 경고VoIP calls, time- critical alerts
중간Medium 예 – 사용자가 앱의 모든 알림을 차단 하거나 앱이 배터리 절약 모드로 제한 되지 않도록 할 수 있습니다.Yes – user can block all notifications from an app OR can prevent an app from being throttled in battery saver mode. 이러한 항목은 중요 한 것은 아니지만 바로 수행할 필요는 없지만 사용자가 백그라운드에서 실행 되지 않는 경우에는 표정이 됩니다.These are things that are not as important, things that don’t need to happen right away, but users would be annoyed if they are not running in the background. 보조 메일 계정 동기화, 라이브 타일 업데이트Secondary Email account sync, live tile updates.
낮음Low 예 – 사용자가 앱의 모든 알림을 차단 하거나 앱이 배터리 절약 모드로 제한 되지 않도록 할 수 있습니다.Yes – user can block all notifications from an app OR can prevent an app from being throttled in battery saver mode. 사용자가 장치를 사용 하거나 백그라운드 작업을 수행 하는 경우에만 의미가 있는 알림입니다.Notifications that only make sense when the user is using the device or when background activity makes sense. 이러한 캐시는 사용자가 장치에 로그인 하거나 장치에 연결 될 때까지 처리 되지 않습니다.These are cached and not processed until the user signs in or plugs in their device. 연락처 상태 (온라인/오프 라인)Contact status (online/offline)
매우 낮음Very Low 아니요 – 낮은 우선 순위의 알림이 배터리 절약 모드에서 제한 되지 않도록 방지할 수 없습니다.No – It cannot prevent very low priority notifications from being throttled in battery saver mode. 이는 배터리 절약 정책을 재정의할 수 없다는 점을 제외 하 고는 낮은 우선 순위와 거의 동일 합니다.This is almost the same as low priority except users cannot override the battery saver policy. 이러한 알림은 배터리 보호기에서 배달 되지 않습니다.These notifications will never be delivered in battery saver. 동기화 서비스에 대 한 파일 동기화Syncing files for a sync service.

많은 앱에는 수명 주기 전체에서 다른 우선 순위의 알림이 포함 됩니다.Note that many apps will have notifications of different priority throughout their lifecycle. 우선 순위는 알림 별로 설정 되므로 문제가 되지 않습니다.Since the priority is set on a per-notification basis, this isn’t an issue. VoIP 앱은 들어오는 호출에 대 한 높은 우선 순위 알림을 보낸 다음, 연락처가 온라인 상태가 되 면 낮은 우선 순위의 알림을 수행할 수 있습니다.A VoIP app can send a high priority notification for an incoming call and then follow it up with a low priority one when a contact comes online.

우선 순위 설정Setting the priority

알림 요청에 우선 순위를 설정 하는 작업은 POST 요청에서 추가 헤더를 통해 수행 됩니다 X-WNS-PRIORITY .Setting the priority on the notification request is done through an additional header on the POST request, X-WNS-PRIORITY. 우선 순위에 매핑되는 1에서 4 사이의 정수 값입니다.This is an integer value between 1 and 4 which maps to a priority:

우선 순위 이름Priority Name X WNS-우선 순위 값X-WNS-PRIORITY Value 기본값:Default for:
높음High 11 알림을Toasts
중간Meduim 22 타일 및 배지Tiles and Badges
낮음Low 33 RawRaw
매우 낮음Very Low 44

이전 버전과 호환 되려면 우선 순위를 설정 하지 않아도 됩니다.To be backward compatible, setting a priority is not required. 앱이 알림의 우선 순위를 설정 하지 않은 경우 시스템에서 기본 우선 순위를 제공 합니다.In case an app doesn’t set the priority of their notifications, the system will provide a default priority. 기본값은 위의 차트에 표시 되며 기존 버전의 Windows 동작과 일치 합니다.The defaults are shown in the chart above and match the behavior of existing versions of Windows.

자세한 데스크톱 동작 목록Detailed listing of desktop behavior

응용 프로그램을 다양 한 Windows Sku에서 제공 하는 경우 일반적으로 위의 섹션에서 차트를 따르는 것이 좋습니다.If you are shipping your app across many different SKUs of Windows, it is normally best to follow the chart in the above section.

각 우선 순위에 대 한 보다 구체적인 권장 동작이 아래에 나열 되어 있습니다.More specific recommended behaviors for each priority are listed below. 이는 각 장치가 차트에 따라 정확 하 게 작동 하는 것을 보장 하지는 않습니다.This is not a guarantee that each device will work exactly according to the chart. Oem은 동작을 다르게 구성할 수 있지만 대부분은이 차트에 가깝습니다.OEMs are free to configure the behavior differently, but most are close to this chart.

디바이스 상태Device State 우선 순위: 높음PRIORITY: High 우선 순위: 중형PRIORITY: Medium 우선 순위: 낮음PRIORITY: Low 우선 순위: 매우 낮음PRIORITY: Very Low
화면 켜기 또는 연결 됨Screen On OR plugged in 제공Deliver 제공Deliver 제공Deliver 제공Deliver
화면 끄기 및 배터리 켜기Screen Off AND on battery 제공Deliver 사용자가 제외 된 경우: 다른 사용자: 일괄 처리If user exempted: deliver Else: batch 사용자가 제외 된 경우: 다른 사용자: cache *를 제공 합니다.If user exempted: deliver Else: cache * 캐시Cache
배터리 절약 사용Battery Saver enabled 사용자가 제외 된 경우: Else: cache를 제공 합니다.If user exempted: deliver Else: cache 사용자가 제외 된 경우: Else: cache를 제공 합니다.If user exempted: deliver Else: cache 사용자가 제외 된 경우: Else: cache를 제공 합니다.If user exempted: deliver Else: cache 캐시Cache
배터리 사용 + 배터리 절약 사용 + 화면 끄기On battery + battery saver enabled + screen off 사용자가 제외 된 경우: Else: cache를 제공 합니다.If user exempted: deliver Else: cache 사용자가 제외 된 경우: Else: cache를 제공 합니다.If user exempted: deliver Else: cache 사용자가 제외 된 경우: Else: cache를 제공 합니다.If user exempted: deliver Else: cache 캐시Cache

낮은 우선 순위 알림은 기본적으로 화면 끄기와 Windows Phone 기반 장치에 대해서만 배터리에 대해 제공 됩니다.Note that low priority notifications will be delivered by default for screen off and battery only for Windows Phone based devices. 이는 기존 MPNS 정책과 maintian 호환성을 위한 것입니다.This is to maintian compatibility with preexisting MPNS policy. 또한 네 번째와 다섯 번째 행은 동일 하지만 다른 시나리오를 호출 하는 것입니다.Also note that the fourth and fifth rows are the same, just calling out different scenarios.

배터리 보호기에서 앱을 제외 하려면 사용자가 설정에서 "앱의 배터리 사용"으로 이동 하 고 "앱에서 백그라운드 작업을 실행 하도록 허용"을 선택 해야 합니다.To exempt an app in battery saver, users must go to the "Battery Usage by App" in Settings and select "Allow the app to run background tasks." 이 사용자 선택은 응용 프로그램을 높음, 중간 및 낮은 우선 순위의 알림에 대 한 배터리 보호기에서 제외 합니다.This user selection exempts the app from battery saver for high, medium, and low priority notifications. BACKGROUNDEXECUTIONMANAGER API 를 호출 하 여 사용자의 권한을 프로그래밍 방식으로 요청할 수도 있습니다.You can also call BackgroundExecutionManager API to programatically ask for the user's permission.