WNS 通知の優先度WNS Notification Priorities

単純なヘッダーを使用してメッセージを WNS に送信することで、通知の優先順位を設定することにより、バッテリを使用する状況での通知の配信方法を制御できます。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 の優先順位は、重要でない作業をバッテリから移動する方法の1つです。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 説明Description 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
MediumMedium はい–ユーザーはアプリからのすべての通知をブロックしたり、アプリがバッテリ節約モードで調整されないようにしたりすることができます。Yes – user can block all notifications from an app OR can prevent an app from being throttled in battery saver mode. これらは重要なことではなく、すぐに実行する必要がないものですが、ユーザーがバックグラウンドで実行されていない場合は annoyed になります。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 ユーザーが除外する場合: 他のユーザーを配信: batchIf user exempted: deliver Else: batch ユーザーが除外する場合: 他のものを配信: キャッシュ *If user exempted: deliver Else: cache * キャッシュCache
バッテリ節約の有効化Battery Saver enabled ユーザーが除外する場合: 他のものを配信する場合: キャッシュIf user exempted: deliver Else: cache ユーザーが除外する場合: 他のものを配信する場合: キャッシュIf user exempted: deliver Else: cache ユーザーが除外する場合: 他のものを配信する場合: キャッシュIf user exempted: deliver Else: cache キャッシュCache
バッテリ使用時 + バッテリ節約有効 + 画面オフOn battery + battery saver enabled + screen off ユーザーが除外する場合: 他のものを配信する場合: キャッシュIf user exempted: deliver Else: cache ユーザーが除外する場合: 他のものを配信する場合: キャッシュIf user exempted: deliver 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 ポリシーとの互換性を維持するためのものです。This is to maintian compatibility with preexisting MPNS policy. また、4番目と5番目の行は同じであるため、さまざまなシナリオを呼び出します。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.